X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FUserDefinedColours.java;h=6e3a68be104ad7bed96110cb40e435c82a587d07;hb=709f51ae2e2c9e2b8d798300819c7e75b282bcfc;hp=04266bef15dbe02b918988f55c63c6c7613222f2;hpb=2afa9987e7d3276b4525abb28767617732e6e7cf;p=jalview.git diff --git a/src/jalview/gui/UserDefinedColours.java b/src/jalview/gui/UserDefinedColours.java index 04266be..6e3a68b 100755 --- a/src/jalview/gui/UserDefinedColours.java +++ b/src/jalview/gui/UserDefinedColours.java @@ -32,6 +32,7 @@ import jalview.schemes.UserColourScheme; import jalview.util.ColorUtils; import jalview.util.Format; import jalview.util.MessageManager; +import jalview.util.Platform; import jalview.xml.binding.jalview.JalviewUserColours; import jalview.xml.binding.jalview.JalviewUserColours.Colour; import jalview.xml.binding.jalview.ObjectFactory; @@ -68,8 +69,6 @@ public class UserDefinedColours extends GUserDefinedColours private static final Font VERDANA_BOLD_10 = new Font("Verdana", Font.BOLD, 10); - public static final String USER_DEFINED_COLOURS = "USER_DEFINED_COLOURS"; - private static final String LAST_DIRECTORY = "LAST_DIRECTORY"; private static final int MY_FRAME_HEIGHT = 440; @@ -447,7 +446,7 @@ public class UserDefinedColours extends GUserDefinedColours { if (isNoSelectionMade()) { - JvOptionPane.showMessageDialog(Desktop.desktop, + JvOptionPane.showMessageDialog(Desktop.getDesktopPane(), MessageManager .getString("label.no_colour_selection_in_scheme"), MessageManager.getString("label.no_colour_selection_warn"), @@ -484,46 +483,49 @@ public class UserDefinedColours extends GUserDefinedColours protected void warnIfUnsavedChanges() { // BH 2018 no warning in JavaScript TODO - - if (/** @j2sNative true || */ !changedButNotSaved) - { - return; - } - String name = schemeName.getText().trim(); - if (oldColourScheme != null && !"".equals(name) - && name.equals(oldColourScheme.getSchemeName())) - { - String message = MessageManager.formatMessage("label.scheme_changed", - name); - String title = MessageManager.getString("label.save_changes"); - String[] options = new String[] { title, - MessageManager.getString("label.dont_save_changes"), }; - final String question = JvSwingUtils.wrapTooltip(true, message); - int response = JvOptionPane.showOptionDialog(Desktop.desktop, - question, title, JvOptionPane.DEFAULT_OPTION, - JvOptionPane.PLAIN_MESSAGE, null, options, options[0]); - - if (response == 0) + if (!Platform.isJS() && changedButNotSaved) + /** + * Java only + * + * @j2sIgnore + */ + { + String name = schemeName.getText().trim(); + if (oldColourScheme != null && !"".equals(name) + && name.equals(oldColourScheme.getSchemeName())) { - /* - * prompt to save changes to file; if done, - * resets 'changed' flag to false - */ - savebutton_actionPerformed(); - } + String message = MessageManager + .formatMessage("label.scheme_changed", name); + String title = MessageManager.getString("label.save_changes"); + String[] options = new String[] { title, + MessageManager.getString("label.dont_save_changes"), }; + final String question = JvSwingUtils.wrapTooltip(true, message); + int response = JvOptionPane.showOptionDialog(Desktop.getDesktopPane(), + question, title, JvOptionPane.DEFAULT_OPTION, + JvOptionPane.PLAIN_MESSAGE, null, options, options[0]); + + if (response == 0) + { + /* + * prompt to save changes to file; if done, + * resets 'changed' flag to false + */ + savebutton_actionPerformed(); + } - /* - * if user chooses not to save (either in this dialog or in the - * save as dialogs), treat this as a new user defined colour scheme - */ - if (changedButNotSaved) - { /* - * clear scheme name and re-apply as an anonymous scheme + * if user chooses not to save (either in this dialog or in the + * save as dialogs), treat this as a new user defined colour scheme */ - schemeName.setText(""); - applyButton_actionPerformed(); + if (changedButNotSaved) + { + /* + * clear scheme name and re-apply as an anonymous scheme + */ + schemeName.setText(""); + applyButton_actionPerformed(); + } } } } @@ -553,7 +555,7 @@ public class UserDefinedColours extends GUserDefinedColours { if (isNoSelectionMade()) { - JvOptionPane.showMessageDialog(Desktop.desktop, + JvOptionPane.showMessageDialog(Desktop.getDesktopPane(), MessageManager .getString("label.no_colour_selection_in_scheme"), MessageManager.getString("label.no_colour_selection_warn"), @@ -690,7 +692,7 @@ public class UserDefinedColours extends GUserDefinedColours /** * Loads the user-defined colour scheme from the first file listed in property - * "USER_DEFINED_COLOURS". If this fails, returns an all-white colour scheme. + * Preferences.USER_DEFINED_COLOURS. If this fails, returns an all-white colour scheme. * * @return */ @@ -698,7 +700,7 @@ public class UserDefinedColours extends GUserDefinedColours { UserColourScheme ret = null; - String colours = Cache.getProperty(USER_DEFINED_COLOURS); + String colours = Cache.getProperty(Preferences.USER_DEFINED_COLOURS); if (colours != null) { if (colours.indexOf("|") > -1) @@ -737,24 +739,31 @@ public class UserDefinedColours extends GUserDefinedColours String name = schemeName.getText().trim(); if (name.length() < 1) { - JvOptionPane.showInternalMessageDialog(Desktop.desktop, + JvOptionPane.showInternalMessageDialog(Desktop.getDesktopPane(), MessageManager .getString("label.user_colour_scheme_must_have_name"), MessageManager.getString("label.no_name_colour_scheme"), JvOptionPane.WARNING_MESSAGE); } - if (ColourSchemes.getInstance().nameExists(name)) + if (!Platform.isJS() && ColourSchemes.getInstance().nameExists(name)) { - // BH 2018 SwingJS bypasses this question with YES_OPTION - int reply = /** @j2sNative 0 && */ JvOptionPane.showInternalConfirmDialog(Desktop.desktop, - MessageManager.formatMessage( - "label.colour_scheme_exists_overwrite", new Object[] - { name, name }), - MessageManager.getString("label.duplicate_scheme_name"), - JvOptionPane.YES_NO_OPTION); - if (reply != JvOptionPane.YES_OPTION) + /** + * java only + * + * @j2sIgnore + */ { + int reply = JvOptionPane.showInternalConfirmDialog(Desktop.getDesktopPane(), + MessageManager.formatMessage( + "label.colour_scheme_exists_overwrite", new Object[] + { name, name }), + MessageManager.getString("label.duplicate_scheme_name"), + JvOptionPane.YES_NO_OPTION); + if (reply != JvOptionPane.YES_OPTION) + { + return; + } } } @@ -767,24 +776,24 @@ public class UserDefinedColours extends GUserDefinedColours MessageManager.getString("label.save_colour_scheme")); chooser.setToolTipText(MessageManager.getString("action.save")); int option = chooser.showSaveDialog(this); - if (option == JalviewFileChooser.APPROVE_OPTION) - { - File file = chooser.getSelectedFile(); - UserColourScheme updatedScheme = addNewColourScheme(file.getPath()); - saveToFile(file); - changedButNotSaved = false; - - /* - * changes saved - apply to alignment if we are changing - * the currently selected colour scheme; also make the updated - * colours the 'backout' scheme on Cancel - */ - if (oldColourScheme != null - && name.equals(oldColourScheme.getSchemeName())) - { - oldColourScheme = updatedScheme; - applyButton_actionPerformed(); - } + if (option == JalviewFileChooser.APPROVE_OPTION) + { + File file = chooser.getSelectedFile(); + UserColourScheme updatedScheme = addNewColourScheme(file.getPath()); + saveToFile(file); + changedButNotSaved = false; + + /* + * changes saved - apply to alignment if we are changing + * the currently selected colour scheme; also make the updated + * colours the 'backout' scheme on Cancel + */ + if (oldColourScheme != null + && name.equals(oldColourScheme.getSchemeName())) + { + oldColourScheme = updatedScheme; + applyButton_actionPerformed(); + } } } @@ -803,7 +812,8 @@ public class UserDefinedColours extends GUserDefinedColours * update the delimited list of user defined colour files in * Jalview property USER_DEFINED_COLOURS */ - String defaultColours = Cache.getDefault(USER_DEFINED_COLOURS, + String defaultColours = Cache.getDefault( + Preferences.USER_DEFINED_COLOURS, filePath); if (defaultColours.indexOf(filePath) == -1) { @@ -813,7 +823,7 @@ public class UserDefinedColours extends GUserDefinedColours } defaultColours = defaultColours.concat(filePath); } - Cache.setProperty(USER_DEFINED_COLOURS, defaultColours); + Cache.setProperty(Preferences.USER_DEFINED_COLOURS, defaultColours); /* * construct and register the colour scheme