Fix QCommandLinkButton in Windows 11 style when darkmode is used
Fix polishing QCommandLinkButton in Windows 11 style: The condition for QCommandLinkButton needs to be checked before the condition for QAbstractButton; otherwise it is never entered and the colors from the Vista style are used breaking darkmode. Pick-to: 6.7 Change-Id: Ie9e1c20b38a52b2d72f28279e38deb533595b974 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Wladimir Leuschner <wladimir.leuschner@qt.io> (cherry picked from commit a17c34d2b7ef8391e5485d0ba06966ece793d184) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
328a2642dd
commit
a75b432c8a
@ -2080,6 +2080,12 @@ void QWindows11Style::polish(QWidget* widget)
|
||||
QLineEdit *le = cb->lineEdit();
|
||||
le->setFrame(false);
|
||||
}
|
||||
} else if (qobject_cast<QCommandLinkButton *>(widget)) {
|
||||
widget->setProperty("_qt_usingVistaStyle",false);
|
||||
QPalette pal = widget->palette();
|
||||
pal.setColor(QPalette::ButtonText, pal.text().color());
|
||||
pal.setColor(QPalette::BrightText, pal.text().color());
|
||||
widget->setPalette(pal);
|
||||
} else if (widget->inherits("QAbstractSpinBox")) {
|
||||
const int minWidth = 2 * 24 + 40;
|
||||
const int originalWidth = widget->size().width();
|
||||
@ -2115,12 +2121,6 @@ void QWindows11Style::polish(QWidget* widget)
|
||||
pal.setColor(scrollarea->viewport()->backgroundRole(), Qt::transparent);
|
||||
scrollarea->viewport()->setPalette(pal);
|
||||
scrollarea->viewport()->setProperty("_q_original_background_palette", originalPalette);
|
||||
} else if (qobject_cast<QCommandLinkButton *>(widget)) {
|
||||
widget->setProperty("_qt_usingVistaStyle",false);
|
||||
QPalette pal = widget->palette();
|
||||
pal.setColor(QPalette::ButtonText, pal.text().color());
|
||||
pal.setColor(QPalette::BrightText, pal.text().color());
|
||||
widget->setPalette(pal);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user