msys2-installer icon indicating copy to clipboard operation
msys2-installer copied to clipboard

Installer looks broken with dark theme

Open 500-internal-server-error opened this issue 1 year ago • 2 comments

Installer 2024-07-27 looks broken with Windows' dark theme:

image

The previous installer 2024-05-07 looks fine, if a bit janky:

image

Seems like the dark theme is only half-applied for some reason.

Same for me, but looks slightly different. Win11 with Dark Mode. colorsmsys2

hgdagon avatar Aug 07 '24 08:08 hgdagon

Weird. We are not doing anything special here I think, just using the qtinstallerframework defaults.

Maybe we can force a theme do avoid it handling dark mode (?)

lazka avatar Oct 03 '24 07:10 lazka

With the fix by #89 the installer looks nice on Dark mode but regressed to Windows XP style in Light mode 🤢

brunvonlope avatar Dec 08 '24 12:12 brunvonlope

Screenshot 2024-12-08 at 14-26-06 Mastodon Flock

lazka avatar Dec 08 '24 13:12 lazka

@lazka Gray background, regardless what you choose to compare for sake of sarcarsm, is not used by the latest Win32 guidelines. Not all Win32 apps were updated by MS but all of the Vista-era up today don't use a grey background:

image

Just a minor detail, anyway. Guard down.

brunvonlope avatar Dec 08 '24 13:12 brunvonlope

Sure, I agree, but it looks like it's broken in Qt (see https://bugreports.qt.io/browse/QTBUG-123853) and I'm not motivated to look into fixing it there.

If anyone wants to, feel free. Here is a minimal LLM generated example which shows the problem:

// c++ main.cpp $(pkg-config --cflags --libs Qt6Widgets)
// ./main.exe

#include <QApplication>
#include <QWizard>
#include <QWizardPage>
#include <QLabel>
#include <QVBoxLayout>

class SimplePage : public QWizardPage {
public:
    SimplePage(const QString& title, const QString& text, QWidget* parent = nullptr) 
        : QWizardPage(parent) 
    {
        setTitle(title);
        QLabel* label = new QLabel(text);
        QVBoxLayout* layout = new QVBoxLayout;
        layout->addWidget(label);
        setLayout(layout);
    }
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QWizard wizard;
    wizard.setWizardStyle(QWizard::AeroStyle);
    wizard.setWindowTitle("Simple Wizard Example");

    // Add pages to the wizard
    wizard.addPage(new SimplePage("Page 1", "This is the first page."));
    wizard.addPage(new SimplePage("Page 2", "This is the second page."));
    wizard.addPage(new SimplePage("Page 3", "This is the final page."));

    // Set some basic properties
    wizard.setOption(QWizard::HaveHelpButton, true);
    wizard.setMinimumSize(500, 300);

    wizard.show();
    return app.exec();
}

image

lazka avatar Dec 08 '24 13:12 lazka