diff --git a/desktopintegration.cpp b/desktopintegration.cpp index 6b17943f..6974ffed 100644 --- a/desktopintegration.cpp +++ b/desktopintegration.cpp @@ -183,11 +183,6 @@ void DesktopIntegration::removeFromDesktop(const QString &desktopId) AppMgr::removeFromDesktop(desktopId); } -bool DesktopIntegration::isAutoStart(const QString &desktopId) const -{ - return AppMgr::autoStart(desktopId); -} - // only affect the one in XDG_CONFIG_HOME, don't care about the system one (even if there is one). void DesktopIntegration::setAutoStart(const QString &desktopId, bool on) { diff --git a/desktopintegration.h b/desktopintegration.h index 33543a8a..2c9fda5b 100644 --- a/desktopintegration.h +++ b/desktopintegration.h @@ -67,7 +67,6 @@ class DesktopIntegration : public QObject Q_INVOKABLE bool isOnDesktop(const QString & desktopId) const; Q_INVOKABLE void sendToDesktop(const QString & desktopId); Q_INVOKABLE void removeFromDesktop(const QString & desktopId); - Q_INVOKABLE bool isAutoStart(const QString & desktopId) const; Q_INVOKABLE void setAutoStart(const QString & desktopId, bool on = true); Q_INVOKABLE bool shouldSkipConfirmUninstallDialog(const QString & desktopId) const; Q_INVOKABLE void uninstallApp(const QString & desktopId); diff --git a/qml/AppItemMenu.qml b/qml/AppItemMenu.qml index 1fa073bb..a5a01dcd 100644 --- a/qml/AppItemMenu.qml +++ b/qml/AppItemMenu.qml @@ -19,6 +19,7 @@ Loader { property bool hideFavoriteMenu property bool hideMoveToTopMenu property bool hideDisplayScalingMenu + property bool autoStart readonly property bool isFullscreen: LauncherController.currentFrame === "FullscreenFrame" readonly property bool isHorizontalDock: DesktopIntegration.dockPosition === Qt.UpArrow || DesktopIntegration.dockPosition === Qt.DownArrow readonly property int dockSpacing: (isHorizontalDock ? DesktopIntegration.dockGeometry.height : DesktopIntegration.dockGeometry.width) / Screen.devicePixelRatio @@ -118,9 +119,9 @@ Loader { MenuItem { objectName: "RemoveFromStartup" enabled: !root.desktopId.startsWith("internal/folders/") - text: DesktopIntegration.isAutoStart(root.desktopId) ? qsTr("Remove from startup") : qsTr("Add to startup") + text: root.autoStart ? qsTr("Remove from startup") : qsTr("Add to startup") onTriggered: { - DesktopIntegration.setAutoStart(root.desktopId, !DesktopIntegration.isAutoStart(root.desktopId)) + DesktopIntegration.setAutoStart(root.desktopId, !root.autoStart) } } MenuItem { diff --git a/qml/Main.qml b/qml/Main.qml index 097dd9be..b1a12a22 100644 --- a/qml/Main.qml +++ b/qml/Main.qml @@ -76,7 +76,8 @@ QtObject { isFavoriteItem: false, hideFavoriteMenu: true, hideDisplayScalingMenu: false, - hideMoveToTopMenu: true + hideMoveToTopMenu: true, + autoStart: model.autoStart }, additionalProps)); menu.closed.connect(menu.destroy) menu.popup(); diff --git a/shell-launcher-applet/package/launcheritem.qml b/shell-launcher-applet/package/launcheritem.qml index 185facdf..882c5886 100644 --- a/shell-launcher-applet/package/launcheritem.qml +++ b/shell-launcher-applet/package/launcheritem.qml @@ -109,7 +109,8 @@ AppletItem { isFavoriteItem: false, hideFavoriteMenu: true, hideDisplayScalingMenu: Math.abs(DesktopIntegration.scaleFactor - 1.0) < 0.0001, - hideMoveToTopMenu: true + hideMoveToTopMenu: true, + autoStart: model.autoStart }, additionalProps)); menu.closed.connect(menu.destroy) menu.popup(); diff --git a/src/ddeintegration/appmgr.cpp b/src/ddeintegration/appmgr.cpp index d076217b..01c896a6 100644 --- a/src/ddeintegration/appmgr.cpp +++ b/src/ddeintegration/appmgr.cpp @@ -124,12 +124,6 @@ bool AppMgr::launchApp(const QString &desktopId, const QString &activationToken) return true; } -bool AppMgr::autoStart(const QString &desktopId) -{ - const QVariant value = instance()->readProperty(desktopId, QStringLiteral("AutoStart")); - return value.isValid() && value.toBool(); -} - void AppMgr::setAutoStart(const QString &desktopId, bool enabled) { instance()->setProperty(desktopId, QStringLiteral("AutoStart"), enabled); diff --git a/src/ddeintegration/appmgr.h b/src/ddeintegration/appmgr.h index 8cd00373..890bc11f 100644 --- a/src/ddeintegration/appmgr.h +++ b/src/ddeintegration/appmgr.h @@ -19,7 +19,6 @@ class AppMgr final : public QObject static AppMgr *instance(); static bool launchApp(const QString &desktopId, const QString &activationToken = {}); - static bool autoStart(const QString &desktopId); static void setAutoStart(const QString &desktopId, bool enabled); static bool disableScale(const QString &desktopId); static void setDisableScale(const QString &desktopId, bool disabled);