X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FPreferences.java;h=3070ca13b0a888e167427278ae51a4cd72ba12f4;hb=09ec96d9ac0fd717d6cf32417d9916cca781d92c;hp=1f61baec68dbab722d32b8f1b68e2834640205e7;hpb=b8c8a9017c9abd4cd0b2d685d34a3c4b7982d7ac;p=jalview.git diff --git a/src/jalview/gui/Preferences.java b/src/jalview/gui/Preferences.java index 1f61bae..3070ca1 100755 --- a/src/jalview/gui/Preferences.java +++ b/src/jalview/gui/Preferences.java @@ -105,6 +105,8 @@ public class Preferences extends GPreferences public static final String CHIMERA_PATH = "CHIMERA_PATH"; + public static final String CHIMERAX_PATH = "CHIMERAX_PATH"; + public static final String SORT_ANNOTATIONS = "SORT_ANNOTATIONS"; public static final String SHOW_AUTOCALC_ABOVE = "SHOW_AUTOCALC_ABOVE"; @@ -340,15 +342,30 @@ public class Preferences extends GPreferences addSecondaryStructure.setEnabled(structSelected); addTempFactor.setSelected(Cache.getDefault(ADD_TEMPFACT_ANN, false)); addTempFactor.setEnabled(structSelected); - structViewer.setSelectedItem( - Cache.getDefault(STRUCTURE_DISPLAY, ViewerType.JMOL.name())); - chimeraPath.setText(Cache.getDefault(CHIMERA_PATH, "")); + String viewerType = Cache.getDefault(STRUCTURE_DISPLAY, ViewerType.JMOL.name()); + structViewer.setSelectedItem(viewerType); + boolean isChimeraX = viewerType.equals(ViewerType.CHIMERAX.name()); + if (viewerType.equals(ViewerType.JMOL.name())) + { + chimeraPath.setText(""); + } + else + { + chimeraPath.setText(Cache + .getDefault(isChimeraX ? CHIMERAX_PATH : CHIMERA_PATH, "")); + } chimeraPath.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - validateChimeraPath(); + if (validateChimeraPath()) + { + Cache.setProperty(structViewer.getSelectedItem() + .equals(ViewerType.CHIMERAX.name()) + ? CHIMERAX_PATH + : CHIMERA_PATH, chimeraPath.getText()); + } } }); @@ -401,7 +418,7 @@ public class Preferences extends GPreferences doReset.addActionListener(onReset); // filter to display only custom urls - final RowFilter customUrlFilter = new RowFilter() + final RowFilter customUrlFilter = new RowFilter<>() { @Override public boolean include( @@ -682,7 +699,10 @@ public class Preferences extends GPreferences Boolean.toString(structFromPdb.isSelected())); Cache.applicationProperties.setProperty(STRUCTURE_DISPLAY, structViewer.getSelectedItem().toString()); - Cache.setOrRemove(CHIMERA_PATH, chimeraPath.getText()); + boolean isChimeraX = structViewer.getSelectedItem().toString() + .equals(ViewerType.CHIMERAX.name()); + Cache.setOrRemove(isChimeraX ? CHIMERAX_PATH : CHIMERA_PATH, + chimeraPath.getText()); Cache.applicationProperties.setProperty("MAP_WITH_SIFTS", Boolean.toString(siftsMapping.isSelected())); SiftsSettings.setMapWithSifts(siftsMapping.isSelected()); @@ -1208,22 +1228,32 @@ public class Preferences extends GPreferences } /** - * If Chimera is selected, check it can be found on default or user-specified - * path, if not show a warning/help dialog. + * If Chimera or ChimeraX is selected, check it can be found on default or + * user-specified path, if not show a warning/help dialog. */ @Override protected void structureViewer_actionPerformed(String selectedItem) { - if (!selectedItem.equals(ViewerType.CHIMERA.name())) + if (selectedItem.equals(ViewerType.JMOL.name())) { + chimeraPath.setEnabled(false); + chimeraPathLabel.setEnabled(false); return; } boolean found = false; + chimeraPath.setEnabled(true); + chimeraPathLabel.setEnabled(true); + chimeraPathLabel.setText(MessageManager + .formatMessage("label.chimera_path", selectedItem)); /* - * Try user-specified and standard paths for Chimera executable. + * Try user-specified and standard paths for Chimera executable */ - List paths = StructureManager.getChimeraPaths(); + boolean isChimeraX = selectedItem.equals(ViewerType.CHIMERAX.name()); + chimeraPath.setText(Cache + .getDefault(isChimeraX ? CHIMERAX_PATH : CHIMERA_PATH, "")); + + List paths = StructureManager.getChimeraPaths(isChimeraX); paths.add(0, chimeraPath.getText()); for (String path : paths) {