diff --git a/packages/backend/src/settings/settings.controller.ts b/packages/backend/src/settings/settings.controller.ts index 8107242..658a6c0 100644 --- a/packages/backend/src/settings/settings.controller.ts +++ b/packages/backend/src/settings/settings.controller.ts @@ -41,6 +41,7 @@ export const settingsController = { 'autoCopyOnSelect', 'dockerStatusIntervalSeconds', 'dockerDefaultExpand', 'statusMonitorIntervalSeconds', // +++ 添加状态监控间隔键 +++ 'workspaceSidebarPersistent', // +++ 添加侧边栏固定键 +++ + 'showPopupFileManager', // +++ 添加弹窗文件管理器设置键 +++ 'sidebarPaneWidths', // +++ 添加侧边栏宽度对象键 +++ 'fileManagerRowSizeMultiplier', // +++ 添加文件管理器行大小键 +++ 'fileManagerColWidths', // +++ 添加文件管理器列宽键 +++ diff --git a/packages/frontend/src/components/CommandInputBar.vue b/packages/frontend/src/components/CommandInputBar.vue index 2d60782..1e71de0 100644 --- a/packages/frontend/src/components/CommandInputBar.vue +++ b/packages/frontend/src/components/CommandInputBar.vue @@ -25,7 +25,7 @@ const commandHistoryStore = useCommandHistoryStore(); const sessionStore = useSessionStore(); // +++ 初始化 Session Store +++ // Get reactive setting from store -const { commandInputSyncTarget } = storeToRefs(settingsStore); +const { commandInputSyncTarget, showPopupFileManagerBoolean } = storeToRefs(settingsStore); // +++ Import showPopupFileManagerBoolean +++ // Get reactive state and actions from quick commands store const { selectedIndex: quickCommandsSelectedIndex, flatVisibleCommands: quickCommandsFiltered } = storeToRefs(quickCommandsStore); const { resetSelection: resetQuickCommandsSelection } = quickCommandsStore; @@ -298,6 +298,17 @@ const closeSuspendedSshSessionsModal = () => { showSuspendedSshSessionsModal.value = false; }; +// +++ Function to request opening the file manager modal via event bus +++ +const openFileManagerModal = () => { + if (activeSessionId.value) { + console.log(`[CommandInputBar] Emitting fileManager:openModalRequest for session: ${activeSessionId.value}`); + emitWorkspaceEvent('fileManager:openModalRequest', { sessionId: activeSessionId.value }); + } else { + console.warn('[CommandInputBar] Cannot open file manager modal: No active session ID.'); + // Optionally, show a notification to the user + } +}; + // +++ Handler for command execution from the modal +++ const handleQuickCommandExecute = (command: string) => { console.log(`[CommandInputBar] Executing quick command: ${command}`); @@ -400,6 +411,15 @@ const handleQuickCommandExecute = (command: string) => { + +