diff --git a/containments/desktop/package/contents/ui/FolderViewLayer.qml b/containments/desktop/package/contents/ui/FolderViewLayer.qml index 201a97c2961fccb0cafc84e3b78a8ca6072def85..fac639ef16181e89f953ed1afc2f55053c476dc2 100644 --- a/containments/desktop/package/contents/ui/FolderViewLayer.qml +++ b/containments/desktop/package/contents/ui/FolderViewLayer.qml @@ -79,10 +79,6 @@ Item { size: "16x16" } - Folder.MenuHelper { - id: menuHelper - } - Folder.ViewPropertiesMenu { id: viewPropertiesMenu @@ -390,14 +386,14 @@ Item { for (var i = 0; i < sharedActions.length; i++) { actionName = sharedActions[i]; modelAction = folderView.model.action(actionName); - plasmoid.setAction(actionName, modelAction.text, menuHelper.iconName(modelAction)); + plasmoid.setAction(actionName, modelAction.text, Folder.MenuHelper.iconName(modelAction)); if (actionName == "newMenu") { - menuHelper.setMenu(plasmoid.action(actionName), folderView.model.newMenu); + Folder.MenuHelper.setMenu(plasmoid.action(actionName), folderView.model.newMenu); plasmoid.setActionSeparator("separator1"); plasmoid.setAction("viewProperties", i18n("Icons"), "preferences-desktop-icons"); - menuHelper.setMenu(plasmoid.action("viewProperties"), viewPropertiesMenu.menu); + Folder.MenuHelper.setMenu(plasmoid.action("viewProperties"), viewPropertiesMenu.menu); } else { plasmoid.action(actionName).triggered.connect(modelAction.trigger); } diff --git a/containments/desktop/plugins/folder/folderplugin.cpp b/containments/desktop/plugins/folder/folderplugin.cpp index 5bc7e1e58b5eb34589cf41bd8ec521462784133d..dd70e2203bde88ccef57052a30669c3a6c657c36 100644 --- a/containments/desktop/plugins/folder/folderplugin.cpp +++ b/containments/desktop/plugins/folder/folderplugin.cpp @@ -35,6 +35,13 @@ #include +static QObject *menuHelperSingletonProvider(QQmlEngine *engine, QJSEngine *jsEngine) +{ + Q_UNUSED(engine); + Q_UNUSED(jsEngine); + return new MenuHelper(); +} + void FolderPlugin::registerTypes(const char *uri) { Q_ASSERT(uri == QLatin1String("org.kde.private.desktopcontainment.folder")); @@ -42,7 +49,7 @@ void FolderPlugin::registerTypes(const char *uri) qmlRegisterType(uri, 0, 1, "FolderModel"); qmlRegisterType(uri, 0, 1, "ItemViewAdapter"); qmlRegisterType(uri, 0, 1, "LabelGenerator"); - qmlRegisterType(uri, 0, 1, "MenuHelper"); + qmlRegisterSingletonType(uri, 0, 1, "MenuHelper", menuHelperSingletonProvider); qmlRegisterType(uri, 0, 1, "MimeTypesModel"); qmlRegisterType(uri, 0, 1, "PlacesModel"); qmlRegisterType(uri, 0, 1, "Positioner");