Skip to content

New feature and UI enhancement for theme customization.#66

Merged
Timthreetwelve merged 3 commits into
mainfrom
NewTheme
Jun 29, 2026
Merged

New feature and UI enhancement for theme customization.#66
Timthreetwelve merged 3 commits into
mainfrom
NewTheme

Conversation

@Timthreetwelve

Copy link
Copy Markdown
Owner

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.

  • Enums.cs, MainWindowHelpers.cs: Added LightGray theme and logic for user-selectable system light/dark themes.
  • UserSettings.cs, SettingsViewModel.cs: Introduced properties for system light/dark theme selection and updated theme lists.
  • SettingsPage.xaml: Updated UI to include ComboBoxes for light/dark theme selection with conditional visibility.
  • ComboBoxStyle.xaml: Added and applied a new consistent ComboBox style for settings.
  • EnumToVisibilityConverter.cs: Added converter to control visibility of theme selection controls based on enum values.

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.
Copilot AI review requested due to automatic review settings June 29, 2026 19:22
@Timthreetwelve Timthreetwelve merged commit 0145930 into main Jun 29, 2026
3 checks passed
@Timthreetwelve Timthreetwelve deleted the NewTheme branch June 29, 2026 19:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.LightGray and implemented its palette in theme application logic.
  • Introduced SystemLightTheme / SystemDarkTheme settings and surfaced them in Settings UI (conditionally visible when ThemeType.System is selected).
  • Added a shared SettingsComboBox style 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,
];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants