aboutsummaryrefslogtreecommitdiff
path: root/Map/Presentation/Commands
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2024-09-16 11:10:32 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2024-09-16 11:10:32 +0200
commite2c37ac1dd2ad562e3d619d39b72a174a2212b67 (patch)
treed4da2c0a12db0473eb4030014a92045eebe38834 /Map/Presentation/Commands
parentfdb4633d3e9158e457d57e820df6e1efb4df39c2 (diff)
Map 3 first commit: files, groups and layout
Diffstat (limited to 'Map/Presentation/Commands')
-rw-r--r--Map/Presentation/Commands/MapCommands.swift44
1 files changed, 44 insertions, 0 deletions
diff --git a/Map/Presentation/Commands/MapCommands.swift b/Map/Presentation/Commands/MapCommands.swift
new file mode 100644
index 0000000..32b4958
--- /dev/null
+++ b/Map/Presentation/Commands/MapCommands.swift
@@ -0,0 +1,44 @@
+import SwiftUI
+
+struct MapCommands: Commands {
+
+ @AppStorage("viewStyle") var viewStyle: ViewStyle = .horizontal
+ @AppStorage("zoom") var zoom = 1.0
+
+ var body: some Commands {
+
+ // View
+
+ CommandGroup(after: CommandGroupPlacement.toolbar) {
+ if viewStyle == .horizontal {
+ Button("Use Vertical Layout") {
+ viewStyle = .vertical
+ }.keyboardShortcut(
+ "l", modifiers: EventModifiers([.command])
+ )
+ } else {
+ Button("Use Horizontal Layout") {
+ viewStyle = .horizontal
+ }.keyboardShortcut(
+ "l", modifiers: EventModifiers([.command])
+ )
+ }
+ Divider()
+ Button("Zoom In") {
+ zoom = min(Constants.kMaxZoom, zoom + 0.1)
+ }.keyboardShortcut(
+ "+", modifiers: EventModifiers([.command])
+ )
+ Button("Zoom Out") {
+ zoom = max(Constants.kMinZoom, zoom - 0.1)
+ }.keyboardShortcut(
+ "-", modifiers: EventModifiers([.command])
+ )
+ Divider()
+ }
+
+ CommandGroup(replacing: CommandGroupPlacement.help) {
+ Button("Map Help") { NSWorkspace.shared.open(URL(string: "https://map.tranquil.systems")!) }
+ }
+ }
+}