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 | d396f66bf0bc8d4c777c744efe77ccb5b28b385f (patch) | |
tree | 9dc0a355f751c37c953e835ac04a5dee383d6f51 /qt/ScintillaEditBase/ScintillaEditBase.cpp | |
parent | c68e1a5ffc74569e4d406e3c904f010390577fcf (diff) | |
download | scintilla-mirror-d396f66bf0bc8d4c777c744efe77ccb5b28b385f.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) |