aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/common/lazytrigger.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:54:15 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2018-07-27 23:54:15 -0400
commit6d3d39356473078c6b47e03b8a7616e4b34de928 (patch)
treefe5be2e6a08e4cfc73207746aba4c9fccfecfa10 /SQLiteStudio3/coreSQLiteStudio/common/lazytrigger.h
parentf98e49169a40876bcf1df832de6e908d1b350193 (diff)
parentfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (diff)
Update upstream source from tag 'upstream/3.2.1+dfsg1'
Update to upstream version '3.2.1+dfsg1' with Debian dir 5ea0333565de4dc898c062cc0ff4ba1153e2c1e4
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/common/lazytrigger.h')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/common/lazytrigger.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/common/lazytrigger.h b/SQLiteStudio3/coreSQLiteStudio/common/lazytrigger.h
new file mode 100644
index 0000000..9c34395
--- /dev/null
+++ b/SQLiteStudio3/coreSQLiteStudio/common/lazytrigger.h
@@ -0,0 +1,34 @@
+#ifndef LAZYTRIGGER_H
+#define LAZYTRIGGER_H
+
+#include "coreSQLiteStudio_global.h"
+#include <QObject>
+#include <functional>
+
+class QTimer;
+
+class API_EXPORT LazyTrigger : public QObject
+{
+ Q_OBJECT
+
+ public:
+ typedef std::function<bool()> Condition;
+
+ LazyTrigger(int delay, QObject* parent = nullptr, const char* slot = nullptr);
+ LazyTrigger(int delay, Condition condition, QObject* parent = nullptr, const char* slot = nullptr);
+
+ void setDelay(int delay);
+
+ private:
+ QTimer* timer = nullptr;
+ Condition condition = nullptr;
+
+ public slots:
+ void schedule();
+ void cancel();
+
+ signals:
+ void triggered();
+};
+
+#endif // LAZYTRIGGER_H