summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/widgets/widgets/qplaintextedit.cpp7
-rw-r--r--src/widgets/widgets/qplaintextedit_p.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp
index 58203ba921..fb90667915 100644
--- a/src/widgets/widgets/qplaintextedit.cpp
+++ b/src/widgets/widgets/qplaintextedit.cpp
@@ -759,6 +759,7 @@ QPlainTextEditPrivate::QPlainTextEditPrivate()
tabChangesFocus(false),
lineWrap(QPlainTextEdit::WidgetWidth),
wordWrap(QTextOption::WrapAtWordBoundaryOrAnywhere),
+ keyboardModifiers{},
clickCausedFocus(0), placeholderVisible(1),
topLine(0), topLineFracture(0),
pageUpDownLastCursorYIsValid(false)
@@ -1621,7 +1622,7 @@ void QPlainTextEdit::timerEvent(QTimerEvent *e)
const QPoint globalPos = QCursor::pos();
pos = d->viewport->mapFromGlobal(globalPos);
QMouseEvent ev(QEvent::MouseMove, pos, d->viewport->mapTo(d->viewport->topLevelWidget(), pos), globalPos,
- Qt::LeftButton, Qt::LeftButton, QGuiApplication::keyboardModifiers());
+ Qt::LeftButton, Qt::LeftButton, d->keyboardModifiers);
mouseMoveEvent(&ev);
}
int deltaY = qMax(pos.y() - visible.top(), visible.bottom() - pos.y()) - visible.height();
@@ -1686,6 +1687,7 @@ void QPlainTextEdit::setPlainText(const QString &text)
void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
{
Q_D(QPlainTextEdit);
+ d->keyboardModifiers = e->modifiers();
#ifdef QT_KEYPAD_NAVIGATION
switch (e->key()) {
@@ -1833,6 +1835,9 @@ void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
*/
void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
{
+ Q_D(QPlainTextEdit);
+ d->keyboardModifiers = e->modifiers();
+
#ifdef QT_KEYPAD_NAVIGATION
Q_D(QPlainTextEdit);
if (QApplicationPrivate::keypadNavigationEnabled()) {
diff --git a/src/widgets/widgets/qplaintextedit_p.h b/src/widgets/widgets/qplaintextedit_p.h
index 534f0d4681..6d82cabb93 100644
--- a/src/widgets/widgets/qplaintextedit_p.h
+++ b/src/widgets/widgets/qplaintextedit_p.h
@@ -152,6 +152,7 @@ public:
QPlainTextEdit::LineWrapMode lineWrap;
QTextOption::WrapMode wordWrap;
+ Qt::KeyboardModifiers keyboardModifiers;
uint showCursorOnInitialShow : 1;
uint backgroundVisible : 1;