Skip to content
Snippets Groups Projects
Verified Commit 8485e7ae authored by Nicolas Werner's avatar Nicolas Werner
Browse files

Workaround palette not set on new windows

parent 838b091a
No related branches found
No related tags found
No related merge requests found
......@@ -376,6 +376,20 @@ MainWindow::showChatPage()
emit switchToChatPage();
}
bool
NhekoFixupPaletteEventFilter::eventFilter(QObject *obj, QEvent *event)
{
// Workaround for the QGuiApplication palette not being applied to toplevel windows for some
// reason?!?
if (event->type() == QEvent::ChildAdded &&
obj->metaObject()->className() == QStringLiteral("QQuickRootItem")) {
for (const auto window : QGuiApplication::topLevelWindows()) {
QGuiApplication::postEvent(window, new QEvent(QEvent::ApplicationPaletteChange));
}
}
return false;
}
void
MainWindow::closeEvent(QCloseEvent *event)
{
......
......@@ -37,6 +37,19 @@ class MemberList;
class ReCaptcha;
}
class NhekoFixupPaletteEventFilter final : public QObject
{
Q_OBJECT
public:
NhekoFixupPaletteEventFilter(QObject *parent)
: QObject(parent)
{
}
bool eventFilter(QObject *obj, QEvent *event) override;
};
class MainWindow final : public QQuickView
{
Q_OBJECT
......
......@@ -309,6 +309,9 @@ main(int argc, char *argv[])
std::exit(1);
}
auto filter = new NhekoFixupPaletteEventFilter(&app);
app.installEventFilter(filter);
if (parser.isSet(configName))
UserSettings::initialize(parser.value(configName));
else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment