forked from qt-creator/qt-creator
Project: Make subscribeSignal handle signals with Parameters
Change-Id: Ic685da344f7bdf201daf9156ce48c87ced04e023 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -169,8 +169,8 @@ public:
|
|||||||
bool isParsing() const;
|
bool isParsing() const;
|
||||||
bool hasParsingData() const;
|
bool hasParsingData() const;
|
||||||
|
|
||||||
template<typename S, typename R, typename T>
|
template<typename S, typename R, typename T, typename ...Args1, typename ...Args2>
|
||||||
void subscribeSignal(void (S::*sig)(), R*recv, T (R::*sl)()) {
|
void subscribeSignal(void (S::*sig)(Args1...), R*recv, T (R::*sl)(Args2...)) {
|
||||||
new Internal::ProjectSubscription([sig, recv, sl, this](ProjectConfiguration *pc) {
|
new Internal::ProjectSubscription([sig, recv, sl, this](ProjectConfiguration *pc) {
|
||||||
if (S* sender = qobject_cast<S*>(pc))
|
if (S* sender = qobject_cast<S*>(pc))
|
||||||
return connect(sender, sig, recv, sl);
|
return connect(sender, sig, recv, sl);
|
||||||
@@ -178,8 +178,8 @@ public:
|
|||||||
}, recv, this);
|
}, recv, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename S, typename R, typename T>
|
template<typename S, typename R, typename T, typename ...Args1>
|
||||||
void subscribeSignal(void (S::*sig)(), R*recv, T sl) {
|
void subscribeSignal(void (S::*sig)(Args1...), R*recv, T sl) {
|
||||||
new Internal::ProjectSubscription([sig, recv, sl, this](ProjectConfiguration *pc) {
|
new Internal::ProjectSubscription([sig, recv, sl, this](ProjectConfiguration *pc) {
|
||||||
if (S* sender = qobject_cast<S*>(pc))
|
if (S* sender = qobject_cast<S*>(pc))
|
||||||
return connect(sender, sig, recv, sl);
|
return connect(sender, sig, recv, sl);
|
||||||
|
Reference in New Issue
Block a user