more focus fixing (JAL-943)
[jalview.git] / src / jalview / gui / ViewSelectionMenu.java
index d34804b..c5433e5 100644 (file)
@@ -121,7 +121,8 @@ public class ViewSelectionMenu extends JMenu
     }
     if (allviews.length >= 2)
     {
-      
+      // ensure we update menu state to reflect external selection list state
+      append = append || _selectedviews.size()>1;
       toggleview = new JCheckBoxMenuItem("Select many views",append);
       toggleview.setToolTipText("When enabled, allows many views to be selected.");
       toggleview.addItemListener(new ItemListener() {
@@ -201,14 +202,19 @@ public class ViewSelectionMenu extends JMenu
           {
           if (append)
           {
-            if (e.getStateChange() == e.SELECTED)
+            enabled=false;
+            // toggle the inclusion state
+            if (_selectedviews.indexOf(p)==-1)
             {
               _selectedviews.add(p);
+              a.setSelected(true);
             }
             else
             {
               _selectedviews.remove(p);
+              a.setSelected(false);
             }
+            enabled=true;
             _handler.itemStateChanged(e);
           }
           else