aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard/shifthandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/virtualkeyboard/shifthandler.cpp')
-rw-r--r--src/virtualkeyboard/shifthandler.cpp12
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);