X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FScalePanel.java;fp=src%2Fjalview%2Fgui%2FScalePanel.java;h=0aa2459410914a99cd6a78e3b0a33c80227f8e33;hb=3f12f4932226512316ec113e600695150431fd0a;hp=316b6beeb921fdad69ed374c17c7344801db9d6f;hpb=318e3baf6738dea7b20640bc3e46814bd566811c;p=jalview.git diff --git a/src/jalview/gui/ScalePanel.java b/src/jalview/gui/ScalePanel.java index 316b6be..0aa2459 100755 --- a/src/jalview/gui/ScalePanel.java +++ b/src/jalview/gui/ScalePanel.java @@ -43,6 +43,7 @@ import java.util.List; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; +import javax.swing.SwingUtilities; import javax.swing.ToolTipManager; /** @@ -120,10 +121,19 @@ public class ScalePanel extends JPanel implements MouseMotionListener, min = res; max = res; - if (evt.isPopupTrigger()) + if (evt.isPopupTrigger()) // Mac: mousePressed { rightMouseButtonPressed(evt, res); } + else if (SwingUtilities.isRightMouseButton(evt) && !Platform.isAMac()) + { + /* + * defer right-mouse click handling to mouse up on Windows + * (where isPopupTrigger() will answer true) + * but accept Cmd-click on Mac which passes isRightMouseButton + */ + return; + } else { leftMouseButtonPressed(evt, res); @@ -222,6 +232,11 @@ public class ScalePanel extends JPanel implements MouseMotionListener, */ protected void leftMouseButtonPressed(MouseEvent evt, final int res) { + /* + * Ctrl-click/Cmd-click adds to the selection + * Shift-click extends the selection + */ + // TODO Problem: right-click on Windows not reported until mouseReleased?!? if (!Platform.isControlDown(evt) && !evt.isShiftDown()) { av.getColumnSelection().clear(); @@ -281,8 +296,14 @@ public class ScalePanel extends JPanel implements MouseMotionListener, if (!stretchingGroup) { - ap.paintAlignment(false); - + if (evt.isPopupTrigger()) // Windows: mouseReleased + { + rightMouseButtonPressed(evt, res); + } + else + { + ap.paintAlignment(false); + } return; }