Skip to content

Conversation

@brtnfld
Copy link

@brtnfld brtnfld commented Jan 14, 2026

Introduces a centralized ThemeManager to handle application-wide color
schemes, supporting Light, Dark, and System (Auto) modes.

Key changes:
- Added ThemeManager and ThemeChangeListener for dynamic UI updates.
- Refactored Chart and TableView to use theme colors and update
  instantly without application restart.
- Implemented robust SWT resource disposal to prevent handle leaks.
- Updated User Options dialog to allow manual theme selection.
- Added Info-plist.template for macOS packaging support.

Important

Introduces ThemeManager for dynamic theming, updating Chart, DefaultBaseTableView, and UserOptionsGeneralPage to support Light, Dark, and System modes.

  • Behavior:
    • Introduces ThemeManager for centralized theme management, supporting Light, Dark, and System modes.
    • Implements ThemeChangeListener interface for dynamic theme updates in Chart and DefaultBaseTableView.
    • Updates UserOptionsGeneralPage to allow manual theme selection and apply changes immediately.
  • Components:
    • Chart and DefaultBaseTableView now register as ThemeChangeListener to update UI dynamically.
    • ThemeManager manages theme preferences and notifies listeners of changes.
  • Misc:
    • Adds themePreference to ViewProperties for storing user theme settings.
    • Implements robust SWT resource disposal in Chart to prevent handle leaks.
    • Adds Info-plist.template for macOS packaging support.

This description was created by Ellipsis for 3c7c8ee. You can customize this summary. It will automatically update as commits are pushed.

Introduces a centralized ThemeManager to handle application-wide color
schemes, supporting Light, Dark, and System (Auto) modes.

Key changes:
- Added ThemeManager and ThemeChangeListener for dynamic UI updates.
- Refactored Chart and TableView to use theme colors and update
  instantly without application restart.
- Implemented robust SWT resource disposal to prevent handle leaks.
- Updated User Options dialog to allow manual theme selection.
- Added Info-plist.template for macOS packaging support.
@mattjala
Copy link
Collaborator

Does this supercede #452?

I think this should be pushed until after the 3.4.0 release, since it's a purely visual change.

@brtnfld
Copy link
Author

brtnfld commented Jan 14, 2026

Yes, it supercedes #452 as it is a better way to fix the dark mode issues on Macs.

@brtnfld
Copy link
Author

brtnfld commented Jan 15, 2026

I'm also fine with #452, going in instead.

@brtnfld brtnfld marked this pull request as draft January 16, 2026 01:01
@brtnfld
Copy link
Author

brtnfld commented Jan 20, 2026

Does not fix the dark mode issues on mac.

@brtnfld brtnfld closed this Jan 20, 2026
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