adwaita-template/Sources/ToolbarView.swift
2025-11-05 21:58:28 +01:00

54 lines
1.8 KiB
Swift

import Adwaita
struct ToolbarView: View {
@State private var about = false
@State private var shortcuts = false
var app: AdwaitaApp
var window: AdwaitaWindow
var view: Body {
HeaderBar.end {
content
.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")!
)
.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())
}
}
}
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)
}
}