diff --git a/quickshell/Modules/Settings/PluginSettingsPage.qml b/quickshell/Modules/Settings/PluginSettingsPage.qml index e4a35b7e3..5028af148 100644 --- a/quickshell/Modules/Settings/PluginSettingsPage.qml +++ b/quickshell/Modules/Settings/PluginSettingsPage.qml @@ -22,6 +22,7 @@ FocusScope { readonly property bool hasSettings: !!pluginData?.settings && !isDesktopPlugin readonly property bool isSystemPlugin: pluginData?.source === "system" readonly property string pluginName: pluginData?.name || pluginId + readonly property string pluginRepo: DMSService.installedPlugins.find(entry => entry.id === pluginId)?.repo ?? "" readonly property string requiresDms: pluginData?.requires_dms || "" readonly property bool meetsRequirements: requiresDms ? PluginService.checkPluginCompatibility(requiresDms) : true readonly property var permissions: Array.isArray(pluginData?.permissions) ? pluginData.permissions : [] @@ -239,6 +240,22 @@ FocusScope { visible: subtitle !== "" } + SettingsRow { + iconName: "code" + title: I18n.tr("Plugin Source Code", "plugin settings page, plugin details") + subtitle: I18n.tr("Opens %1", "plugin settings page, plugin details, %1 is the link to the plugin source code").arg(root.pluginRepo) + clickable: true + visible: root.pluginRepo !== "" + onClicked: Qt.openUrlExternally(root.pluginRepo) + + DankIcon { + anchors.verticalCenter: parent.verticalCenter + name: "open_in_browser" + size: Theme.iconSizeMedium + color: Theme.primary + } + } + SettingsRow { visible: root.permissions.length > 0 body: Flow {