fix(navigation): include local library tabs in history

Record the outgoing tab state and scroll before switching, restore same-view history entries, and route sidebar tab requests through the same path without duplicating the initial landing. Add shared CI and local regressions for source filtering and tab transitions.

cx
This commit is contained in:
vicrodh committed 2026-09-06 14:34:41 -06:00
1 parent bf84f2e65b
commit f9578d042c
9 files changed
+229 -25

No files matched your search

+7 -2
View File
@@ -567,11 +567,14 @@ Item {
/// line number.) A handler runs once per item change and registers no
/// dependency, so the guard survives and the cycle does not.
property bool _itemTabbed: false
property bool _itemTabRequest: false
Connections {
target: viewLoader
function onItemChanged() {
root._itemTabbed = viewLoader.item !== null
&& typeof viewLoader.item.activeTab === "string"
root._itemTabRequest = viewLoader.item !== null
&& typeof viewLoader.item.tabNavigationRequest !== "undefined"
}
}
@@ -590,12 +593,14 @@ Item {
Binding {
target: viewLoader.item
property: "activeTab"
property: root._itemTabRequest ? "tabNavigationRequest" : "activeTab"
when: !root._armed
&& root._itemTabbed
&& QbzShell.navTab !== ""
&& QbzShell.navTabView === QbzShell.currentView
value: (QbzShell.navTabSeq, QbzShell.navTab)
value: root._itemTabRequest
? ({ "tab": QbzShell.navTab, "sequence": QbzShell.navTabSeq })
: (QbzShell.navTabSeq, QbzShell.navTab)
restoreMode: Binding.RestoreNone
}
}