diff --git a/src/scriptengines/qml/plasmoid/appletinterface.h b/src/scriptengines/qml/plasmoid/appletinterface.h --- a/src/scriptengines/qml/plasmoid/appletinterface.h +++ b/src/scriptengines/qml/plasmoid/appletinterface.h @@ -33,7 +33,6 @@ class QAction; class QmlAppletScript; -class QSignalMapper; class QSizeF; namespace KDeclarative @@ -454,7 +453,6 @@ private: QStringList m_actions; - QSignalMapper *m_actionSignals; KDeclarative::ConfigPropertyMap *m_configuration; DeclarativeAppletScript *m_appletScriptEngine; diff --git a/src/scriptengines/qml/plasmoid/appletinterface.cpp b/src/scriptengines/qml/plasmoid/appletinterface.cpp --- a/src/scriptengines/qml/plasmoid/appletinterface.cpp +++ b/src/scriptengines/qml/plasmoid/appletinterface.cpp @@ -24,7 +24,6 @@ #include #include #include -#include #include #include @@ -49,7 +48,6 @@ AppletInterface::AppletInterface(DeclarativeAppletScript *script, const QVariantList &args, QQuickItem *parent) : AppletQuickItem(script->applet(), parent), - m_actionSignals(0), m_configuration(0), m_appletScriptEngine(script), m_toolTipTextFormat(0), @@ -450,14 +448,9 @@ Q_ASSERT(!m_actions.contains(name)); m_actions.append(name); - if (!m_actionSignals) { - m_actionSignals = new QSignalMapper(this); - connect(m_actionSignals, static_cast(&QSignalMapper::mapped), - appletScript(), &DeclarativeAppletScript::executeAction); - } - - connect(action, &QAction::triggered, m_actionSignals, static_cast(&QSignalMapper::map)); - m_actionSignals->setMapping(action, name); + connect(action, &QAction::triggered, this, [this, name] { + executeAction(name); + }); } if (!icon.isEmpty()) { @@ -475,15 +468,7 @@ { Plasma::Applet *a = applet(); QAction *action = a->actions()->action(name); - - if (action) { - if (m_actionSignals) { - m_actionSignals->removeMappings(action); - } - - delete action; - } - + delete action; m_actions.removeAll(name); } diff --git a/src/scriptengines/qml/plasmoid/wallpaperinterface.h b/src/scriptengines/qml/plasmoid/wallpaperinterface.h --- a/src/scriptengines/qml/plasmoid/wallpaperinterface.h +++ b/src/scriptengines/qml/plasmoid/wallpaperinterface.h @@ -29,7 +29,6 @@ class KActionCollection; class ContainmentInterface; -class QSignalMapper; namespace KDeclarative { @@ -104,7 +103,6 @@ KDeclarative::ConfigPropertyMap *m_configuration; KConfigLoader *m_configLoader; KActionCollection *m_actions; - QSignalMapper *m_actionSignals; static QHash s_rootObjects; }; diff --git a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp --- a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp +++ b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp @@ -31,7 +31,6 @@ #include #include #include -#include #include #include @@ -43,8 +42,7 @@ m_containmentInterface(parent), m_qmlObject(0), m_configuration(0), - m_configLoader(0), - m_actionSignals(0) + m_configLoader(0) { m_actions = new KActionCollection(this); @@ -220,13 +218,9 @@ action = new QAction(text, this); m_actions->addAction(name, action); - if (!m_actionSignals) { - m_actionSignals = new QSignalMapper(this); - connect(m_actionSignals, static_cast(&QSignalMapper::mapped), - this, &WallpaperInterface::executeAction); - } - connect(action, &QAction::triggered, m_actionSignals, static_cast(&QSignalMapper::map)); - m_actionSignals->setMapping(action, name); + connect(action, &QAction::triggered, this, [this, name] { + executeAction(name); + }); } if (!icon.isEmpty()) { @@ -246,11 +240,7 @@ QAction *action = m_actions->action(name); if (action) { - if (m_actionSignals) { - m_actionSignals->removeMappings(action); - } m_actions->removeAction(action); - delete action; } setProperty("contextualActions", QVariant::fromValue(contextualActions()));