From b01a51dbf5cda82ea05e4a78cab74d6cab37139e Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 1 Apr 2017 16:39:44 +0200 Subject: [PATCH] extend API of TimerFunction class --- src/Gui/ActionFunction.cpp | 11 +++++++++++ src/Gui/ActionFunction.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/Gui/ActionFunction.cpp b/src/Gui/ActionFunction.cpp index f74204e2fd..885a668d27 100644 --- a/src/Gui/ActionFunction.cpp +++ b/src/Gui/ActionFunction.cpp @@ -120,8 +120,10 @@ class TimerFunctionPrivate public: boost::function timeoutFunc; boost::function timeoutFuncQObject; + boost::function timeoutFuncQVariant; bool autoDelete; QPointer argQObject; + QVariant argQVariant; }; } @@ -148,6 +150,13 @@ void TimerFunction::setFunction(boost::function func, QObject* a d->argQObject = args; } +void TimerFunction::setFunction(boost::function func, QVariant args) +{ + Q_D(TimerFunction); + d->timeoutFuncQVariant = func; + d->argQVariant = args; +} + void TimerFunction::setAutoDelete(bool on) { Q_D(TimerFunction); @@ -161,6 +170,8 @@ void TimerFunction::timeout() d->timeoutFunc(); else if (d->timeoutFuncQObject) d->timeoutFuncQObject(d->argQObject); + else if (d->timeoutFuncQVariant) + d->timeoutFuncQVariant(d->argQVariant); if (d->autoDelete) deleteLater(); } diff --git a/src/Gui/ActionFunction.h b/src/Gui/ActionFunction.h index a05b240dfc..ba6dbce903 100644 --- a/src/Gui/ActionFunction.h +++ b/src/Gui/ActionFunction.h @@ -26,6 +26,7 @@ #include #include +#include #include class QAction; @@ -100,6 +101,7 @@ public: void setFunction(boost::function func); void setFunction(boost::function func, QObject* args); + void setFunction(boost::function func, QVariant args); void setAutoDelete(bool); private Q_SLOTS: