diff options
author | dail8859 <dail8859@yahoo.com> | 2022-10-29 21:09:28 +1100 |
---|---|---|
committer | dail8859 <dail8859@yahoo.com> | 2022-10-29 21:09:28 +1100 |
commit | 5ae14dd681c7f78af6d184286f3c2a94dac9a40b (patch) | |
tree | 11fdcce5d9788d6a36a07efb6916c1565f19db13 /qt | |
parent | c0371d58dfd4d055b040ba7274fb5b537532d257 (diff) | |
download | scintilla-mirror-5ae14dd681c7f78af6d184286f3c2a94dac9a40b.tar.gz |
On Qt, implement SCI_SETRECTANGULARSELECTIONMODIFIER for all platforms.
Diffstat (limited to 'qt')
-rw-r--r-- | qt/ScintillaEditBase/ScintillaEditBase.cpp | 14 | ||||
-rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.cpp | 7 |
2 files changed, 7 insertions, 14 deletions
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp index da415d2b4..79eafd634 100644 --- a/qt/ScintillaEditBase/ScintillaEditBase.cpp +++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp @@ -286,7 +286,6 @@ void ScintillaEditBase::keyPressEvent(QKeyEvent *event) emit keyPressed(event); } -#ifdef Q_WS_X11 static int modifierTranslated(int sciModifier) { switch (sciModifier) { @@ -302,7 +301,6 @@ static int modifierTranslated(int sciModifier) return 0; } } -#endif void ScintillaEditBase::mousePressEvent(QMouseEvent *event) { @@ -323,13 +321,7 @@ void ScintillaEditBase::mousePressEvent(QMouseEvent *event) if (event->button() == Qt::LeftButton) { 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 sqt->ButtonDownWithModifiers(pos, time.elapsed(), ModifierFlags(shift, ctrl, alt)); } @@ -365,13 +357,7 @@ void ScintillaEditBase::mouseMoveEvent(QMouseEvent *event) 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 const KeyMod modifiers = ModifierFlags(shift, ctrl, alt); diff --git a/qt/ScintillaEditBase/ScintillaQt.cpp b/qt/ScintillaEditBase/ScintillaQt.cpp index 6464a4e66..88789979a 100644 --- a/qt/ScintillaEditBase/ScintillaQt.cpp +++ b/qt/ScintillaEditBase/ScintillaQt.cpp @@ -755,6 +755,13 @@ sptr_t ScintillaQt::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) case Message::GetDirectPointer: return reinterpret_cast<sptr_t>(this); + case Message::SetRectangularSelectionModifier: + rectangularSelectionModifier = static_cast<int>(wParam); + break; + + case Message::GetRectangularSelectionModifier: + return rectangularSelectionModifier; + default: return ScintillaBase::WndProc(iMessage, wParam, lParam); } |