aboutsummaryrefslogtreecommitdiffhomepage
path: root/qt
diff options
context:
space:
mode:
authordail8859 <dail8859@yahoo.com>2022-10-29 21:09:28 +1100
committerdail8859 <dail8859@yahoo.com>2022-10-29 21:09:28 +1100
commit5ae14dd681c7f78af6d184286f3c2a94dac9a40b (patch)
tree11fdcce5d9788d6a36a07efb6916c1565f19db13 /qt
parentc0371d58dfd4d055b040ba7274fb5b537532d257 (diff)
downloadscintilla-mirror-5ae14dd681c7f78af6d184286f3c2a94dac9a40b.tar.gz
On Qt, implement SCI_SETRECTANGULARSELECTIONMODIFIER for all platforms.
Diffstat (limited to 'qt')
-rw-r--r--qt/ScintillaEditBase/ScintillaEditBase.cpp14
-rw-r--r--qt/ScintillaEditBase/ScintillaQt.cpp7
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);
}