From 311680c090223eb5eacf45c29abd2e69caabcd35 Mon Sep 17 00:00:00 2001 From: Stela Augustinova Date: Fri, 28 Nov 2025 13:23:02 +0100 Subject: [PATCH] Add commands for viewing application logs and managing plugins; update settings tab integration --- app/src/mainMenuDefinition.js | 4 ++ packages/web/src/commands/stdCommands.ts | 46 +++++++++++++++---- packages/web/src/tabs/SettingsTab.svelte | 6 ++- .../web/src/widgets/WidgetIconPanel.svelte | 33 +++---------- 4 files changed, 53 insertions(+), 36 deletions(-) diff --git a/app/src/mainMenuDefinition.js b/app/src/mainMenuDefinition.js index 71d236e72..bb3696c94 100644 --- a/app/src/mainMenuDefinition.js +++ b/app/src/mainMenuDefinition.js @@ -76,6 +76,8 @@ module.exports = ({ editMenu, isMac }, currentTranslations = null) => [ { command: 'app.zoomIn', hideDisabled: true }, { command: 'app.zoomOut', hideDisabled: true }, { command: 'app.zoomReset', hideDisabled: true }, + { divider: true }, + { command: 'app.showLogs', hideDisabled: true }, ], }, { @@ -95,6 +97,8 @@ module.exports = ({ editMenu, isMac }, currentTranslations = null) => [ { divider: true }, { command: 'app.exportConnections', hideDisabled: true }, { command: 'app.importConnections', hideDisabled: true }, + { divider: true }, + { command: 'app.managePlugins', hideDisabled: true }, ], }, ...(isMac diff --git a/packages/web/src/commands/stdCommands.ts b/packages/web/src/commands/stdCommands.ts index 008759301..4e69d4fbe 100644 --- a/packages/web/src/commands/stdCommands.ts +++ b/packages/web/src/commands/stdCommands.ts @@ -11,6 +11,7 @@ import { promoWidgetPreview, visibleToolbar, visibleWidgetSideBar, + selectedWidget, } from '../stores'; import registerCommand from './registerCommand'; import { get } from 'svelte/store'; @@ -795,14 +796,14 @@ if (hasPermission('settings/change')) { testEnabled: () => hasPermission('settings/change'), }); - registerCommand({ - id: 'settings.show', - category: __t('command.settings', { defaultMessage: 'Settings' }), - name: __t('command.settings.change', { defaultMessage: 'Change' }), - toolbarName: __t('command.settings', { defaultMessage: 'Settings' }), - onClick: () => showModal(SettingsModal), - testEnabled: () => hasPermission('settings/change'), - }); + // registerCommand({ + // id: 'settings.show', + // category: __t('command.settings', { defaultMessage: 'Settings' }), + // name: __t('command.settings.change', { defaultMessage: 'Change' }), + // toolbarName: __t('command.settings', { defaultMessage: 'Settings' }), + // onClick: () => showModal(SettingsModal), + // testEnabled: () => hasPermission('settings/change'), + // }); } registerCommand({ @@ -1223,6 +1224,35 @@ registerCommand({ }, }); +if ( hasPermission('application-log')) +{ + registerCommand({ + id: 'app.showLogs', + category: __t('command.application', { defaultMessage: 'Application' }), + name: __t('command.application.showLogs', { defaultMessage: 'View application logs' }), + onClick: () => { + openNewTab({ + title: 'Application log', + icon: 'img applog', + tabComponent: 'AppLogTab', + }); + }, + }); +} + +if (hasPermission('widgets/plugins')) +{ + registerCommand({ + id: 'app.managePlugins', + category: __t('command.application', { defaultMessage: 'Application' }), + name: __t('command.application.managePlugins', { defaultMessage: 'Manage plugins' }), + onClick: () => { + selectedWidget.set('plugins'); + visibleWidgetSideBar.set(true); + }, + }); +} + const electron = getElectron(); if (electron) { electron.addEventListener('run-command', (e, commandId) => runCommand(commandId)); diff --git a/packages/web/src/tabs/SettingsTab.svelte b/packages/web/src/tabs/SettingsTab.svelte index 7ec3fdb04..e4e89c8f9 100644 --- a/packages/web/src/tabs/SettingsTab.svelte +++ b/packages/web/src/tabs/SettingsTab.svelte @@ -1,4 +1,8 @@ - + +