IDEA-142715 It's impossible to move multiple files by mouse between changelists or even select several files via Ctrl/Cmd+Click

MouseEvent conversion loses the META_MASK modifier, so we should use getModifiers()|getModifiersEx() to copy all masks.
This commit is contained in:
Sergey Malenkov
2015-07-17 20:32:39 +03:00
parent de17f7e428
commit 9b137f8060
4 changed files with 4 additions and 4 deletions
@@ -198,7 +198,7 @@ public abstract class ComboBoxAction extends AnAction implements CustomComponent
mouseMoved(MouseEventAdapter.convert(e, e.getComponent(),
MouseEvent.MOUSE_MOVED,
e.getWhen(),
e.getModifiers(),
e.getModifiers() | e.getModifiersEx(),
e.getX(),
e.getY()));
}
@@ -352,7 +352,7 @@ public class IdeEventQueue extends EventQueue {
lastMouseWheel = System.currentTimeMillis();
MouseWheelEvent newMouseWheelEvent = MouseEventAdapter.convert(mwe,
wheelDestinationComponent, mwe.getID(), lastMouseWheel, mwe.getModifiers(), mwe.getX(), mwe.getY()
wheelDestinationComponent, mwe.getID(), lastMouseWheel, mwe.getModifiers() | mwe.getModifiersEx(), mwe.getX(), mwe.getY()
);
return newMouseWheelEvent;
}
@@ -406,7 +406,7 @@ public class IdeGlassPaneImpl extends JPanel implements IdeGlassPaneEx, IdeEvent
private static MouseEvent convertEvent(final MouseEvent e, final Component target) {
final Point point = SwingUtilities.convertPoint(e.getComponent(), e.getPoint(), target);
return MouseEventAdapter.convert(e, target, e.getID(), e.getWhen(), e.getModifiersEx(), point.x, point.y);
return MouseEventAdapter.convert(e, target, point.x, point.y);
}
private static void fireMouseEvent(final MouseListener listener, final MouseEvent event) {
@@ -98,7 +98,7 @@ public class MouseEventAdapter<T> implements MouseListener, MouseMotionListener,
}
public static MouseEvent convert(MouseEvent event, Component source, int x, int y) {
return convert(event, source, event.getID(), event.getWhen(), event.getModifiers(), x, y);
return convert(event, source, event.getID(), event.getWhen(), event.getModifiers() | event.getModifiersEx(), x, y);
}
public static MouseEvent convert(MouseEvent event, Component source, int id, long when, int modifiers, int x, int y) {