}
-void NetworkModelController::setSlot(QObject *receiver, const char *method)
+void NetworkModelController::setSlot(ActionSlot slot)
{
- _receiver = receiver;
- _method = method;
+ _actionSlot = std::move(slot);
}
void NetworkModelController::handleExternalAction(ActionType type, QAction *action)
{
Q_UNUSED(type);
- if (receiver() && method()) {
- if (!QMetaObject::invokeMethod(receiver(), method(), Q_ARG(QAction *, action)))
- qWarning() << "NetworkModelActionController::handleExternalAction(): Could not invoke slot" << receiver() << method();
+ if (_actionSlot) {
+ _actionSlot(action);
}
}