feat(Plugins): add toggle to hide the update notification

This commit is contained in:
Lysec
2026-03-15 20:09:18 +01:00
parent 59be951fd4
commit dbdabba589
21 changed files with 62 additions and 15 deletions
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Installieren Sie Plugins aus dem Abschnitt \"Verfügbar\".",
"installed-no-plugins-label": "Keine Plugins installiert",
"installing": "{plugin} wird installiert...",
"notify-updates": "Plugin-Update-Benachrichtigungen",
"notify-updates-description": "Zeige ein Benachrichtigungs-Popup an, wenn neue Plugin-Updates verfügbar sind.",
"open-plugin-page": "Plugin-Seite öffnen",
"open-plugins-tab": "Plugin-Einstellungen öffnen",
"plugin-settings-title": "{plugin} Einstellungen",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Install plugins from the \"Available\" section.",
"installed-no-plugins-label": "No plugins installed",
"installing": "Installing {plugin}...",
"notify-updates": "Plugin update notifications",
"notify-updates-description": "Show a notification popup when new plugin updates are available.",
"open-plugin-page": "Open plugin page",
"open-plugins-tab": "Open plugins settings",
"plugin-settings-title": "{plugin} Settings",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Instale los plugins de la sección \"Disponible\".",
"installed-no-plugins-label": "No hay plugins instalados",
"installing": "Instalando {plugin}...",
"notify-updates": "Notificaciones de actualización de plugins",
"notify-updates-description": "Mostrar una notificación emergente cuando haya nuevas actualizaciones de plugins disponibles.",
"open-plugin-page": "Abrir página del plugin",
"open-plugins-tab": "Abrir la configuración de los plugins",
"plugin-settings-title": "Ajustes de {plugin}",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Installez les plugins depuis la section \"Disponible\".",
"installed-no-plugins-label": "Aucun plugin installé",
"installing": "Installation de {plugin}...",
"notify-updates": "Notifications de mise à jour des plugins",
"notify-updates-description": "Afficher une notification contextuelle lorsque de nouvelles mises à jour de plugins sont disponibles.",
"open-plugin-page": "Ouvrir la page du plugin",
"open-plugins-tab": "Ouvrir les paramètres des plugins",
"plugin-settings-title": "Paramètres de {plugin}",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Bővítmények telepítése az \"Elérhető\" szakaszban lehetséges.",
"installed-no-plugins-label": "Nincs telepített bővítmény",
"installing": "{plugin} telepítése...",
"notify-updates": "Bővítményfrissítési értesítések",
"notify-updates-description": "Értesítési előugró ablak megjelenítése, ha új bővítményfrissítések érhetők el.",
"open-plugin-page": "Bővítmény oldal megnyitása",
"open-plugins-tab": "Bővítmények beállításainak megnyitása",
"plugin-settings-title": "{plugin} beállításai",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Installa plugin dalla sezione \"Disponibili\".",
"installed-no-plugins-label": "Nessun plugin installato",
"installing": "Installazione {plugin}...",
"notify-updates": "Notifiche di aggiornamento dei plugin",
"notify-updates-description": "Mostra un popup di notifica quando sono disponibili nuovi aggiornamenti per i plugin.",
"open-plugin-page": "Apri pagina plugin",
"open-plugins-tab": "Apri impostazioni plugin",
"plugin-settings-title": "Impostazioni {plugin}",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "「利用可能」セクションからプラグインをインストールしてください。",
"installed-no-plugins-label": "インストールされているプラグインはありません",
"installing": "{plugin} をインストール中...",
"notify-updates": "プラグインの更新通知",
"notify-updates-description": "新しいプラグインのアップデートが利用可能な場合に通知ポップアップを表示します。",
"open-plugin-page": "プラグインページを開く",
"open-plugins-tab": "プラグイン設定を開く",
"plugin-settings-title": "{plugin} の設定",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "\"사용 가능\" 섹션에서 플러그인을 설치하세요.",
"installed-no-plugins-label": "설치된 플러그인 없음",
"installing": "{plugin} 설치 중...",
"notify-updates": "플러그인 업데이트 알림",
"notify-updates-description": "새로운 플러그인 업데이트가 있을 때 알림 팝업을 표시합니다.",
"open-plugin-page": "플러그인 페이지 열기",
"open-plugins-tab": "플러그인 설정 열기",
"plugin-settings-title": "{plugin} 설정",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Installeer plugins uit de sectie \"Beschikbaar\".",
"installed-no-plugins-label": "Geen plugins geïnstalleerd",
"installing": "{plugin} installeren...",
"notify-updates": "Plugin-updatemeldingen",
"notify-updates-description": "Toon een melding wanneer nieuwe plug-in-updates beschikbaar zijn.",
"open-plugin-page": "Open plug-in pagina",
"open-plugins-tab": "Open plugininstellingen",
"plugin-settings-title": "{plugin} Instellingen",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Zainstaluj wtyczki z sekcji \"Dostępne\".",
"installed-no-plugins-label": "Brak zainstalowanych wtyczek",
"installing": "Instalowanie {plugin}...",
"notify-updates": "Powiadomienia o aktualizacjach wtyczek",
"notify-updates-description": "Wyświetl wyskakujące powiadomienie, gdy dostępne są nowe aktualizacje wtyczek.",
"open-plugin-page": "Otwórz stronę wtyczki",
"open-plugins-tab": "Otwórz ustawienia wtyczek",
"plugin-settings-title": "Ustawienia {plugin}",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Instale os plugins da seção \"Disponível\".",
"installed-no-plugins-label": "Nenhum plugin instalado",
"installing": "Instalando {plugin}...",
"notify-updates": "Notificações de atualização de plugins",
"notify-updates-description": "Mostrar um popup de notificação quando novas atualizações de plugins estiverem disponíveis.",
"open-plugin-page": "Abrir página do plugin",
"open-plugins-tab": "Abrir configurações de plugins",
"plugin-settings-title": "Configurações do {plugin}",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Установите плагины из раздела \"Доступно\".",
"installed-no-plugins-label": "Нет установленных плагинов",
"installing": "Установка {plugin}...",
"notify-updates": "Уведомления об обновлении плагинов",
"notify-updates-description": "Показывать всплывающее уведомление при наличии новых обновлений плагинов.",
"open-plugin-page": "Открыть страницу плагина",
"open-plugins-tab": "Открыть настройки плагинов",
"plugin-settings-title": "Настройки {plugin}",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Installera insticksmoduler från avsnittet \"Tillgängliga\".",
"installed-no-plugins-label": "Inga insticksmoduler installerade",
"installing": "Installerar {plugin}...",
"notify-updates": "Meddelanden om plugin-uppdateringar",
"notify-updates-description": "Visa en notifikationspopup när nya plugin-uppdateringar är tillgängliga.",
"open-plugin-page": "Öppna insticksmodulsida",
"open-plugins-tab": "Öppna insticksmodulinställningar",
"plugin-settings-title": "Inställningar för {plugin}",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "\"Mevcut\" bölümünden eklentileri kurun.",
"installed-no-plugins-label": "Eklenti kurulu değil",
"installing": "{eklenti} kuruluyor...",
"notify-updates": "Eklenti güncelleme bildirimleri",
"notify-updates-description": "Yeni eklenti güncellemeleri olduğunda bir bildirim penceresi göster.",
"open-plugin-page": "Eklenti sayfasını aç",
"open-plugins-tab": "Eklenti ayarlarına git",
"plugin-settings-title": "{plugin} ayarları",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "Встановіть плагіни з розділу \"Доступний\".",
"installed-no-plugins-label": "Немає встановлених плагінів",
"installing": "Встановлення {plugin}...",
"notify-updates": "Сповіщення про оновлення плагінів",
"notify-updates-description": "Показувати спливаюче сповіщення, коли доступні нові оновлення плагінів.",
"open-plugin-page": "Відкрити сторінку плагіна",
"open-plugins-tab": "Відкрити налаштування плагінів",
"plugin-settings-title": "Налаштування {plugin}",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "从“可用”部分安装插件。",
"installed-no-plugins-label": "未安装插件",
"installing": "正在安装 {plugin}...",
"notify-updates": "插件更新通知",
"notify-updates-description": "当有新的插件更新可用时,显示通知弹窗。",
"open-plugin-page": "打开插件页面",
"open-plugins-tab": "打开插件设置",
"plugin-settings-title": "{plugin} 设置",
+2
View File
@@ -1558,6 +1558,8 @@
"installed-no-plugins-description": "從 \"可用\"頁面來安裝外掛模組",
"installed-no-plugins-label": "沒有安裝外掛模組",
"installing": "正在安裝 {plugin}...",
"notify-updates": "外掛程式更新通知",
"notify-updates-description": "當有新的外掛程式更新可用時,顯示通知彈出視窗。",
"open-plugin-page": "打開模組頁面",
"open-plugins-tab": "開啟外掛模組設定",
"plugin-settings-title": "{plugin} 設定",
+2 -1
View File
@@ -529,7 +529,8 @@
"session": ""
},
"plugins": {
"autoUpdate": false
"autoUpdate": false,
"notifyUpdates": true
},
"idle": {
"enabled": false,
+1
View File
@@ -744,6 +744,7 @@ Singleton {
// plugins
property JsonObject plugins: JsonObject {
property bool autoUpdate: false
property bool notifyUpdates: true
}
// idle management
@@ -40,6 +40,14 @@ ColumnLayout {
onToggled: checked => Settings.data.plugins.autoUpdate = checked
}
// Update notification toggle
NToggle {
label: I18n.tr("panels.plugins.notify-updates")
description: I18n.tr("panels.plugins.notify-updates-description")
checked: Settings.data.plugins.notifyUpdates
onToggled: checked => Settings.data.plugins.notifyUpdates = checked
}
// Check for updates button
NButton {
property bool isChecking: Object.keys(PluginService.activeFetches).length > 0
+17 -14
View File
@@ -1451,25 +1451,28 @@ Singleton {
if (updateCount > 0) {
Logger.i("PluginService", updateCount, "plugin update(s) available");
ToastService.showNotice(I18n.tr("panels.plugins.title"), I18n.trp("panels.plugins.update-available", updateCount) + "\n\n" + updatesDescription, "plugin", 5000, I18n.tr("panels.plugins.open-plugins-tab"), function () {
// Open settings panel to Plugins tab on the screen where the cursor is
if (root.screenDetector) {
root.screenDetector.withCurrentScreen(function (screen) {
var panel = PanelService.getPanel("settingsPanel", screen);
if (Settings.data.plugins.notifyUpdates) {
ToastService.showNotice(I18n.tr("panels.plugins.title"), I18n.trp("panels.plugins.update-available", updateCount) + "\n\n" + updatesDescription, "plugin", 5000, I18n.tr("panels.plugins.open-plugins-tab"), function () {
// Open settings panel to Plugins tab on the screen where the cursor is
if (root.screenDetector) {
root.screenDetector.withCurrentScreen(function (screen) {
var panel = PanelService.getPanel("settingsPanel", screen);
if (panel) {
panel.requestedTab = SettingsPanel.Tab.Plugins;
panel.open();
}
});
} else {
// Fallback to primary screen if screen detector is not available
var panel = PanelService.getPanel("settingsPanel", Quickshell.screens[0]);
if (panel) {
panel.requestedTab = SettingsPanel.Tab.Plugins;
panel.open();
}
});
} else {
// Fallback to primary screen if screen detector is not available
var panel = PanelService.getPanel("settingsPanel", Quickshell.screens[0]);
if (panel) {
panel.requestedTab = SettingsPanel.Tab.Plugins;
panel.open();
}
}
});
});
}
} else if (pendingCount > 0) {
Logger.i("PluginService", pendingCount, "plugin update(s) pending (require newer Noctalia)");
} else {