MainMenuBar(MainFrame parent,
Database database) {
this.parent = parent;
this.database = database;
fileMenu = new JMenu();
fileMenu.setText("File");
synchronizeAction = new Synchronize(parent, database);
fileMenu.add(synchronizeAction);
ActionLock.register(synchronizeAction);
changeDeviceAction = new ChangeDevice(parent, database);
fileMenu.add(changeDeviceAction);
ActionLock.register(changeDeviceAction);
exitAction = new Exit(parent);
fileMenu.add(exitAction);
ActionLock.register(exitAction);
this.add(fileMenu);
databaseMenu = new JMenu();
databaseMenu.setText("Database");
backupAction = new BackupDatabase(parent, database);
databaseMenu.add(backupAction);
ActionLock.register(backupAction);
restoreAction = new RestoreDatabase(parent, database);
databaseMenu.add(restoreAction);
ActionLock.register(restoreAction);
createAction = new CreateEmptyDatabase(parent, database);
databaseMenu.add(createAction);
ActionLock.register(createAction);
refreshAction = new RefreshDatabase(parent, database);
databaseMenu.add(refreshAction);
ActionLock.register(refreshAction);
rebuildAction = new RebuildDatabase(parent, database);
databaseMenu.add(rebuildAction);
ActionLock.register(rebuildAction);
sortAction = new SortDatabase(parent, database);
databaseMenu.add(sortAction);
ActionLock.register(sortAction);
infoAction = new DatabaseInfo(parent, database);
databaseMenu.add(infoAction);
ActionLock.register(infoAction);
this.add(databaseMenu);
trackMenu = new JMenu();
trackMenu.setText("Track");
addTrackAction = new AddTrack(parent, database);
trackMenu.add(addTrackAction);
ActionLock.register(addTrackAction);
deleteTrackAction = new DeleteTrack(parent, database);
trackMenu.add(deleteTrackAction);
ActionLock.register(deleteTrackAction);
addTracksToPlaylistAction = new AddTracksToPlaylist(parent, database);
trackMenu.add(addTracksToPlaylistAction);
ActionLock.register(addTracksToPlaylistAction);
playTracksAction = new PlayTracks(parent);
trackMenu.add(playTracksAction);
ActionLock.register(playTracksAction);
this.add(trackMenu);
TrackPopupMenu.setMenu(trackMenu);
optionsMenu = new JMenu();
optionsMenu.setText("Options");
autoSortMenuItem = new JCheckBoxMenuItem();
autoSortMenuItem.setText("Auto Sort");
autoSortMenuItem.setState(true);
autoSortMenuItem.addActionListener(new OptionsAutoSort());
optionsMenu.add(autoSortMenuItem);
ActionLock.register(autoSortMenuItem);
autoBackupMenuItem = new JCheckBoxMenuItem();
autoBackupMenuItem.setText("Auto Backup");
autoBackupMenuItem.setState(NeurosProperties.isAutoBackup());
autoBackupMenuItem.addActionListener(new OptionsAutoBackup());
optionsMenu.add(autoBackupMenuItem);
ActionLock.register(autoBackupMenuItem);
neurosMusicPathMenuItem = new JMenuItem();
neurosMusicPathMenuItem.setText("Neuros Music Path");
neurosMusicPathMenuItem.addActionListener(new OptionsNeurosMusicPath());
optionsMenu.add(neurosMusicPathMenuItem);
ActionLock.register(neurosMusicPathMenuItem);
deleteFileMenuItem = new JCheckBoxMenuItem();
deleteFileMenuItem.setText("Delete File");
deleteFileMenuItem.setState(NeurosProperties.isDeleteFile());
deleteFileMenuItem.addActionListener(new OptionsDeleteFile());
optionsMenu.add(deleteFileMenuItem);
ActionLock.register(deleteFileMenuItem);
allowDuplicatesMenuItem = new JCheckBoxMenuItem();
allowDuplicatesMenuItem.setText("Allow Duplicates");
allowDuplicatesMenuItem.setState(NeurosProperties.allowDuplicates());
allowDuplicatesMenuItem.addActionListener(new OptionsAllowDuplicates());
optionsMenu.add(allowDuplicatesMenuItem);
ActionLock.register(allowDuplicatesMenuItem);
convertExtendedASCIIMenuItem = new JCheckBoxMenuItem();
convertExtendedASCIIMenuItem.setText("Convert Extended ASCII");
convertExtendedASCIIMenuItem.setState(NeurosProperties.isConvertExtendedASCII());
convertExtendedASCIIMenuItem.addActionListener(new OptionsConvertExtendedASCII());
optionsMenu.add(convertExtendedASCIIMenuItem);
ActionLock.register(convertExtendedASCIIMenuItem);
columnChooserMenuItem = new JMenuItem();
columnChooserMenuItem.setText("Column Chooser");
columnChooserMenuItem.addActionListener(new OptionsColumnChooser());
optionsMenu.add(columnChooserMenuItem);
ActionLock.register(columnChooserMenuItem);
highlightTracksMenuItem = new JCheckBoxMenuItem();
highlightTracksMenuItem.setText("HIghlight Queued/Removed tracks");
highlightTracksMenuItem.setState(NeurosProperties.isHighlightTracks());
highlightTracksMenuItem.addActionListener(new OptionsHiglightTracks());
optionsMenu.add(highlightTracksMenuItem);
ActionLock.register(highlightTracksMenuItem);
this.add(optionsMenu);
debugMenu = new JMenu();
debugMenu.setText("Debug");
addTrack1MenuItem = new JMenuItem();
addTrack1MenuItem.setText("Add track 1");
addTrack1MenuItem.addActionListener(new DebugAddTrack1());
debugMenu.add(addTrack1MenuItem);
ActionLock.register(addTrack1MenuItem);
addTrack2MenuItem = new JMenuItem();
addTrack2MenuItem.setText("Add track 2");
addTrack2MenuItem.addActionListener(new DebugAddTrack2());
debugMenu.add(addTrack2MenuItem);
ActionLock.register(addTrack2MenuItem);
addMoreTracksMenuItem = new JMenuItem();
addMoreTracksMenuItem.setText("Add more tracks");
addMoreTracksMenuItem.addActionListener(new DebugAddMoreTracks());
debugMenu.add(addMoreTracksMenuItem);
ActionLock.register(addMoreTracksMenuItem);
addRandomTrackMenuItem = new JMenuItem();
addRandomTrackMenuItem.setText("Add random track");
addRandomTrackMenuItem.addActionListener(new DebugAddRandomTrack());
debugMenu.add(addRandomTrackMenuItem);
ActionLock.register(addRandomTrackMenuItem);
writeDatabaseMenuItem = new JMenuItem();
writeDatabaseMenuItem.setText("Write Database");
writeDatabaseMenuItem.addActionListener(new DebugWriteDatabase());
debugMenu.add(writeDatabaseMenuItem);
ActionLock.register(writeDatabaseMenuItem);
printDatabaseMenuItem = new JMenuItem();
printDatabaseMenuItem.setText("Print Database");
printDatabaseMenuItem.addActionListener(new DebugPrintDatabase());
debugMenu.add(printDatabaseMenuItem);
ActionLock.register(printDatabaseMenuItem);
if (NeurosProperties.isDebug()) {
this.add(debugMenu);
}
helpMenu = new JMenu();
helpMenu.setText("Help");
usersGuideAction = new UsersGuide(parent);
helpMenu.add(usersGuideAction);
aboutAction = new About(parent);
helpMenu.add(aboutAction);
gplLicenseAction = new License(parent);
helpMenu.add(gplLicenseAction);
this.add(helpMenu);
}
|