Update to GNOME 49

This commit is contained in:
david-swift 2025-11-05 21:58:28 +01:00
parent 03259b3047
commit 0cd4e1b78d
4 changed files with 67 additions and 40 deletions

View File

@ -17,6 +17,8 @@ struct AdwaitaTemplate: App {
} }
} }
.defaultSize(width: 450, height: 300) .defaultSize(width: 450, height: 300)
.quitShortcut()
.closeShortcut()
} }
} }

View File

@ -1,21 +1,33 @@
default: en default: en
helloWorld: about:
en: Hello, world! de: "Info zu AdwaitaTemplate"
de: Hallo, Welt! en: "About AdwaitaTemplate"
newWindow:
en: New Window
de: Neues Fenster
closeWindow: closeWindow:
en: Close Window de: "Fenster schliessen"
de: Fenster schliessen en: "Close Window"
about: generalShortcuts:
en: About AdwaitaTemplate de: "Allgemein"
de: Info zu AdwaitaTemplate en: "General"
helloWorld:
de: "Hallo, Welt!"
en: "Hello, world!"
keyboardShortcuts:
de: "Tastenkürzel"
en: "Keyboard Shortcuts"
mainMenu: mainMenu:
en: Main Menu de: "Hauptmenü"
de: Hauptmenü en: "Main Menu"
newWindow:
de: "Neues Fenster"
en: "New Window"
quitShortcut:
de: "App beenden"
en: "Quit the Application"

View File

@ -3,38 +3,51 @@ import Adwaita
struct ToolbarView: View { struct ToolbarView: View {
@State private var about = false @State private var about = false
@State private var shortcuts = false
var app: AdwaitaApp var app: AdwaitaApp
var window: AdwaitaWindow var window: AdwaitaWindow
var view: Body { var view: Body {
HeaderBar.end { HeaderBar.end {
Menu(icon: .default(icon: .openMenu)) { content
MenuButton(Loc.newWindow, window: false) { .aboutDialog(
app.addWindow("main") visible: $about,
app: "AdwaitaTemplate",
developer: "david-swift",
version: "dev",
icon: .custom(name: "io.github.AparokshaUI.AdwaitaTemplate"),
website: .init(string: "https://git.aparoksha.dev/aparoksha/adwaita-template")!,
issues: .init(string: "https://git.aparoksha.dev/aparoksha/adwaita-template/issues")!
)
.shortcutsDialog(visible: $shortcuts)
.shortcutsSection { section in
section
.shortcutsItem(Loc.newWindow, accelerator: "n".ctrl())
.shortcutsItem(Loc.closeWindow, accelerator: "w".ctrl())
.shortcutsItem(Loc.quitShortcut, accelerator: "q".ctrl())
.shortcutsItem(Loc.keyboardShortcuts, accelerator: "question".ctrl())
} }
.keyboardShortcut("n".ctrl())
MenuButton(Loc.closeWindow) {
window.close()
}
.keyboardShortcut("w".ctrl())
MenuSection {
MenuButton(Loc.about, window: false) {
about = true
}
}
}
.primary()
.tooltip(Loc.mainMenu)
.aboutDialog(
visible: $about,
app: "AdwaitaTemplate",
developer: "david-swift",
version: "dev",
icon: .custom(name: "io.github.AparokshaUI.AdwaitaTemplate"),
website: .init(string: "https://git.aparoksha.dev/aparoksha/adwaita-template")!,
issues: .init(string: "https://git.aparoksha.dev/aparoksha/adwaita-template/issues")!
)
} }
} }
var content: AnyView {
Menu(icon: .default(icon: .openMenu)) {
MenuButton(Loc.newWindow, window: false) {
app.addWindow("main")
}
.keyboardShortcut("n".ctrl())
MenuSection {
MenuButton(Loc.keyboardShortcuts, window: false) {
shortcuts = true
}
.keyboardShortcut("question".ctrl())
MenuButton(Loc.about, window: false) {
about = true
}
}
}
.primary()
.tooltip(Loc.mainMenu)
}
} }

View File

@ -1,7 +1,7 @@
{ {
"app-id": "io.github.AparokshaUI.AdwaitaTemplate", "app-id": "io.github.AparokshaUI.AdwaitaTemplate",
"runtime": "org.gnome.Platform", "runtime": "org.gnome.Platform",
"runtime-version": "48", "runtime-version": "49",
"sdk": "org.gnome.Sdk", "sdk": "org.gnome.Sdk",
"sdk-extensions": [ "sdk-extensions": [
"org.freedesktop.Sdk.Extension.swift6" "org.freedesktop.Sdk.Extension.swift6"