diff --git a/containments/desktop/package/contents/ui/FolderViewLayer.qml b/containments/desktop/package/contents/ui/FolderViewLayer.qml --- a/containments/desktop/package/contents/ui/FolderViewLayer.qml +++ b/containments/desktop/package/contents/ui/FolderViewLayer.qml @@ -79,10 +79,6 @@ size: "16x16" } - Folder.MenuHelper { - id: menuHelper - } - Folder.ViewPropertiesMenu { id: viewPropertiesMenu @@ -390,14 +386,14 @@ 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 --- a/containments/desktop/plugins/folder/folderplugin.cpp +++ b/containments/desktop/plugins/folder/folderplugin.cpp @@ -35,14 +35,21 @@ #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")); qmlRegisterType(uri, 0, 1, "DirectoryPicker"); 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");