New feature and UI enhancement for theme customization.#66
Merged
Conversation
Added SystemLightTheme and SystemDarkTheme properties to UserSettings, allowing users to select preferred light and dark themes when using the system theme. Updated MainWindowHelpers to apply these settings. Enhanced SettingsPage UI to show theme selection ComboBoxes conditionally using a new EnumToVisibilityConverter. Introduced a SettingsComboBox style for consistent appearance. Updated localization and SettingsViewModel accordingly. Minor resource and project file adjustments.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new “Pale Graphite” (LightGray) theme and extends the “System” theme mode to allow selecting separate preferred light/dark themes, along with UI and styling updates to support these options.
Changes:
- Added
ThemeType.LightGrayand implemented its palette in theme application logic. - Introduced
SystemLightTheme/SystemDarkThemesettings and surfaced them in Settings UI (conditionally visible whenThemeType.Systemis selected). - Added a shared
SettingsComboBoxstyle and a new enum-to-visibility converter for cleaner XAML.
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| MyScheduledTasks/Views/SettingsPage.xaml | Adds light/dark system-theme selectors and applies a consistent ComboBox style. |
| MyScheduledTasks/ViewModels/SettingsViewModel.cs | Supplies curated theme lists for the Settings page ComboBoxes. |
| MyScheduledTasks/ViewModels/NavigationViewModel.cs | Updates theme-cycling logic to include the new LightGray theme; suppresses MVVMTK warning in this class. |
| MyScheduledTasks/Styles/ComboBoxStyle.xaml | Introduces SettingsComboBox style based on MaterialDesignComboBox. |
| MyScheduledTasks/MyScheduledTasks.csproj | Formatting-only change to a package reference line. |
| MyScheduledTasks/Models/Enums.cs | Adds ThemeType.LightGray with localized description key. |
| MyScheduledTasks/Languages/Strings.es-ES.xaml | Adds Spanish strings for the new theme and new Settings labels; updates change-log block. |
| MyScheduledTasks/Languages/Strings.en-US.xaml | Adds English strings for the new theme and new Settings labels; updates change-log block. |
| MyScheduledTasks/Helpers/MainWindowHelpers.cs | Applies user-selected light/dark themes when ThemeType.System is active; adds LightGray palette. |
| MyScheduledTasks/Converters/EnumToVisibilityConverter.cs | Adds converter used to toggle visibility of system light/dark selectors. |
| MyScheduledTasks/Configuration/UserSettings.cs | Adds persisted settings for SystemLightTheme and SystemDarkTheme; suppresses MVVMTK warning around properties. |
| MyScheduledTasks/App.xaml | Merges the new ComboBox style dictionary into application resources. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+24
to
+39
| ThemeTypes = [ | ||
| ThemeType.Light, | ||
| ThemeType.LightGray, | ||
| ThemeType.Dark, | ||
| ThemeType.Darker, | ||
| ThemeType.DarkBlue, | ||
| ThemeType.System, | ||
| ]; | ||
|
|
||
| SystemThemeTypes = [ | ||
| ThemeType.Light, | ||
| ThemeType.LightGray, | ||
| ThemeType.Dark, | ||
| ThemeType.Darker, | ||
| ThemeType.DarkBlue, | ||
| ]; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Classification
New feature and UI enhancement for theme customization.
PR Summary
This pull request adds a new "Pale Graphite" theme and enables users to select preferred light and dark themes when using the "System" theme mode, along with related UI and logic improvements.