/[svn]/jsampler/trunk/src/org/jsampler/view/std/JSAddDbInstrumentsFromDirDlg.java
ViewVC logotype

Diff of /jsampler/trunk/src/org/jsampler/view/std/JSAddDbInstrumentsFromDirDlg.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1307 by iliev, Sun Aug 26 14:19:36 2007 UTC revision 1308 by iliev, Tue Aug 28 17:00:19 2007 UTC
# Line 38  import javax.swing.BoxLayout; Line 38  import javax.swing.BoxLayout;
38  import javax.swing.Icon;  import javax.swing.Icon;
39  import javax.swing.JButton;  import javax.swing.JButton;
40  import javax.swing.JCheckBox;  import javax.swing.JCheckBox;
41    import javax.swing.JComboBox;
42  import javax.swing.JFileChooser;  import javax.swing.JFileChooser;
43  import javax.swing.JPanel;  import javax.swing.JPanel;
 import javax.swing.JTextField;  
44  import javax.swing.SpinnerNumberModel;  import javax.swing.SpinnerNumberModel;
45  import javax.swing.SwingUtilities;  import javax.swing.SwingUtilities;
46    
# Line 65  import static org.jsampler.view.std.StdI Line 65  import static org.jsampler.view.std.StdI
65   * @author Grigor Iliev   * @author Grigor Iliev
66   */   */
67  public class JSAddDbInstrumentsFromDirDlg extends OkCancelDialog {  public class JSAddDbInstrumentsFromDirDlg extends OkCancelDialog {
68          private final JTextField tfSource = new JTextField();          private final JComboBox cbSource = new JComboBox();
69          private JButton btnBrowse;          private JButton btnBrowse;
70          private final JCheckBox checkScanSubdirs =          private final JCheckBox checkScanSubdirs =
71                  new JCheckBox(i18n.getLabel("JSAddDbInstrumentsFromDirDlg.checkScanSubdirs"));                  new JCheckBox(i18n.getLabel("JSAddDbInstrumentsFromDirDlg.checkScanSubdirs"));
72          private final JCheckBox checkFlat =          private final JCheckBox checkFlat =
73                  new JCheckBox(i18n.getLabel("JSAddDbInstrumentsFromDirDlg.checkFlat"));                  new JCheckBox(i18n.getLabel("JSAddDbInstrumentsFromDirDlg.checkFlat"));
74                    
75          private final JTextField tfDest = new JTextField();          private final JComboBox cbDest = new JComboBox();
76          private JButton btnBrowseDb;          private JButton btnBrowseDb;
77                    
78          /**          /**
# Line 105  public class JSAddDbInstrumentsFromDirDl Line 105  public class JSAddDbInstrumentsFromDirDl
105                                    
106                  JPanel p2 = new JPanel();                  JPanel p2 = new JPanel();
107                  p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));                  p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));
108                  p2.add(tfSource);                  p2.add(cbSource);
109                  p2.add(Box.createRigidArea(new Dimension(6, 0)));                  p2.add(Box.createRigidArea(new Dimension(6, 0)));
110                  btnBrowse.setToolTipText(i18n.getButtonLabel("browse"));                  btnBrowse.setToolTipText(i18n.getButtonLabel("browse"));
111                  btnBrowse.setMargin(new Insets(0, 0, 0, 0));                  btnBrowse.setMargin(new Insets(0, 0, 0, 0));
# Line 145  public class JSAddDbInstrumentsFromDirDl Line 145  public class JSAddDbInstrumentsFromDirDl
145                                    
146                  p2 = new JPanel();                  p2 = new JPanel();
147                  p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));                  p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));
148                  p2.add(tfDest);                  p2.add(cbDest);
149                  p2.add(Box.createRigidArea(new Dimension(6, 0)));                  p2.add(Box.createRigidArea(new Dimension(6, 0)));
150                  btnBrowseDb.setToolTipText(i18n.getButtonLabel("browse"));                  btnBrowseDb.setToolTipText(i18n.getButtonLabel("browse"));
151                  btnBrowseDb.setMargin(new Insets(0, 0, 0, 0));                  btnBrowseDb.setMargin(new Insets(0, 0, 0, 0));
# Line 168  public class JSAddDbInstrumentsFromDirDl Line 168  public class JSAddDbInstrumentsFromDirDl
168                  setMinimumSize(this.getPreferredSize());                  setMinimumSize(this.getPreferredSize());
169                  setResizable(true);                  setResizable(true);
170                                    
                 if(dbDir != null) tfDest.setText(dbDir);  
                   
171                  btnOk.setEnabled(false);                  btnOk.setEnabled(false);
172                  checkScanSubdirs.doClick(0);                  checkScanSubdirs.doClick(0);
173                  checkFlat.doClick(0);                  checkFlat.doClick(0);
174                                    
175                  tfSource.getDocument().addDocumentListener(getHandler());                  cbSource.setEditable(true);
176                  tfDest.getDocument().addDocumentListener(getHandler());                  String[] dirs = preferences().getStringListProperty("recentDirectories");
177                    for(String dir : dirs) cbSource.addItem(dir);
178                    cbSource.setSelectedItem(null);
179                    
180                    cbSource.setPreferredSize (
181                            new Dimension(200, cbSource.getPreferredSize().height)
182                    );
183                    
184                    cbSource.addActionListener(getHandler());
185                    
186                    cbDest.setEditable(true);
187                    dirs = preferences().getStringListProperty("recentDbDirectories");
188                    for(String dir : dirs) cbDest.addItem(dir);
189                    cbDest.setSelectedItem(dbDir);
190                    
191                    
192                    cbDest.setPreferredSize (
193                            new Dimension(200, cbDest.getPreferredSize().height)
194                    );
195                    
196                    cbDest.addActionListener(getHandler());
197                                    
198                  btnBrowse.addActionListener(new ActionListener() {                  btnBrowse.addActionListener(new ActionListener() {
199                          public void                          public void
# Line 186  public class JSAddDbInstrumentsFromDirDl Line 204  public class JSAddDbInstrumentsFromDirDl
204                                    
205                  btnBrowseDb.addActionListener(new ActionListener() {                  btnBrowseDb.addActionListener(new ActionListener() {
206                          public void                          public void
207                          actionPerformed(ActionEvent e) {                          actionPerformed(ActionEvent e) { onBrowseDb(); }
                                 JSDbDirectoryChooser dlg;  
                                 dlg = new JSDbDirectoryChooser(JSAddDbInstrumentsFromDirDlg.this);  
                                 String s = tfDest.getText();  
                                 if(s.length() > 0) dlg.setSelectedDirectory(s);  
                                 dlg.setVisible(true);  
                                 if(dlg.isCancelled()) return;  
                                 tfDest.setText(dlg.getSelectedDirectory());  
                         }  
208                  });                  });
209          }          }
210                    
# Line 209  public class JSAddDbInstrumentsFromDirDl Line 219  public class JSAddDbInstrumentsFromDirDl
219                  int result = fc.showOpenDialog(this);                  int result = fc.showOpenDialog(this);
220                  if(result != JFileChooser.APPROVE_OPTION) return;                  if(result != JFileChooser.APPROVE_OPTION) return;
221                                    
222                  tfSource.setText(fc.getSelectedFile().getPath());                  cbSource.setSelectedItem(fc.getSelectedFile().getPath());
223                  path = fc.getCurrentDirectory().getAbsolutePath();                  path = fc.getCurrentDirectory().getAbsolutePath();
224                  preferences().setStringProperty("lastInstrumentLocation", path);                  preferences().setStringProperty("lastInstrumentLocation", path);
225          }          }
226                    
227          private void          private void
228            onBrowseDb() {
229                    JSDbDirectoryChooser dlg;
230                    dlg = new JSDbDirectoryChooser(JSAddDbInstrumentsFromDirDlg.this);
231                    Object o = cbDest.getSelectedItem();
232                    if(o != null && o.toString().length() > 0) dlg.setSelectedDirectory(o.toString());
233                    dlg.setVisible(true);
234                    if(dlg.isCancelled()) return;
235                    cbDest.setSelectedItem(dlg.getSelectedDirectory());
236            }
237            
238            private void
239          updateState() {          updateState() {
240                  boolean b = tfSource.getText().length() != 0 && tfDest.getText().length() != 0;                  Object o = cbSource.getSelectedItem();
241                    Object o2 = cbDest.getSelectedItem();
242                    boolean b = o != null && o.toString().length() > 0;
243                    b = b && o2 != null && o2.toString().length() > 0;
244                  btnOk.setEnabled(b);                  btnOk.setEnabled(b);
245          }          }
246                    
# Line 225  public class JSAddDbInstrumentsFromDirDl Line 249  public class JSAddDbInstrumentsFromDirDl
249                  if(!btnOk.isEnabled()) return;                  if(!btnOk.isEnabled()) return;
250                                    
251                  btnOk.setEnabled(false);                  btnOk.setEnabled(false);
252                  String dbDir = tfDest.getText();                  String dbDir = cbDest.getSelectedItem().toString();
253                  String fsDir = tfSource.getText();                  String fsDir = cbSource.getSelectedItem().toString();
254                  boolean recursive = checkScanSubdirs.isSelected();                  boolean recursive = checkScanSubdirs.isSelected();
255                  boolean flat = !checkFlat.isSelected();                  boolean flat = !checkFlat.isSelected();
256                  if(recursive) runTask(new InstrumentsDb.AddInstruments(dbDir, fsDir, flat));                  if(recursive) runTask(new InstrumentsDb.AddInstruments(dbDir, fsDir, flat));
257                  else runTask(new InstrumentsDb.AddInstrumentsNonrecursive(dbDir, fsDir));                  else runTask(new InstrumentsDb.AddInstrumentsNonrecursive(dbDir, fsDir));
258                                    
259                  //new JSAddDbInstrumentsProgressDlg(null).setVisible(true);                  StdUtils.updateRecentElements("recentDirectories", fsDir);
260                    StdUtils.updateRecentElements("recentDbDirectories", dbDir);
261          }          }
262                    
263          protected void          protected void
# Line 270  public class JSAddDbInstrumentsFromDirDl Line 295  public class JSAddDbInstrumentsFromDirDl
295          private Handler          private Handler
296          getHandler() { return eventHandler; }          getHandler() { return eventHandler; }
297                    
298          private class Handler implements DocumentListener, ItemListener {          private class Handler implements DocumentListener, ActionListener, ItemListener {
299                  // DocumentListener                  // DocumentListener
300                  public void                  public void
301                  insertUpdate(DocumentEvent e) { updateState(); }                  insertUpdate(DocumentEvent e) { updateState(); }
# Line 280  public class JSAddDbInstrumentsFromDirDl Line 305  public class JSAddDbInstrumentsFromDirDl
305                                    
306                  public void                  public void
307                  changedUpdate(DocumentEvent e) { updateState(); }                  changedUpdate(DocumentEvent e) { updateState(); }
308                    ///////
309                    
310                    public void
311                    actionPerformed(ActionEvent e) { updateState(); }
312                                    
313                  public void                  public void
314                  itemStateChanged(ItemEvent e) {                  itemStateChanged(ItemEvent e) {

Legend:
Removed from v.1307  
changed lines
  Added in v.1308

  ViewVC Help
Powered by ViewVC