From d255cbf39f9a0554528b855a1640a0b2bdc1fa13 Mon Sep 17 00:00:00 2001
From: Stephane Dallongeville <stephane.dallongeville@pasteur.fr>
Date: Mon, 27 Sep 2021 15:40:32 +0200
Subject: [PATCH] Minors changes + fix on config refresh

---
 .../MicroManager/gui/ConfigurationPanel.java  | 37 ++++++++++++-------
 .../MicroManager/gui/MMMainFrame.java         |  8 ++--
 2 files changed, 28 insertions(+), 17 deletions(-)

diff --git a/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/ConfigurationPanel.java b/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/ConfigurationPanel.java
index 2a92aee..f7456ff 100644
--- a/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/ConfigurationPanel.java
+++ b/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/ConfigurationPanel.java
@@ -44,7 +44,6 @@ public class ConfigurationPanel extends JPanel
     final Runnable configsRefresher;
     final Runnable groupRefresher;
     String groupNameRefresh;
-    String configNameRefresh;
     boolean fromCacheRefresh;
 
     /**
@@ -84,17 +83,28 @@ public class ConfigurationPanel extends JPanel
             @Override
             public void run()
             {
-                // keep it cool :)
-                ThreadUtil.sleep(20);
+                // wait for config to be loaded..
+                ThreadUtil.sleep(300);
 
-                ThreadUtil.invokeLater(new Runnable()
+                try
                 {
-                    @Override
-                    public void run()
+                    // get config name
+                    final String configName = getCore().getCurrentConfig(groupNameRefresh);
+
+                    ThreadUtil.invokeLater(new Runnable()
                     {
-                        refresgGroupNow(groupNameRefresh, configNameRefresh);
-                    }
-                });
+                        @Override
+                        public void run()
+                        {
+                            refresgGroupNow(groupNameRefresh, configName);
+                        }
+                    });
+                }
+                catch (Exception e)
+                {
+                    System.err.print(e.getMessage());
+                }
+
             }
         };
     }
@@ -392,15 +402,14 @@ public class ConfigurationPanel extends JPanel
         return getMMStudio().getCore();
     }
 
-    public void refresgGroupNow(String groupName, String configName)
+    public void refresgGroupNow(String group, String config)
     {
-        groupPad.refreshGroup(groupNameRefresh, configNameRefresh);
+        groupPad.refreshGroup(group, config);
     }
 
-    public void refreshGroup(String groupName, String configName)
+    public void refreshGroup(String group)
     {
-        groupNameRefresh = groupName;
-        configNameRefresh = configName;
+        groupNameRefresh = group;
         ThreadUtil.bgRunSingle(groupRefresher);
     }
 
diff --git a/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/MMMainFrame.java b/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/MMMainFrame.java
index 8bf14d1..0e1771d 100644
--- a/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/MMMainFrame.java
+++ b/src/main/java/plugins/tprovoost/Microscopy/MicroManager/gui/MMMainFrame.java
@@ -680,7 +680,7 @@ public class MMMainFrame extends IcyFrame
      * 
      * @param filePath
      */
-    void loadConfig(final String filePath)
+    public void loadConfig(final String filePath)
     {
         // show loading message
         final LoadingFrame loadingFrame = new LoadingFrame(
@@ -829,7 +829,7 @@ public class MMMainFrame extends IcyFrame
         preferences.putBoolean(ID_DISPLAYACQ, value);
     }
 
-    void refreshGUI()
+    public void refreshGUI()
     {
         if (cameraPanel != null)
             cameraPanel.refresh();
@@ -837,7 +837,7 @@ public class MMMainFrame extends IcyFrame
             acquisitionInfoPanel.refresh();
     }
 
-    void refreshConfigs()
+    public void refreshConfigs()
     {
         if (configPanel != null)
             configPanel.refreshConfigs(false);
@@ -961,6 +961,8 @@ public class MMMainFrame extends IcyFrame
         @Override
         public void onConfigGroupChanged(String groupName, String newConfig)
         {
+            if (configPanel != null)
+                configPanel.refreshGroup(groupName);
             if (acquisitionInfoPanel != null)
                 acquisitionInfoPanel.refresh();
         }
-- 
GitLab