aboutsummaryrefslogtreecommitdiffhomepage
path: root/qt/ScintillaEditBase/ScintillaEditBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaEditBase.cpp')
-rw-r--r--qt/ScintillaEditBase/ScintillaEditBase.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/qt/ScintillaEditBase/ScintillaEditBase.cpp b/qt/ScintillaEditBase/ScintillaEditBase.cpp
index 9656af283..762cf8820 100644
--- a/qt/ScintillaEditBase/ScintillaEditBase.cpp
+++ b/qt/ScintillaEditBase/ScintillaEditBase.cpp
@@ -289,9 +289,7 @@ void ScintillaEditBase::mousePressEvent(QMouseEvent *event)
return;
}
- bool button = event->button() == Qt::LeftButton;
-
- if (button) {
+ if (event->button() == Qt::LeftButton) {
bool shift = QApplication::keyboardModifiers() & Qt::ShiftModifier;
bool ctrl = QApplication::keyboardModifiers() & Qt::ControlModifier;
#ifdef Q_WS_X11
@@ -304,6 +302,14 @@ void ScintillaEditBase::mousePressEvent(QMouseEvent *event)
sqt->ButtonDown(pos, time.elapsed(), 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));
+ }
}
void ScintillaEditBase::mouseReleaseEvent(QMouseEvent *event)
@@ -350,9 +356,12 @@ void ScintillaEditBase::contextMenuEvent(QContextMenuEvent *event)
{
Point pos = PointFromQPoint(event->globalPos());
Point pt = PointFromQPoint(event->pos());
- if (!sqt->PointInSelection(pt))
+ if (!sqt->PointInSelection(pt)) {
sqt->SetEmptySelection(sqt->PositionFromLocation(pt));
- sqt->ContextMenu(pos);
+ }
+ if (sqt->ShouldDisplayPopup(pt)) {
+ sqt->ContextMenu(pos);
+ }
}
void ScintillaEditBase::dragEnterEvent(QDragEnterEvent *event)