File indexing completed on 2024-05-12 15:58:19
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef __KIS_IDLE_WATCHER_H 0008 #define __KIS_IDLE_WATCHER_H 0009 0010 #include "kritaimage_export.h" 0011 0012 #include <QScopedPointer> 0013 #include <QObject> 0014 #include <QString> 0015 0016 #include "kis_types.h" 0017 0018 0019 class KRITAIMAGE_EXPORT KisIdleWatcher : public QObject 0020 { 0021 Q_OBJECT 0022 public: 0023 KisIdleWatcher(int delay = 200, QObject* parent = 0); 0024 ~KisIdleWatcher() override; 0025 0026 bool isIdle() const; 0027 0028 void setTrackedImages(const QVector<KisImageSP> &images); 0029 void setTrackedImage(KisImageSP image); 0030 0031 //Force to image modified state and start countdown to event 0032 void startCountdown(void) { slotImageModified(); } 0033 0034 Q_SIGNALS: 0035 void startedIdleMode(); 0036 0037 private Q_SLOTS: 0038 void slotImageModified(); 0039 void slotIdleCheckTick(); 0040 0041 void startIdleCheck(); 0042 void stopIdleCheck(); 0043 0044 private: 0045 struct Private; 0046 const QScopedPointer<Private> m_d; 0047 }; 0048 0049 #endif /* __KIS_IDLE_WATCHER_H */