Aller au contenu principal

SETTINGS PAGE — APPLICATION AND COLLECTION TABS

Status Implementation Verification

Context​

The K3 Settings page holds two parts of similar size, one after the other: the settings of the open collection (data mode, collection, database version and Quality check, hosted connection, import) and the application preferences (behavior, theme, language, settings file). A user changing a preference had to scroll past the whole collection part, and the reverse.

The maintainer chose on 2026-10-10 to split the page into two tabs, Application first, rather than moving the collection part to a separate drawer page. A separate page was set aside: its drawer label would need a new string, and it would add a page, a drawer entry and a further split from K2. It may be reconsidered if the collection part grows.

The page also contains a "Search" section (Layout, "Keep Selection visible with Search and Results") that is commented out in the source and never shown. It is not part of this layout; restoring it is a separate decision.

Scope at a glance​

In scopeNot in scope
The layout of the K3 Settings page (PageSettings.qml): the tab bar, which section goes in which tab, and which tab shows when the page opens.The content of the sections, owned by their own specs (SpecWindowGeometry WIN-F4, SpecTypography TYP-F9, SpecTheme, SpecLanguages LNG-F5, SpecQualityCheck QCK-F13, SpecCollectionOpen, SpecCollectionExport CEX-F1). K2's Settings tab. core/. The commented-out Search section.

Operational requirements — why / for whom​

IDRequirementStatus
SET-O1The user finds the application preferences and the collection/database settings in two separate places on the Settings page, so changing a preference never requires going past the collection connection form, and the reverse.[Planned]

Functional requirements — what the system does​

IDRequirementStatus
SET-F1The K3 Settings page shows a tab bar at the top with two tabs, in this order: "Application", then "Collection". The titles reuse the existing PageSettings strings qsTr("Application") and qsTr("Collection") byte-for-byte.[Planned]
SET-F2The Application tab holds two sections, each with a section title (SpecPageLayout.md PGL-F5, PGL-C13): "Interface", with rows in this order: Language, Theme, Text size, Icon size (the Use bigger icon size checkbox), Window size (the Reset window size button), Behavior; then "App information", with rows in this order: Version (with Release Notes), the Check for a new version on startup checkbox, Settings file. No "Application" heading is shown inside the tab: the tab title replaces it. The controls are unchanged; only their grouping, order and row labels change. (Amended 2026-10-11 by the maintainer: was Version, Language, Theme (including the text size and Reset window size), Behavior, settings file, with no section titles.)[Planned]
SET-F3The Collection tab holds the "Collection & Database" section (Database Mode, Collection, Database Version with the Quality check button, Database Name / hosted form) and then the "Collection Import & Synchronization" section, each with its heading. The rows are unchanged, except for the export buttons added to "Collection & Database", which are owned by SpecCollectionExport.md (CEX-F1). (Amendment approved by the maintainer on 2026-10-10.)[Planned]
SET-F4Opening Settings from the drawer Settings entry, or by restoring the last page at startup, always shows the Application tab.[Planned]
SET-F5Opening Settings from the drawer Open... > Hosted Database... shows the Collection tab, with the hosted form visible.[Planned]
SET-F6The two tab buttons each take an equal share of the full width of the tab bar, on every style (Breeze sized them to their text; Fusion already shared the width). (Requested by the maintainer on 2026-10-11: "I'ld like to test the tabs using all the width of the window" … "my question is only on the individual tab size".)[Implemented]

Constructional requirements — how it is built / limits / MUST-NOTs​

IDRequirementStatus
SET-C1K3 only. No change to core/ or to K2's Settings tab.[Planned]
SET-C2The tab split adds no user-visible string. Every row keeps its existing qsTr text. Strings added by a section's own spec (for example the export buttons, SpecCollectionExport.md CEX-C3) are governed by that spec, not by this constraint. (Amendment approved by the maintainer on 2026-10-10.) (Amendment 2026-10-11: the SET-F2 sections add four strings, each approved by the maintainer: "Interface", "App information", "Icon size", "Window size". "Text size" becomes a row label with its existing qsTr string unchanged.)[Planned]
SET-C3The tab choice is not persisted: no new key in katalog3_prerelease_settings.ini. Beta1/beta2 settings files are unaffected.[Planned]

Manual test charter​

  • SET-F1 / SET-F2 / SET-F3 — Open Settings: the tabs are Application then Collection. The Application tab shows the title "Interface" (Language, Theme, Text size, Icon size, Window size, Behavior), then the title "App information" (Version, Check for a new version on startup, Settings file), with no "Application" heading. Both titles use the PGL-F5 row, and all labels of the tab share one column. The Collection tab shows "Collection & Database" then "Collection Import & Synchronization". Switch the language: both tab titles are translated.
  • SET-F4 — Open Settings from the drawer, switch to Collection, close, reopen: the Application tab shows. Quit with Settings as the last page and restart: the Application tab shows.
  • SET-F6 — On Breeze and on Fusion, at a wide and a narrow window: the Application and Collection tabs are of equal width and together fill the tab bar.
  • SET-F5 — Drawer Open... > Hosted Database...: the Collection tab shows with the hosted form.
  • SET-C3 — After the steps above, the settings file has no new key.
  • Re-run the charter lines of CEX-F1 / CEX-F2: the export buttons are in "Collection & Database" on the Collection tab.
  • Re-run the charter lines of WIN-F4, TYP-F9 and QCK-F13: their rows are still reachable in their tab.