aboutsummaryrefslogtreecommitdiffhomepage
path: root/qt/ScintillaEditBase
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2017-06-12 13:49:46 +1000
committerNeil <nyamatongwe@gmail.com>2017-06-12 13:49:46 +1000
commitc94124bb05c4386863c160bb44d5592ba4fe989e (patch)
tree5086197e32cbf91efb8edd7e87f16a7d99cfead7 /qt/ScintillaEditBase
parente015bc583b10e4f3a9889c9ae296de000d1d4646 (diff)
downloadscintilla-mirror-c94124bb05c4386863c160bb44d5592ba4fe989e.tar.gz
Backport: Simplify mouse and keyboard handling by only retaining the 'WithModifiers" form.
All events include a set of keyboard modifier flags. Older calls that passed individual parameters for each key were removed. Backport of changeset 6310:af83baede430.
Diffstat (limited to 'qt/ScintillaEditBase')
-rw-r--r--qt/ScintillaEditBase/ScintillaEditBase.cpp28
-rw-r--r--qt/ScintillaEditBase/ScintillaEditBase.h1
2 files changed, 18 insertions, 11 deletions
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp
index 616fd2323..519db5468 100644
--- a/qt/ScintillaEditBase/ScintillaEditBase.cpp
+++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp
@@ -241,7 +241,9 @@ void ScintillaEditBase::keyPressEvent(QKeyEvent *event)
bool alt = QApplication::keyboardModifiers() & Qt::AltModifier;
bool consumed = false;
- bool added = sqt->KeyDown(key, shift, ctrl, alt, &consumed) != 0;
+ bool added = sqt->KeyDownWithModifiers(key,
+ ScintillaQt::ModifierFlags(shift, ctrl, alt),
+ &consumed) != 0;
if (!consumed)
consumed = added;
@@ -314,24 +316,19 @@ void ScintillaEditBase::mousePressEvent(QMouseEvent *event)
bool alt = QApplication::keyboardModifiers() & Qt::AltModifier;
#endif
- sqt->ButtonDown(pos, time.elapsed(), shift, ctrl, alt);
+ sqt->ButtonDownWithModifiers(pos, time.elapsed(), ScintillaQt::ModifierFlags(shift, ctrl, alt));
}
if (event->button() == Qt::RightButton) {
- bool shift = QApplication::keyboardModifiers() & Qt::ShiftModifier;
- bool ctrl = QApplication::keyboardModifiers() & Qt::ControlModifier;
- bool alt = QApplication::keyboardModifiers() & Qt::AltModifier;
-
- sqt->RightButtonDownWithModifiers(pos, time.elapsed(), ScintillaQt::ModifierFlags(shift, ctrl, alt));
+ sqt->RightButtonDownWithModifiers(pos, time.elapsed(), ModifiersOfKeyboard());
}
}
void ScintillaEditBase::mouseReleaseEvent(QMouseEvent *event)
{
Point point = PointFromQPoint(event->pos());
- bool ctrl = QApplication::keyboardModifiers() & Qt::ControlModifier;
if (event->button() == Qt::LeftButton)
- sqt->ButtonUp(point, time.elapsed(), ctrl);
+ sqt->ButtonUpWithModifiers(point, time.elapsed(), ModifiersOfKeyboard());
int pos = send(SCI_POSITIONFROMPOINT, point.x, point.y);
int line = send(SCI_LINEFROMPOSITION, pos);
@@ -361,9 +358,9 @@ void ScintillaEditBase::mouseMoveEvent(QMouseEvent *event)
bool alt = QApplication::keyboardModifiers() & Qt::AltModifier;
#endif
- int modifiers = (shift ? SCI_SHIFT : 0) | (ctrl ? SCI_CTRL : 0) | (alt ? SCI_ALT : 0);
+ const int modifiers = ScintillaQt::ModifierFlags(shift, ctrl, alt);
- sqt->ButtonMoveWithModifiers(pos, modifiers);
+ sqt->ButtonMoveWithModifiers(pos, time.elapsed(), modifiers);
}
void ScintillaEditBase::contextMenuEvent(QContextMenuEvent *event)
@@ -794,3 +791,12 @@ void ScintillaEditBase::event_command(uptr_t wParam, sptr_t lParam)
{
emit command(wParam, lParam);
}
+
+int ScintillaEditBase::ModifiersOfKeyboard() const
+{
+ const bool shift = QApplication::keyboardModifiers() & Qt::ShiftModifier;
+ const bool ctrl = QApplication::keyboardModifiers() & Qt::ControlModifier;
+ const bool alt = QApplication::keyboardModifiers() & Qt::AltModifier;
+
+ return ScintillaQt::ModifierFlags(shift, ctrl, alt);
+}
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.h b/qt/ScintillaEditBase/ScintillaEditBase.h
index 9490e8712..7692cf2b7 100644
--- a/qt/ScintillaEditBase/ScintillaEditBase.h
+++ b/qt/ScintillaEditBase/ScintillaEditBase.h
@@ -147,6 +147,7 @@ private:
static bool IsHangul(const QChar qchar);
void MoveImeCarets(int offset);
void DrawImeIndicator(int indicator, int len);
+ int ModifiersOfKeyboard() const;
};
#ifdef SCI_NAMESPACE