52 lines
2.2 KiB
Swift
52 lines
2.2 KiB
Swift
import SwiftUI
|
|
import MacToolsPluginKit
|
|
|
|
struct DisplayBrightnessSettingsView: View {
|
|
@ObservedObject var preferences: DisplayBrightnessShortcutPreferences
|
|
let localization: PluginLocalization
|
|
|
|
var body: some View {
|
|
VStack(alignment: .leading, spacing: PluginSettingsTheme.Spacing.section) {
|
|
shortcutSection
|
|
}
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
}
|
|
|
|
private var shortcutSection: some View {
|
|
VStack(alignment: .leading, spacing: PluginSettingsTheme.Spacing.sectionHeaderContent) {
|
|
Label(
|
|
localization.string("settings.shortcutTarget.sectionTitle", defaultValue: "作用范围"),
|
|
systemImage: "display.2"
|
|
)
|
|
.font(PluginSettingsTheme.Typography.sectionTitle)
|
|
.foregroundStyle(.secondary)
|
|
|
|
VStack(spacing: 0) {
|
|
HStack(spacing: PluginSettingsTheme.Spacing.rowContentControl) {
|
|
VStack(alignment: .leading, spacing: PluginSettingsTheme.Spacing.rowTitleDescription) {
|
|
Text(localization.string("settings.shortcutTarget.title", defaultValue: "快捷键目标"))
|
|
.font(PluginSettingsTheme.Typography.emphasizedRowTitle)
|
|
|
|
Text(preferences.targetMode.description(localization: localization))
|
|
.font(PluginSettingsTheme.Typography.rowDescription)
|
|
.foregroundStyle(.secondary)
|
|
.fixedSize(horizontal: false, vertical: true)
|
|
}
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
|
|
Picker("", selection: $preferences.targetMode) {
|
|
ForEach(DisplayBrightnessShortcutPreferences.TargetMode.allCases) { mode in
|
|
Text(mode.title(localization: localization)).tag(mode)
|
|
}
|
|
}
|
|
.pickerStyle(.segmented)
|
|
.labelsHidden()
|
|
.fixedSize()
|
|
}
|
|
.pluginSettingsListRowPadding(interactive: true)
|
|
}
|
|
.pluginSettingsCardBackground(.host)
|
|
}
|
|
}
|
|
}
|