diff --git a/apps/desktop/src/components/layout/EditorGroupTabBar.vue b/apps/desktop/src/components/layout/EditorGroupTabBar.vue index d3246ed27a..e0b8920d24 100644 --- a/apps/desktop/src/components/layout/EditorGroupTabBar.vue +++ b/apps/desktop/src/components/layout/EditorGroupTabBar.vue @@ -131,6 +131,7 @@ const fixedTabsScroll = useTabScroll(fixedTabsRowRef); const regularTabsScroll = useTabScroll(regularTabsRowRef); const editingTabId = ref(null); const editingTitle = ref(""); +const openTabTooltipId = ref(null); // Drag suppression must survive pointerup: the browser fires click *after* // pointerup, so the flag is consumed by the click instead of being cleared // with the drag state. A fresh pointerdown always resets it. @@ -912,6 +913,23 @@ const tabTooltipSide = computed(() => { if (!isVerticalLayout.value) return "bottom" as const; return settingsStore.editorSettings.tabPlacement === "left" ? ("right" as const) : ("left" as const); }); +function updateTabTooltipOpen(tabId: string, open: boolean) { + if (open) { + openTabTooltipId.value = tabId; + } else if (openTabTooltipId.value === tabId) { + openTabTooltipId.value = null; + } +} + +function closeTabTooltip(tabId: string) { + if (openTabTooltipId.value === tabId) { + openTabTooltipId.value = null; + } +} + +function isConnectionlessPluginTab(tab: QueryTab): boolean { + return (tab.mode === "plugin-workbench" || tab.mode === "plugin-filesystem") && !tab.connectionId; +} /** * Drag visuals for a pill, ported from the legacy tab bar's tabDropStyle: the @@ -1578,7 +1596,7 @@ watch([() => props.specialPageTabs?.settingsActive, () => props.specialPageTabs? @contextmenu="onContextMenu" @transitionend.self="handleTabGroupTransitionEnd" > - +
props.specialPageTabs?.settingsActive, () => props.specialPageTabs? :data-active-tab="isTabActive(entry.tab)" :data-tab-id="entry.tab.id" @pointerdown="handleTabPointerDown($event, entry.tab)" + @mouseleave="closeTabTooltip(entry.tab.id)" @click="handleTabClick(entry.tab)" @dblclick="handleTabDoubleClick(entry.tab, $event)" @mousedown.middle.prevent="closeTab(entry.tab)" @@ -1638,7 +1657,10 @@ watch([() => props.specialPageTabs?.settingsActive, () => props.specialPageTabs?
- + + {{ tabTitleText(entry.tab) }} + +