| | |
| | | // MARK: - Preferences View |
| | | |
| | | struct PreferencesView: View { |
| | | private let settingsWindowWidth: CGFloat = 880 |
| | | private let settingsContentWidth: CGFloat = 820 |
| | | private let settingsWindowWidth: CGFloat = 1000 |
| | | private let settingsContentWidth: CGFloat = 940 |
| | | private let generalContentWidth: CGFloat = 720 |
| | | private let generalLabelWidth: CGFloat = 190 |
| | | private let generalControlWidth: CGFloat = 500 |
| | |
| | | isApplyingSystemScheme = true |
| | | |
| | | DispatchQueue.global(qos: .userInitiated).async { |
| | | let scannedApps = AppIndexer.scan(useCache: false) |
| | | let result = SmartStartService.applySystemInitialScheme(apps: scannedApps) |
| | | let store = result.store |
| | | let apps = TagEditor.annotate(apps: scannedApps, store: store) |
| | | let colors = store.tags.mapValues { $0.color } |
| | | let result = AppLibraryController.applySystemInitialScheme() |
| | | |
| | | DispatchQueue.main.async { |
| | | isApplyingSystemScheme = false |
| | | allApps = apps |
| | | tagColors = colors |
| | | allApps = result.snapshot.apps |
| | | tagColors = result.snapshot.tagColors |
| | | refreshDataState() |
| | | notifyDataChanged() |
| | | |
| | |
| | | } |
| | | private var languageColumns: [GridItem] { |
| | | [ |
| | | GridItem(.flexible(minimum: 220), spacing: 18, alignment: .top), |
| | | GridItem(.flexible(minimum: 220), spacing: 18, alignment: .top), |
| | | GridItem(.flexible(minimum: 180), spacing: 14, alignment: .top), |
| | | GridItem(.flexible(minimum: 180), spacing: 14, alignment: .top), |
| | | GridItem(.flexible(minimum: 180), spacing: 14, alignment: .top), |
| | | ] |
| | | } |
| | | private var displayModeColumns: [GridItem] { |
| | |
| | | } |
| | | .padding(.vertical, 4) |
| | | } |
| | | .frame(maxHeight: 250) |
| | | |
| | | Spacer(minLength: 0) |
| | | .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) |
| | | } |
| | | .frame(maxWidth: settingsContentWidth, alignment: .leading) |
| | | .tabItem { Label(tr("settings.language"), systemImage: "globe") } |
| | |
| | | .transition(.opacity.combined(with: .move(edge: .bottom))) |
| | | } |
| | | } |
| | | .frame(width: settingsWindowWidth, height: 460) |
| | | .frame(width: settingsWindowWidth, height: 480) |
| | | .onAppear { |
| | | syncSelectedLanguage() |
| | | showPendingHotkeyWarningIfNeeded() |