File indexing completed on 2024-05-12 15:54:48

0001 /*
0002  * SPDX-FileCopyrightText: (C) 2015 Vishesh Handa <vhanda@kde.org>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-or-later
0005  */
0006 
0007 #include "committimer.h"
0008 
0009 using namespace Koko;
0010 
0011 CommitTimer::CommitTimer(QObject *parent)
0012     : QObject(parent)
0013 {
0014     m_smallTimer.setInterval(200);
0015     m_smallTimer.setSingleShot(true);
0016     connect(&m_smallTimer, &QTimer::timeout, this, &CommitTimer::slotTimeout);
0017 
0018     m_largeTimer.setSingleShot(true);
0019     m_largeTimer.setInterval(10000);
0020     connect(&m_largeTimer, &QTimer::timeout, this, &CommitTimer::slotTimeout);
0021 }
0022 
0023 void CommitTimer::start()
0024 {
0025     m_smallTimer.start();
0026     if (!m_largeTimer.isActive()) {
0027         m_largeTimer.start();
0028     }
0029 }
0030 
0031 void CommitTimer::slotTimeout()
0032 {
0033     m_smallTimer.stop();
0034     m_largeTimer.stop();
0035 
0036     Q_EMIT timeout();
0037 }