/* Copyright (C) 2003-2011 JabRef contributors.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package net.sf.jabref;
import net.sf.jabref.gui.FileDialogs;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.*;
/**
* Action used to produce a "Browse" button for one of the text fields.
*/
public class BrowseAction extends AbstractAction implements ActionListener {
private static final long serialVersionUID = 3007593430933681310L;
JComponent focusTarget = null;
JFrame frame=null;
//JDialog dialog=null;
JTextField comp;
boolean dir;
public BrowseAction(JFrame frame, JTextField tc, boolean dir) {
super(Globals.lang("Browse"));
this.frame = frame;
this.dir = dir;
comp = tc;
}
/*public BrowseAction(JDialog dialog, JTextField tc, boolean dir) {
super(Globals.lang("Browse"));
this.dialog = dialog;
this.dir = dir;
comp = tc;
} */
public void setFocusTarget(JComponent focusTarget) {
this.focusTarget = focusTarget;
}
public void actionPerformed(ActionEvent e) {
String chosen = null;
if (dir)
chosen = FileDialogs.getNewDir(frame, new File(comp.getText()), Globals.NONE,
JFileChooser.OPEN_DIALOG, false);
else
chosen = FileDialogs.getNewFile(frame, new File(comp.getText()), Globals.NONE,
JFileChooser.OPEN_DIALOG, false);
if (chosen != null) {
File newFile = new File(chosen);
comp.setText(newFile.getPath());
if (focusTarget != null)
new FocusRequester(focusTarget);
}
}
}