summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2019-12-13 22:22:00 +0100
committerAndré Hartmann <aha_1980@gmx.de>2019-12-16 14:05:42 +0000
commit7e4cd9b3684b05b1a711e980bf43c0474267d21e (patch)
tree1fc6b7ba8b6009b61e06e49b74e4f7f7138698fd
parent0d005b7057bad62797ac9f5a9afe81db683a42b0 (diff)
downloadqt-creator-7e4cd9b3684b05b1a711e980bf43c0474267d21e.tar.gz
FancyLineEdit: Fix camel case navigation with shift modifier
Fixes: QTCREATORBUG-23370 Change-Id: Ie96f642f0b964499ded830ae6eabfc86ef31fabd Reviewed-by: David Schulz <david.schulz@qt.io>
-rw-r--r--src/libs/utils/fancylineedit.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/libs/utils/fancylineedit.cpp b/src/libs/utils/fancylineedit.cpp
index d67c336544..928a612d43 100644
--- a/src/libs/utils/fancylineedit.cpp
+++ b/src/libs/utils/fancylineedit.cpp
@@ -370,15 +370,20 @@ void FancyLineEdit::onEditingFinished()
void FancyLineEdit::keyPressEvent(QKeyEvent *event)
{
- const QTextCursor::MoveMode mode = (event->modifiers() & Qt::ShiftModifier)
- ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor;
-
- if (camelCaseNavigation && event == QKeySequence::MoveToPreviousWord)
- CamelCaseCursor::left(this, mode);
- else if (camelCaseNavigation && event == QKeySequence::MoveToNextWord)
- CamelCaseCursor::right(this, mode);
- else
+ if (camelCaseNavigation) {
+ if (event == QKeySequence::MoveToPreviousWord)
+ CamelCaseCursor::left(this, QTextCursor::MoveAnchor);
+ else if (event == QKeySequence::SelectPreviousWord)
+ CamelCaseCursor::left(this, QTextCursor::KeepAnchor);
+ else if (event == QKeySequence::MoveToNextWord)
+ CamelCaseCursor::right(this, QTextCursor::MoveAnchor);
+ else if (event == QKeySequence::SelectNextWord)
+ CamelCaseCursor::right(this, QTextCursor::KeepAnchor);
+ else
+ QLineEdit::keyPressEvent(event);
+ } else {
QLineEdit::keyPressEvent(event);
+ }
}
void FancyLineEdit::setCamelCaseNavigationEnabled(bool enabled)