#include "wintraytheme.h" #include "platforms/windows/windowsutils.h" #include "ui/utils/trayThemeChangeFilter.h" #include #include #include #include void WinTrayTheme::installThemeObserver(const std::function &onThemeChanged, QObject *parent) { if (!onThemeChanged || !parent) { return; } if (QStyleHints *styleHints = QGuiApplication::styleHints()) { QObject::connect(styleHints, &QStyleHints::colorSchemeChanged, parent, [onThemeChanged]() { onThemeChanged(); }); } qApp->installEventFilter(new TrayThemeChangeFilter([onThemeChanged]() { onThemeChanged(); }, parent)); WindowsUtils::installThemeChangeObserver(onThemeChanged); }