1 |
/* |
/* |
2 |
* JSampler - a java front-end for LinuxSampler |
* JSampler - a java front-end for LinuxSampler |
3 |
* |
* |
4 |
* Copyright (C) 2005-2007 Grigor Iliev <grigor@grigoriliev.com> |
* Copyright (C) 2005-2008 Grigor Iliev <grigor@grigoriliev.com> |
5 |
* |
* |
6 |
* This file is part of JSampler. |
* This file is part of JSampler. |
7 |
* |
* |
89 |
import org.jsampler.view.InstrumentsDbTableView; |
import org.jsampler.view.InstrumentsDbTableView; |
90 |
import org.jsampler.view.std.JSInstrumentsDbTable; |
import org.jsampler.view.std.JSInstrumentsDbTable; |
91 |
import org.jsampler.view.std.JSInstrumentsDbTree; |
import org.jsampler.view.std.JSInstrumentsDbTree; |
92 |
|
import org.jsampler.view.std.JSLostFilesDlg; |
93 |
|
|
94 |
import org.linuxsampler.lscp.DbDirectoryInfo; |
import org.linuxsampler.lscp.DbDirectoryInfo; |
95 |
import org.linuxsampler.lscp.DbInstrumentInfo; |
import org.linuxsampler.lscp.DbInstrumentInfo; |
105 |
* @author Grigor Iliev |
* @author Grigor Iliev |
106 |
*/ |
*/ |
107 |
public class InstrumentsDbFrame extends JFrame { |
public class InstrumentsDbFrame extends JFrame { |
108 |
|
private final ToolBar toolbar; |
109 |
private final JMenuBar menuBar = new JMenuBar(); |
private final JMenuBar menuBar = new JMenuBar(); |
110 |
private final JSInstrumentsDbTree instrumentsDbTree; |
private final JSInstrumentsDbTree instrumentsDbTree; |
111 |
private final SidePane sidePane; |
private final SidePane sidePane; |
151 |
|
|
152 |
instrumentsDbTree.setSelectedDirectory("/"); |
instrumentsDbTree.setSelectedDirectory("/"); |
153 |
|
|
154 |
getContentPane().add(new ToolbarBar(), BorderLayout.NORTH); |
toolbar = new ToolBar(); |
155 |
|
getContentPane().add(toolbar, BorderLayout.NORTH); |
156 |
|
|
157 |
splitPane = new JSplitPane ( |
splitPane = new JSplitPane ( |
158 |
JSplitPane.HORIZONTAL_SPLIT, |
JSplitPane.HORIZONTAL_SPLIT, |
227 |
} |
} |
228 |
}); |
}); |
229 |
|
|
230 |
|
mi = new JMenuItem(i18n.getMenuLabel("instrumentsdb.actions.checkForLostFiles")); |
231 |
|
m.add(mi); |
232 |
|
mi.addActionListener(new ActionListener() { |
233 |
|
public void |
234 |
|
actionPerformed(ActionEvent e) { |
235 |
|
new JSLostFilesDlg(InstrumentsDbFrame.this).setVisible(true); |
236 |
|
} |
237 |
|
}); |
238 |
|
|
239 |
m.addSeparator(); |
m.addSeparator(); |
240 |
|
|
241 |
loadInstrumentMenu = |
loadInstrumentMenu = |
287 |
|
|
288 |
m.addSeparator(); |
m.addSeparator(); |
289 |
|
|
290 |
|
mi = new JMenuItem(i18n.getMenuLabel("instrumentsdb.edit.find")); |
291 |
|
mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyEvent.CTRL_MASK)); |
292 |
|
m.add(mi); |
293 |
|
mi.addActionListener(new ActionListener() { |
294 |
|
public void |
295 |
|
actionPerformed(ActionEvent e) { |
296 |
|
if(toolbar.btnFind.isSelected()) return; |
297 |
|
|
298 |
|
String path = instrumentsDbTree.getSelectedDirectoryPath(); |
299 |
|
if(path != null) sidePane.searchPage.setSearchPath(path); |
300 |
|
toolbar.btnFind.doClick(0); |
301 |
|
} |
302 |
|
}); |
303 |
|
|
304 |
|
m.addSeparator(); |
305 |
|
|
306 |
mi = new JMenuItem(mainPane.getInstrumentsTable().renameAction); |
mi = new JMenuItem(mainPane.getInstrumentsTable().renameAction); |
307 |
mi.setIcon(null); |
mi.setIcon(null); |
308 |
m.add(mi); |
m.add(mi); |
490 |
} |
} |
491 |
} |
} |
492 |
|
|
493 |
class ToolbarBar extends JToolBar { |
class ToolBar extends JToolBar { |
494 |
private final ToggleButton btnFolders = new ToggleButton(); |
private final ToggleButton btnFolders = new ToggleButton(); |
495 |
private final ToggleButton btnFind = new ToggleButton(); |
private final ToggleButton btnFind = new ToggleButton(); |
496 |
|
|
502 |
|
|
503 |
private final ToolbarButton btnPreferences = new ToolbarButton(); |
private final ToolbarButton btnPreferences = new ToolbarButton(); |
504 |
|
|
505 |
public ToolbarBar() { |
public ToolBar() { |
506 |
super(i18n.getLabel("InstrumentsDbFrame.ToolbarBar.name")); |
super(i18n.getLabel("InstrumentsDbFrame.ToolbarBar.name")); |
507 |
setFloatable(false); |
setFloatable(false); |
508 |
|
|
705 |
int i = preferences().getIntProperty(INSTRUMENTS_DB_FRAME_SORT_ORDER); |
int i = preferences().getIntProperty(INSTRUMENTS_DB_FRAME_SORT_ORDER); |
706 |
boolean descending = i < 0; |
boolean descending = i < 0; |
707 |
if(i < 0) i *= -1; |
if(i < 0) i *= -1; |
708 |
|
i--; |
709 |
|
|
710 |
|
if(i < 0 || i >= instrumentsTable.getModel().getColumnCount()) { |
711 |
|
instrumentsTable.getRowSorter().toggleSortOrder(0); |
712 |
|
CC.getLogger().warning("Unknown table column: " + i); |
713 |
|
} else { |
714 |
|
instrumentsTable.getRowSorter().toggleSortOrder(i); |
715 |
|
if(descending) instrumentsTable.getRowSorter().toggleSortOrder(i); |
716 |
|
} |
717 |
|
|
|
instrumentsTable.getRowSorter().toggleSortOrder(--i); |
|
|
if(descending) instrumentsTable.getRowSorter().toggleSortOrder(i); |
|
718 |
searchResultsNode.setDetached(true); |
searchResultsNode.setDetached(true); |
719 |
|
|
720 |
RowSorterListener l = new RowSorterListener() { |
RowSorterListener l = new RowSorterListener() { |