From e2c37ac1dd2ad562e3d619d39b72a174a2212b67 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Mon, 16 Sep 2024 11:10:32 +0200 Subject: Map 3 first commit: files, groups and layout --- Map/Presentation/Commands/MapCommands.swift | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Map/Presentation/Commands/MapCommands.swift (limited to 'Map/Presentation/Commands/MapCommands.swift') 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")!) } + } + } +} -- cgit