H key updates
[jalview.git] / src / jalview / gui / AlignmentPanel.java
index c0de33e..a4a38f9 100755 (executable)
@@ -237,21 +237,34 @@ public class AlignmentPanel extends GAlignmentPanel
             break;\r
           case KeyEvent.VK_H:\r
           {\r
-            SequenceGroup sg = av.getSelectionGroup();\r
-            boolean hide = false;\r
-            if(sg!=null && sg.getSize(false)!=av.alignment.getHeight())\r
-            {\r
-              hide = true;\r
-              alignFrame.hideSelSequences_actionPerformed(null);\r
-            }\r
-            else if(av.colSel.getSelected().size()<1)\r
-              alignFrame.showAllSeqs_actionPerformed(null);\r
+            boolean toggleSeqs = !evt.isControlDown();\r
+            boolean toggleCols = !evt.isShiftDown();\r
 \r
-            if(av.colSel.getSelected().size()>0)\r
-              alignFrame.hideSelColumns_actionPerformed(null);\r
-            else if(!hide)\r
-              alignFrame.showAllColumns_actionPerformed(null);\r
+            boolean hide = false;\r
 \r
+            SequenceGroup sg = av.getSelectionGroup();\r
+            if(toggleSeqs)\r
+             {\r
+               if(sg != null && sg.getSize(false) != av.alignment.getHeight())\r
+               {\r
+                 alignFrame.hideSelSequences_actionPerformed(null);\r
+                 hide = true;\r
+               }\r
+               else if (!(toggleCols && av.colSel.getSelected().size() > 0))\r
+                 alignFrame.showAllSeqs_actionPerformed(null);\r
+             }\r
+\r
+             if (toggleCols)\r
+             {\r
+               if(av.colSel.getSelected().size() > 0)\r
+               {\r
+                 alignFrame.hideSelColumns_actionPerformed(null);\r
+                 if(!toggleSeqs)\r
+                   av.selectionGroup = sg;\r
+               }\r
+               else if(!hide)\r
+                 alignFrame.showAllColumns_actionPerformed(null);\r
+             }\r
             break;\r
           }\r
 \r