// // ToolbarView.swift // // Copyright 2026 Brendan Szymanski // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // SPDX-License-Identifier: GPL-3.0-or-later // import Adwaita struct ToolbarView: View { @State private var about = false @State private var shortcuts = false var view: Body { HeaderBar.end { content .aboutDialog( visible: $about, app: "Luminate", developer: "Brendan Szymanski", version: "0.1.0", icon: .custom(name: "dev.bscubed.Luminate"), website: .init(string: "https://git.bscubed.dev/echo/Luminate")!, issues: .init(string: "https://git.bscubed.dev/echo/Luminate/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)) { MenuSection { MenuButton(Loc.keyboardShortcuts, window: false) { shortcuts = true } .keyboardShortcut("question".ctrl()) MenuButton(Loc.about, window: false) { about = true } } } .primary() .tooltip(Loc.mainMenu) } }