feat(qt): header nav goes compact only when the text tabs no longer fit, and compact items honour the click rule
The compact icon form is now a fit decision, agnostic of the sidebar state: text tabs while every label at the 11 px floor plus the tab chrome and whatever trails the tabs (the playlists button a closed sidebar adds) fits left of the search box, icons only otherwise — or always with "Compact header navigation" on. A closed sidebar used to force the compact form by itself; it now only adds one button to the measure, so a window with room keeps its text tabs. The room is measured from the third sacred button, not from the hidden row (a Row leaves a hidden child's x where it was). The downloads ring and the separator + playlists flyout button move out of the compact row into a trailing group shared by both forms, so a closed sidebar with room keeps its playlists entry; the group hides outright when it has nothing to show. Compact section buttons now call NavFlyout.sectionClicked like the text tabs and the sidebar rows do, so under the click-navigates opt-in a click on an icon lands on the section's first entry instead of only opening the flyout — Purchases was the one compact item that navigated. Settings > Navigation describes the new rule in all eight catalogs (en never carried the old entry). The Purchases navigation gate models headerNavOn and the fit bit: 128 x 3 combinations, still exactly one reachable Purchases entry. cc
This commit is contained in:
11 files changed
+106
-38
No files matched your search
@@ -26,7 +26,7 @@ Column {
|
||||
// ADR-010: only mounted when navigation is NOT in the sidebar.
|
||||
visible: root.doc.navInSidebar !== true
|
||||
label: QbzSession.tr("Compact header navigation", QbzSession.trRev)
|
||||
description: QbzSession.tr("Use the icon-only section navigation in the header even while the sidebar is open.", QbzSession.trRev)
|
||||
description: QbzSession.tr("Always use the icon-only section navigation in the header. When off, the text tabs turn into icons only when they no longer fit next to the search box.", QbzSession.trRev)
|
||||
QbzToggle { kioskHost: root.kioskHost;
|
||||
checked: root.doc.navHeaderCompact === true
|
||||
onToggled: function (v) { QbzBridge.settingsBool("nav-header-compact", v) }
|
||||
|
||||
Reference in new issue
Block a user