diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2019-12-13 22:22:00 +0100 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2019-12-16 14:05:42 +0000 |
commit | 7e4cd9b3684b05b1a711e980bf43c0474267d21e (patch) | |
tree | 1fc6b7ba8b6009b61e06e49b74e4f7f7138698fd | |
parent | 0d005b7057bad62797ac9f5a9afe81db683a42b0 (diff) | |
download | qt-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.cpp | 21 |
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) |