aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/x11vkbwrapper/vkbhidetimer.cpp
blob: f656c48b1444339efecf948c170a78596546d5f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#include "vkbhidetimer.h"
#include <QGuiApplication>
#include <QTimer>
#include <QGlobalStatic>

namespace {
const quint16 KvkbCloseTimeout= 5000;
}

Q_GLOBAL_STATIC(CloseTimer,uniqueInstance)

VkbHideTimer::VkbHideTimer(QObject *parent) : QObject(parent)
{
    m_vkbHideTimer = new QTimer(this);
    m_vkbHideTimer->setInterval(KvkbCloseTimeout);
    m_vkbHideTimer->setSingleShot(true);
    QObject::connect(m_vkbHideTimer, &QTimer::timeout, this, &VkbHideTimer::closeVKB);
}

VkbHideTimer::~VkbHideTimer() {

}

VkbHideTimer* VkbHideTimer::getInstance() {
    return uniqueInstance;
}

void VkbHideTimer::startTimer() {
    m_vkbHideTimer->start();
}

void VkbHideTimer::closeVKB() const {
    QGuiApplication::inputMethod()->hide();
}