diff options
author | Neil <nyamatongwe@gmail.com> | 2013-08-15 15:13:15 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2013-08-15 15:13:15 +1000 |
commit | 2b08c6ee48f984b99165a156690dfcf4c67fea21 (patch) | |
tree | 87a806590e7d7e4a4aee9ebdaa97ab41fa022dc1 /qt/ScintillaEditBase/ScintillaEditBase.cpp | |
parent | a499680e07e1eeb55d23bbf1f61dde535d5beb78 (diff) | |
download | scintilla-mirror-2b08c6ee48f984b99165a156690dfcf4c67fea21.tar.gz |
Feature: [feature-requests:#1007]. Option to allow mouse selection to
switch to rectangular by pressing Alt after start of gesture.
From Neomi.
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaEditBase.cpp')
-rw-r--r-- | qt/ScintillaEditBase/ScintillaEditBase.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp index e5de593a8..37dc888e4 100644 --- a/qt/ScintillaEditBase/ScintillaEditBase.cpp +++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp @@ -319,7 +319,20 @@ void ScintillaEditBase::mouseDoubleClickEvent(QMouseEvent *event) void ScintillaEditBase::mouseMoveEvent(QMouseEvent *event) { Point pos = PointFromQPoint(event->pos()); - sqt->ButtonMove(pos); + + bool shift = QApplication::keyboardModifiers() & Qt::ShiftModifier; + bool ctrl = QApplication::keyboardModifiers() & Qt::ControlModifier; +#ifdef Q_WS_X11 + // On X allow choice of rectangular modifier since most window + // managers grab alt + click for moving windows. + bool alt = QApplication::keyboardModifiers() & modifierTranslated(sqt->rectangularSelectionModifier); +#else + bool alt = QApplication::keyboardModifiers() & Qt::AltModifier; +#endif + + int modifiers = (shift ? SCI_SHIFT : 0) | (ctrl ? SCI_CTRL : 0) | (alt ? SCI_ALT : 0); + + sqt->ButtonMoveWithModifiers(pos, modifiers); } void ScintillaEditBase::contextMenuEvent(QContextMenuEvent *event) |