aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2015-04-04 14:41:10 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2015-04-04 14:41:10 -0400
commitb5f93b05578293d1d233b4920a28a5c2fd826f94 (patch)
tree82332679f647e9c76e331206786d07a58dcfa9b8 /SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp
parentaf8a7a3e3dccf9c9ad257e3952173d180c8a7421 (diff)
parenta5b034d4a9c44f9bc1e83b01de82530f8fc63013 (diff)
Merge tag 'upstream/3.0.4'
Upstream version 3.0.4 # gpg: Signature made Sat 04 Apr 2015 02:41:09 PM EDT using RSA key ID EBE9BD91 # gpg: Good signature from "Unit 193 <unit193@gmail.com>" # gpg: aka "Unit 193 <unit193@ninthfloor.org>" # gpg: aka "Unit 193 <unit193@ubuntu.com>" # gpg: aka "Unit 193 <unit193@ninthfloor.com>"
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp b/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp
new file mode 100644
index 0000000..90f9075
--- /dev/null
+++ b/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp
@@ -0,0 +1,29 @@
+#include "signalwait.h"
+#include <QCoreApplication>
+#include <QTime>
+
+SignalWait::SignalWait(QObject* object, const char* signal) :
+ QObject()
+{
+ connect(object, signal, this, SLOT(handleSignal()));
+}
+
+bool SignalWait::wait(int msTimeout)
+{
+ QTime timer(0, 0, 0, msTimeout);
+ timer.start();
+ while (!called && timer.elapsed() < msTimeout)
+ qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
+
+ return called;
+}
+
+void SignalWait::reset()
+{
+ called = false;
+}
+
+void SignalWait::handleSignal()
+{
+ called = true;
+}