diff options
Diffstat (limited to 'src/virtualkeyboard/shifthandler.cpp')
-rw-r--r-- | src/virtualkeyboard/shifthandler.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/virtualkeyboard/shifthandler.cpp b/src/virtualkeyboard/shifthandler.cpp index 62d23775..19117c81 100644 --- a/src/virtualkeyboard/shifthandler.cpp +++ b/src/virtualkeyboard/shifthandler.cpp @@ -54,7 +54,6 @@ public: noAutoUppercaseInputModeFilter(QSet<InputEngine::InputMode>() << InputEngine::FullwidthLatin << InputEngine::Pinyin << InputEngine::Cangjie << InputEngine::Zhuyin << InputEngine::ChineseHandwriting << InputEngine::JapaneseHandwriting << InputEngine::KoreanHandwriting), allCapsInputModeFilter(QSet<InputEngine::InputMode>() << InputEngine::Hiragana << InputEngine::Katakana) { - timer.start(); } InputContext *inputContext; @@ -185,7 +184,7 @@ void ShiftHandler::toggleShift() QStyleHints *style = QGuiApplication::styleHints(); - if (d->timer.elapsed() > style->mouseDoubleClickInterval()) { + if (d->timer.isNull() || d->timer.elapsed() > style->mouseDoubleClickInterval()) { d->timer.restart(); } else if (d->timer.elapsed() < style->mouseDoubleClickInterval() && !d->inputContext->capsLock()) { d->inputContext->setCapsLock(!d->inputContext->capsLock() && d->inputContext->shift() && !d->shiftChanged); @@ -196,6 +195,15 @@ void ShiftHandler::toggleShift() } } +/*! Clears the toggle shift timer. + +*/ +void ShiftHandler::clearToggleShiftTimer() +{ + Q_D(ShiftHandler); + d->timer = QTime(); +} + void ShiftHandler::reset() { Q_D(ShiftHandler); |