Fix broken preferences page tabs #74
Some checks failed
Deploy Docs / publish (push) Has been cancelled
SwiftLint / SwiftLint (push) Has been cancelled

This commit is contained in:
david-swift 2026-02-17 16:29:12 +01:00
parent 2072c16040
commit d928b464f1
2 changed files with 11 additions and 5 deletions

View File

@ -65,12 +65,15 @@ public struct PreferencesDialog: AdwaitaWidget {
let page = Adwaita.PreferencesPage() let page = Adwaita.PreferencesPage()
.title(title) .title(title)
.iconName(icon.string) .iconName(icon.string)
.storage(data: data.noModifiers, type: AdwaitaMainView.self) let pageStorage = page.storage(data: data.noModifiers, type: AdwaitaMainView.self)
let groups = content.map { $0.gtkPreferencesGroup(data: data) } page.update(pageStorage, data: data, updateProperties: true, type: AdwaitaMainView.self)
for group in groups { let groups = content.map { item in
adw_preferences_page_add(page.opaquePointer?.cast(), group.opaquePointer?.cast()) let storage = item.gtkPreferencesGroup(data: data)
item.update(group: storage, data: data, updateProperties: true)
adw_preferences_page_add(pageStorage.opaquePointer?.cast(), storage.opaquePointer?.cast())
return storage
} }
return (page.opaquePointer, groups) return (pageStorage.opaquePointer, groups)
} }
/// Update the page. /// Update the page.

View File

@ -175,6 +175,9 @@ struct Demo: App {
.title("Extra Action") .title("Extra Action")
} }
} }
.preferencesPage("Page 2", icon: .default(icon: .faceEmbarrassed)) { page in
page
}
.alertDialog( .alertDialog(
visible: $closeAlert, visible: $closeAlert,
heading: "Close this Window?", heading: "Close this Window?",