JAL-2422 ChimeraX added to Preferences
[jalview.git] / src / ext / edu / ucsf / rbvi / strucviz2 / StructureManager.java
index 22c9098..b7ea4ad 100644 (file)
@@ -896,7 +896,7 @@ public class StructureManager
   StructureSettings defaultSettings = null;
 
   // TODO: [Optional] Change priority of Chimera paths
-  public static List<String> getChimeraPaths()
+  public static List<String> getChimeraPaths(boolean isChimeraX)
   {
     List<String> pathList = new ArrayList<>();
 
@@ -918,20 +918,25 @@ public class StructureManager
     /*
      * Jalview addition: check if path set in user preferences.
      */
-    String userPath = Cache.getDefault(Preferences.CHIMERA_PATH, null);
+    String userPath = Cache
+            .getDefault(isChimeraX ? Preferences.CHIMERAX_PATH
+                    : Preferences.CHIMERA_PATH, null);
     if (userPath != null)
     {
       pathList.add(0, userPath);
     }
 
+    // FIXME get an updated StructureManager for code for ChimeraX paths
+    String chimera = isChimeraX ? "ChimeraX" : "chimera";
+
     // Add default installation paths
     String os = System.getProperty("os.name");
     if (os.startsWith("Linux"))
     {
-      pathList.add("/usr/local/chimera/bin/chimera");
-      pathList.add("/usr/local/bin/chimera");
-      pathList.add("/usr/bin/chimera");
-      pathList.add(System.getProperty("user.home") + "/opt/bin/chimera");
+      pathList.add("/usr/local/chimera/bin/" + chimera);
+      pathList.add("/usr/local/bin/" + chimera);
+      pathList.add("/usr/bin/" + chimera);
+      pathList.add(System.getProperty("user.home") + "/opt/bin/" + chimera);
     }
     else if (os.startsWith("Windows"))
     {
@@ -942,15 +947,16 @@ public class StructureManager
         for (String version : new String[] { "1.11", "1.11.1", "1.11.2",
             "1.12", "1.12.1", "1.12.2", "1.13" })
         {
-          pathList.add(root + "\\Chimera " + version + "\\bin\\chimera");
+          pathList.add(root + "\\Chimera " + version + "\\bin\\" + chimera);
           pathList.add(
-                  root + "\\Chimera " + version + "\\bin\\chimera.exe");
+                  root + "\\Chimera " + version + "\\bin\\" + chimera
+                          + ".exe");
         }
       }
     }
     else if (os.startsWith("Mac"))
     {
-      pathList.add("/Applications/Chimera.app/Contents/MacOS/chimera");
+      pathList.add("/Applications/Chimera.app/Contents/MacOS/" + chimera);
     }
     return pathList;
   }