X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FPreferences.java;h=35fdf6ad29768fa1bc60963505804fbd76a8916f;hb=08fece8cdf7aeee3893e1c63fc94c01ce517e3dd;hp=8eb066473448966a41b5c0aeba8704b308614271;hpb=726bda0e9aea2d68b90803e142346cc46c8d4772;p=jalview.git diff --git a/src/jalview/gui/Preferences.java b/src/jalview/gui/Preferences.java index 8eb0664..35fdf6a 100755 --- a/src/jalview/gui/Preferences.java +++ b/src/jalview/gui/Preferences.java @@ -27,14 +27,13 @@ import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.MouseEvent; import java.io.File; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CompletableFuture; import javax.help.HelpSetException; import javax.swing.JComboBox; -import javax.swing.JFileChooser; import javax.swing.JInternalFrame; import javax.swing.JPanel; import javax.swing.ListSelectionModel; @@ -50,9 +49,11 @@ import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; +//import edu.stanford.ejalbert.launching.IBrowserLaunching; import ext.edu.ucsf.rbvi.strucviz2.StructureManager; import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; import jalview.bin.Cache; +import jalview.bin.Console; import jalview.bin.MemorySetting; import jalview.ext.pymol.PymolManager; import jalview.gui.Help.HelpId; @@ -187,7 +188,7 @@ public class Preferences extends GPreferences private OptionsParam promptEachTimeOpt = new OptionsParam( MessageManager.getString("label.prompt_each_time"), - "Prompt each time"); + LineartOptions.PROMPT_EACH_TIME); private OptionsParam lineArtOpt = new OptionsParam( MessageManager.getString("label.lineart"), "Lineart"); @@ -220,19 +221,27 @@ public class Preferences extends GPreferences public static void openPreferences() { - openPreferences(0, null); + openPreferences(null, null); } - public static void openPreferences(int selectTab, String message) + public static void openPreferences(TabRef selectTab, String message) { Preferences p = getInstance(); - p.selectTab(selectTab); - p.setMessage(message); + if (selectTab != null) + p.selectTab(selectTab, message); p.frame.show(); p.frame.moveToFront(); p.frame.grabFocus(); } + public void selectTab(TabRef selectTab, String message) + { + this.selectTab(selectTab); + if (message != null) + this.setMessage(message); + this.frame.show(); + } + /** * Creates a new Preferences object. */ @@ -240,6 +249,7 @@ public class Preferences extends GPreferences { super(); frame = new JInternalFrame(); + frame.setFrameIcon(null); frame.setContentPane(this); if (!Platform.isJS()) /** @@ -347,8 +357,8 @@ public class Preferences extends GPreferences startupCheckbox .setSelected(Cache.getDefault("SHOW_STARTUP_FILE", true)); startupFileTextfield.setText(Cache.getDefault("STARTUP_FILE", - Cache.getDefault("www.jalview.org", "http://www.jalview.org") - + "/examples/exampleFile_2_3.jar")); + Cache.getDefault("www.jalview.org", "https://www.jalview.org") + + "/examples/exampleFile_2_7.jvp")); /* * Set Colours tab defaults @@ -376,9 +386,9 @@ public class Preferences extends GPreferences * Set overview panel defaults */ gapColour.setBackground(Cache.getDefaultColour(GAP_COLOUR, - jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_GAP)); + OverviewCanvas.OVERVIEW_DEFAULT_GAP)); hiddenColour.setBackground(Cache.getDefaultColour(HIDDEN_COLOUR, - jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_HIDDEN)); + OverviewCanvas.OVERVIEW_DEFAULT_HIDDEN)); useLegacyGap.setSelected(Cache.getDefault(USE_LEGACY_GAP, false)); gapLabel.setEnabled(!useLegacyGap.isSelected()); gapColour.setEnabled(!useLegacyGap.isSelected()); @@ -388,13 +398,11 @@ public class Preferences extends GPreferences /* * Set Structure tab defaults */ - final boolean structSelected = Cache.getDefault(STRUCT_FROM_PDB, false); + final boolean structSelected = Cache.getDefault(STRUCT_FROM_PDB, true); structFromPdb.setSelected(structSelected); - useRnaView.setSelected(Cache.getDefault(USE_RNAVIEW, false)); - useRnaView.setEnabled(structSelected); - addSecondaryStructure.setSelected(Cache.getDefault(ADD_SS_ANN, false)); + addSecondaryStructure.setSelected(Cache.getDefault(ADD_SS_ANN, true)); addSecondaryStructure.setEnabled(structSelected); - addTempFactor.setSelected(Cache.getDefault(ADD_TEMPFACT_ANN, false)); + addTempFactor.setSelected(Cache.getDefault(ADD_TEMPFACT_ANN, true)); addTempFactor.setEnabled(structSelected); /* @@ -425,7 +433,7 @@ public class Preferences extends GPreferences } } catch (IllegalArgumentException e) { - Cache.log.error("Unknown structure viewer type: " + viewerType + Console.error("Unknown structure viewer type: " + viewerType + ", defaulting to Jmol"); type = ViewerType.JMOL; } @@ -438,11 +446,28 @@ public class Preferences extends GPreferences { if (validateViewerPath()) { - Cache.setProperty( - structViewer.getSelectedItem().equals( - ViewerType.CHIMERAX.name()) ? CHIMERAX_PATH - : CHIMERA_PATH, - structureViewerPath.getText()); + String path = structureViewerPath.getText(); + try + { + ViewerType type = ViewerType.valueOf(viewerType); + switch (type) + { + case JMOL: + break; + case CHIMERA: + Cache.setProperty(CHIMERA_PATH, path); + break; + case CHIMERAX: + Cache.setProperty(CHIMERAX_PATH, path); + break; + case PYMOL: + Cache.setProperty(PYMOL_PATH, path); + break; + } + } catch (IllegalArgumentException x) + { + Console.error("Failed to set path - unknown viewer type", x); + } } } }); @@ -597,7 +622,7 @@ public class Preferences extends GPreferences proxyType.setSelected(customProxy.getModel(), true); break; default: - Cache.log.warn( + Console.warn( "Incorrect PROXY_TYPE - should be 'none' (clear proxy properties), 'false' (system settings), 'true' (custom settings): " + proxyTypeString); } @@ -614,8 +639,6 @@ public class Preferences extends GPreferences setCustomProxyEnabled(); applyProxyButtonEnabled(false); - defaultBrowser.setText(Cache.getDefault("DEFAULT_BROWSER", "")); - usagestats.setSelected(Cache.getDefault("USAGESTATS", false)); // note antisense here: default is true questionnaire @@ -826,8 +849,6 @@ public class Preferences extends GPreferences Boolean.toString(addTempFactor.isSelected())); Cache.applicationProperties.setProperty(ADD_SS_ANN, Boolean.toString(addSecondaryStructure.isSelected())); - Cache.applicationProperties.setProperty(USE_RNAVIEW, - Boolean.toString(useRnaView.isSelected())); Cache.applicationProperties.setProperty(STRUCT_FROM_PDB, Boolean.toString(structFromPdb.isSelected())); String viewer = structViewer.getSelectedItem().toString(); @@ -864,10 +885,6 @@ public class Preferences extends GPreferences */ // Proxy settings set first (to catch web services) - Cache.setOrRemove("DEFAULT_BROWSER", defaultBrowser.getText()); - - jalview.util.BrowserLauncher.resetBrowser(); - // save user-defined and selected links String menuLinks = sequenceUrlLinks.writeUrlsAsString(true); if (menuLinks.isEmpty()) @@ -1168,7 +1185,7 @@ public class Preferences extends GPreferences if (index == -1) { // button no longer enabled if row is not selected - Cache.log.debug("Edit with no row selected in linkUrlTable"); + Console.debug("Edit with no row selected in linkUrlTable"); return; } @@ -1220,7 +1237,7 @@ public class Preferences extends GPreferences if (index == -1) { // button no longer enabled if row is not selected - Cache.log.debug("Delete with no row selected in linkUrlTable"); + Console.debug("Delete with no row selected in linkUrlTable"); return; } else @@ -1232,30 +1249,6 @@ public class Preferences extends GPreferences ((UrlLinkTableModel) linkUrlTable.getModel()).removeRow(modelIndex); } - @Override - public void defaultBrowser_mouseClicked(MouseEvent e) - { - // TODO: JAL-3048 not needed for j2s - if (!Platform.isJS()) // BH 2019 - /** - * Java only - * - * @j2sIgnore - */ - { - JFileChooser chooser = new JFileChooser("."); - chooser.setDialogTitle( - MessageManager.getString("label.select_default_browser")); - - int value = chooser.showOpenDialog(this); - - if (value == JFileChooser.APPROVE_OPTION) - { - defaultBrowser.setText(chooser.getSelectedFile().getAbsolutePath()); - } - } - } - /* * (non-Javadoc) * @@ -1314,13 +1307,11 @@ public class Preferences extends GPreferences boolean enabled = useLegacyGap.isSelected(); if (enabled) { - gapColour.setBackground( - jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_LEGACY_GAP); + gapColour.setBackground(OverviewCanvas.OVERVIEW_DEFAULT_LEGACY_GAP); } else { - gapColour.setBackground( - jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_GAP); + gapColour.setBackground(OverviewCanvas.OVERVIEW_DEFAULT_GAP); } gapColour.setEnabled(!enabled); gapLabel.setEnabled(!enabled); @@ -1332,8 +1323,7 @@ public class Preferences extends GPreferences useLegacyGap.setSelected(false); useLegacyGaps_actionPerformed(null); showHiddenAtStart.setSelected(false); - hiddenColour.setBackground( - jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_HIDDEN); + hiddenColour.setBackground(OverviewCanvas.OVERVIEW_DEFAULT_HIDDEN); } @Override @@ -1460,8 +1450,10 @@ public class Preferences extends GPreferences MessageManager.getString("label.viewer_missing")), "", JvOptionPane.YES_NO_OPTION, JvOptionPane.WARNING_MESSAGE, null, options, options[0]); + if (showHelp == JvOptionPane.NO_OPTION) { + this.selectTab(Preferences.TabRef.STRUCTURE_TAB, null); try { Help.showHelpWindow(HelpId.StructureViewer); @@ -1470,6 +1462,24 @@ public class Preferences extends GPreferences e.printStackTrace(); } } + else if (showHelp == JvOptionPane.OK_OPTION) + { + this.selectTab(Preferences.TabRef.STRUCTURE_TAB, null); + CompletableFuture cf = CompletableFuture.runAsync(() -> { + try + { + for (int i = 0; i < 3; i++) + { + structureViewerPath.setBackground(Color.PINK); + Thread.sleep(500); + structureViewerPath.setBackground(Color.WHITE); + Thread.sleep(500); + } + } catch (InterruptedException e) + { + } + }); + } } }