- /**
- * <pre>
- * Assign specific colors to:
- * Directory
- * Executable file
- * Non executable file
- * </pre>
- */
- public static Color getFileColor(final File file, final boolean selected) {
- if (file.isDirectory()) {
- if (selected) {
- return BUTTON_BG_DIRECTORY_SELECTED;
- } else {
- return BUTTON_BG_DIRECTORY;
- }
- }
-
- if (file.isFile()) {
- if (file.canExecute()) {
- if (selected) {
- return BUTTON_BG_EXECUTABLE_FILE_SELECTED;
- } else {
- return BUTTON_BG_EXECUTABLE_FILE;
- }
- } else {
- if (selected) {
- return BUTTON_BG_NONEXECUTABLE_FILE_SELECTED;
- } else {
- return BUTTON_BG_NONEXECUTABLE_FILE;
- }
- }
- }
-
- if (selected) {
- return BUTTON_BG_LINK_SELECTED;
- } else {
- return BUTTON_BG_LINK;
- }
- }
-
- public static class ButtonMouseListener implements MouseListener {
-
- JButton parentButton;
- Menu parentMenu;
- File file;
-
- public ButtonMouseListener(final JButton button, final Menu parentMenu, final File file) {
- parentButton = button;
- this.parentMenu = parentMenu;
- this.file = file;
- }
-
- @Override
- public void mouseClicked(final MouseEvent e) {
- try {
-
- if (e.getButton() == 1) {
- parentMenu.notifyEventListeners(file);
- }
- if (e.getButton() == 3) {
- parentMenu.notifyAlternativeEventListeners(file);
- }
- } catch (final Exception ex) {
- new ExceptionDialog(ex);
- }
- }
-
- @Override
- public void mouseEntered(final MouseEvent e) {
- try {
- if (parentButton != parentMenu.getSelectedButton()) {
-
- if (parentMenu.getSelectedButton() != null) {
- parentMenu.getSelectedButton().setBackground(getFileColor(parentMenu.getSelectedFile(), false));
- }
-
- parentMenu.setSelected(parentButton, file);
- parentButton.setBackground(getFileColor(file, true));
-
- if (file.isDirectory()) {
- parentMenu.notifyEventListeners(file);
- }
- }
- } catch (final Exception ex) {
- new ExceptionDialog(ex);
- }
- }
-
- @Override
- public void mouseExited(final MouseEvent e) {
- }
-
- @Override
- public void mousePressed(final MouseEvent e) {
- }
-
- @Override
- public void mouseReleased(final MouseEvent e) {
- }
-
- }
-