View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0038592 | Lazarus | Widgetset | public | 2021-03-05 22:59 | 2021-03-05 22:59 |
Reporter | Zoë Peterson | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Product Version | 2.0.13 (SVN) | ||||
Summary | 0038592: LCLQT5 doesn't call ThemeServices.OnThemeChange | ||||
Description | LCLQT5 doesn't call ThemeServices.OnThemeChange when the style is changed via QApplication_setStyle or externally if you're using qt5ct and change the system style while it's running. TQtWidgetSet.EventFilter does have a case for QEventStyleChange that gets hit a bunch, but it never matches the "Sender = QCoreApplication_instance" check. It seems like OnThemeChange should also be called when the application palette changes (related issue, 0038589) | ||||
Steps To Reproduce | The attached app has a listbox on the left that lists all of the styles available, and clicking on an item calls QApplication_setStyle. The SetPalette button just sets the application palette to random colors. The listbox below the button should add a message any time OnThemeChange or WMThemeChanged are encountered, but neither of them ever are. To test, run it and click on the various styles, or install qt5ct, use the "qt5ct-style" style, then run qt5ct while the test app is still open and change the active style or palette. Adding a WriteLn in TQtWidgetSet.EventFilter's QEventStyleChange, outside the if block, does get hit. | ||||
Tags | No tags attached. | ||||
Fixed in Revision | |||||
LazTarget | |||||
Widgetset | QT5 | ||||
Attached Files |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2021-03-05 22:59 | Zoë Peterson | New Issue | |
2021-03-05 22:59 | Zoë Peterson | File Added: QtThemeChange.tgz |