X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FViewSelectionMenu.java;h=c5433e5b9fed44c7e8fb11c869661deb937e54dc;hb=7384a101e11711490956c31fcff4efb556d21c69;hp=d34804b9dda5254554f402014eebf59e1ccc7c4a;hpb=309e1302b9479cfc34366170409b11162bbf57db;p=jalview.git diff --git a/src/jalview/gui/ViewSelectionMenu.java b/src/jalview/gui/ViewSelectionMenu.java index d34804b..c5433e5 100644 --- a/src/jalview/gui/ViewSelectionMenu.java +++ b/src/jalview/gui/ViewSelectionMenu.java @@ -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