summaryrefslogtreecommitdiffhomepage
path: root/compat/qt-signal.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'compat/qt-signal.hpp')
-rw-r--r--compat/qt-signal.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/compat/qt-signal.hpp b/compat/qt-signal.hpp
new file mode 100644
index 00000000..119e063c
--- /dev/null
+++ b/compat/qt-signal.hpp
@@ -0,0 +1,30 @@
+#pragma once
+
+// this is to avoid dealing with QMetaObject for the time being -sh 20190203
+
+#include "export.hpp"
+#include <QObject>
+
+namespace qt_sig {
+
+class OTR_COMPAT_EXPORT nullary : public QObject
+{
+ Q_OBJECT
+
+public:
+ template<typename t, typename F>
+ nullary(t* datum, F&& f, Qt::ConnectionType conntype = Qt::AutoConnection) : QObject(datum)
+ {
+ connect(this, &nullary::notify, datum, f, conntype);
+ }
+
+ nullary(QObject* parent = nullptr);
+ ~nullary() override;
+
+ void operator()() const;
+
+signals:
+ void notify() const;
+};
+
+} // ns qt_sig