diff --git a/packages/frontend/src/components/FileEditorContainer.vue b/packages/frontend/src/components/FileEditorContainer.vue index d298078..da04d63 100644 --- a/packages/frontend/src/components/FileEditorContainer.vue +++ b/packages/frontend/src/components/FileEditorContainer.vue @@ -7,9 +7,15 @@ import FileEditorTabs from './FileEditorTabs.vue'; // 导入标签栏组件 (路 // import { useFileEditorStore } from '../stores/fileEditor.store'; // 移除 Store 导入 import type { FileTab } from '../stores/fileEditor.store'; // 保留类型导入 import { useFocusSwitcherStore } from '../stores/focusSwitcher.store'; // +++ 导入焦点切换 Store +++ +import { useSessionStore } from '../stores/session.store'; // +++ 导入会话 Store +++ +import { useSettingsStore } from '../stores/settings.store'; // +++ 导入设置 Store +++ +import { storeToRefs } from 'pinia'; // +++ 导入 storeToRefs +++ const { t } = useI18n(); const focusSwitcherStore = useFocusSwitcherStore(); // +++ 实例化焦点切换 Store +++ +const sessionStore = useSessionStore(); // +++ 实例化会话 Store +++ +const settingsStore = useSettingsStore(); // +++ 实例化设置 Store +++ +const { shareFileEditorTabsBoolean } = storeToRefs(settingsStore); // +++ 获取共享设置 +++ // --- Props --- const props = defineProps({ @@ -125,6 +131,12 @@ const currentTabFilePath = computed(() => activeTab.value?.filePath ?? ''); const currentTabIsModified = computed(() => activeTab.value?.isModified ?? false); // 用于显示修改状态 // +++ 新增:计算当前选择的编码 +++ const currentSelectedEncoding = computed(() => activeTab.value?.selectedEncoding ?? 'utf-8'); +// +++ 新增:计算当前活动标签的会话名称 +++ +const currentTabSessionName = computed(() => { + const sessionId = activeTab.value?.sessionId; + if (!sessionId) return null; + return sessionStore.sessions.get(sessionId)?.connectionName ?? null; // 修正:使用 connectionName +}); // Watch for changes in the selected encoding to update width watch(currentSelectedEncoding, () => { @@ -291,7 +303,7 @@ const handleKeyDown = (event: KeyboardEvent) => {
- {{ t('fileManager.editingFile') }}: {{ currentTabFilePath }} + {{ t('fileManager.editingFile') }}: {{ currentTabFilePath }} *
diff --git a/packages/frontend/src/components/FileEditorOverlay.vue b/packages/frontend/src/components/FileEditorOverlay.vue index 6c20c43..1837089 100644 --- a/packages/frontend/src/components/FileEditorOverlay.vue +++ b/packages/frontend/src/components/FileEditorOverlay.vue @@ -160,6 +160,13 @@ const currentTabSaveError = computed(() => activeTab.value?.saveError ?? null); const currentTabLanguage = computed(() => activeTab.value?.language ?? 'plaintext'); const currentTabFilePath = computed(() => activeTab.value?.filePath ?? ''); const currentTabIsModified = computed(() => activeTab.value?.isModified ?? false); +// +++ 新增:计算当前活动标签的会话名称 (与 Container 逻辑一致) +++ +const currentTabSessionName = computed(() => { + const sessionId = activeTab.value?.sessionId; + if (!sessionId) return null; + // sessionStore 已在 setup 中实例化 + return sessionStore.sessions.get(sessionId)?.connectionName ?? null; // 修正:使用 connectionName +}); // --- 事件处理 (根据模式调用不同 action) --- @@ -352,7 +359,7 @@ onBeforeUnmount(() => {
- {{ t('fileManager.editingFile') }}: {{ currentTabFilePath }} + {{ t('fileManager.editingFile') }}: {{ currentTabFilePath }} *