Finish the wonderland: System told truthfully, in eight tabs instead of ten

Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
Gabriel Brown
2026-08-24 23:31:52 -04:00
parent 9ffaf45a4d
commit be0e55214b
57 changed files with 5040 additions and 925 deletions
@@ -28,6 +28,14 @@ Item {
// scrolls -- the Appearance page pins its live preview here.
property Component header: null
// A view that replaces the page entirely while it is up. Containers' log
// reader is the case: logs need their own scrollback, and a scrolling view
// nested inside a scrolling page makes the wheel ambiguous over exactly the
// region where somebody wants to use it. A page that owns one stays a
// SettingsPage rather than becoming a bare Item wrapping two of them.
property Component drillIn: null
property bool drilledIn: false
Loader {
id: pinnedHeader
@@ -37,11 +45,19 @@ Item {
anchors.leftMargin: 34
anchors.rightMargin: 34
anchors.topMargin: 30
visible: !root.drilledIn
active: root.header !== null
sourceComponent: root.header
z: 1
}
Loader {
anchors.fill: parent
active: root.drillIn !== null && root.drilledIn
sourceComponent: root.drillIn
z: 2
}
Flickable {
id: pageScroll
@@ -50,6 +66,7 @@ Item {
anchors.top: pinnedHeader.implicitHeight > 0 ? pinnedHeader.bottom : parent.top
anchors.bottom: parent.bottom
anchors.topMargin: pinnedHeader.implicitHeight > 0 ? 16 : 0
visible: !root.drilledIn
clip: true
contentWidth: width
contentHeight: layout.implicitHeight + (pinnedHeader.implicitHeight > 0 ? 34 : 64)