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:
vicrodh committed 2026-09-13 16:27:53 -06:00
1 parent f81b63b817
commit 41ca92961a
11 files changed
+106 -38

No files matched your search

@@ -4450,8 +4450,9 @@ msgstr "Titelleisten-Modus geändert — QBZ neu starten, um es zu übernehmen"
msgid "Compact header navigation"
msgstr "Kompakte Navigation in der Kopfzeile"
msgid "Use the icon-only section navigation in the header even while the sidebar is open."
msgstr "Verwendet die Abschnittsnavigation nur mit Symbolen in der Kopfzeile, auch wenn die Seitenleiste geöffnet ist."
#: crates/qbz-qt/qml/settings/NavigationSettings.qml
msgid "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."
msgstr "Verwendet in der Kopfzeile immer die Abschnittsnavigation nur mit Symbolen. Ausgeschaltet wechseln die Textreiter nur dann zu Symbolen, wenn sie neben dem Suchfeld nicht mehr Platz finden."
# DSD support Phase 1 (2026-07-03)
msgid "DSD: {}"
@@ -3289,3 +3289,8 @@ msgstr "“{}” will be deleted. This cannot be undone."
#: qbz-qt/qml/controls/PlaylistDeleteConfirm.qml
msgid "Delete"
msgstr "Delete"
#: crates/qbz-qt/qml/settings/NavigationSettings.qml
msgid "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."
msgstr "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."
@@ -4486,8 +4486,9 @@ msgstr "Modo de barra de título cambiado — reinicia QBZ para aplicar"
msgid "Compact header navigation"
msgstr "Navegación compacta en el encabezado"
msgid "Use the icon-only section navigation in the header even while the sidebar is open."
msgstr "Usa la navegación de secciones de solo iconos en el encabezado aunque la barra lateral esté abierta."
#: crates/qbz-qt/qml/settings/NavigationSettings.qml
msgid "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."
msgstr "Usa siempre la navegación de secciones de solo iconos en el encabezado. Apagado, las pestañas de texto pasan a iconos solo cuando ya no caben junto al cuadro de búsqueda."
# DSD support Phase 1 (2026-07-03)
msgid "DSD: {}"
@@ -4450,8 +4450,9 @@ msgstr "Mode de barre de titre modifié — redémarrez QBZ pour appliquer"
msgid "Compact header navigation"
msgstr "Navigation compacte dans l'en-tête"
msgid "Use the icon-only section navigation in the header even while the sidebar is open."
msgstr "Utilise la navigation des sections en icônes seules dans l'en-tête, même lorsque la barre latérale est ouverte."
#: crates/qbz-qt/qml/settings/NavigationSettings.qml
msgid "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."
msgstr "Utilise toujours la navigation des sections en icônes seules dans l'en-tête. Désactivé, les onglets texte ne passent en icônes que lorsqu'ils ne tiennent plus à côté du champ de recherche."
# DSD support Phase 1 (2026-07-03)
msgid "DSD: {}"
@@ -4439,8 +4439,9 @@ msgstr "タイトルバーモードを変更しました — 適用するにはQ
msgid "Compact header navigation"
msgstr "ヘッダーのコンパクトナビゲーション"
msgid "Use the icon-only section navigation in the header even while the sidebar is open."
msgstr "サイドバーが開いていても、ヘッダーにアイコンのみのセクションナビゲーションを使用します。"
#: crates/qbz-qt/qml/settings/NavigationSettings.qml
msgid "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."
msgstr "ヘッダーのセクションナビゲーションを常にアイコンのみで表示します。オフの場合、テキストタブは検索ボックスの横に収まらなくなったときだけアイコンに切り替わります。"
# DSD support Phase 1 (2026-07-03)
msgid "DSD: {}"
@@ -4465,8 +4465,9 @@ msgstr "Titelbalkmodus gewijzigd — herstart QBZ om toe te passen"
msgid "Compact header navigation"
msgstr "Compacte headernavigatie"
msgid "Use the icon-only section navigation in the header even while the sidebar is open."
msgstr "Gebruik de sectienavigatie met alleen iconen in de header, ook terwijl de zijbalk open is."
#: crates/qbz-qt/qml/settings/NavigationSettings.qml
msgid "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."
msgstr "Gebruik altijd de sectienavigatie met alleen iconen in de header. Uit, schakelen de teksttabbladen alleen over op iconen wanneer ze niet meer naast het zoekveld passen."
msgid "DSD: {}"
msgstr "DSD: {}"
@@ -4450,8 +4450,9 @@ msgstr "Modo da barra de título alterado — reinicie o QBZ para aplicar"
msgid "Compact header navigation"
msgstr "Navegação compacta no cabeçalho"
msgid "Use the icon-only section navigation in the header even while the sidebar is open."
msgstr "Usa a navegação de secções apenas com ícones no cabeçalho mesmo com a barra lateral aberta."
#: crates/qbz-qt/qml/settings/NavigationSettings.qml
msgid "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."
msgstr "Usa sempre a navegação de secções apenas com ícones no cabeçalho. Desligado, os separadores de texto só passam a ícones quando deixam de caber ao lado da caixa de pesquisa."
# DSD support Phase 1 (2026-07-03)
msgid "DSD: {}"
@@ -4466,8 +4466,9 @@ msgstr "Режим строки заголовка изменён — перез
msgid "Compact header navigation"
msgstr "Компактная навигация в заголовке"
msgid "Use the icon-only section navigation in the header even while the sidebar is open."
msgstr "Использовать навигацию по разделам только со значками в заголовке, даже когда боковая панель открыта."
#: crates/qbz-qt/qml/settings/NavigationSettings.qml
msgid "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."
msgstr "Всегда использовать навигацию по разделам только со значками в заголовке. Если выключено, текстовые вкладки переходят на значки только тогда, когда перестают помещаться рядом с полем поиска."
# DSD support Phase 1 (2026-07-03)
msgid "DSD: {}"