forked from qt-creator/qt-creator
Fixes: Fix cosmetics with KDE file dialog
Task: QTCREATORBUG-465 Details: We should simply ignore custom styling on our dialogs. I also slightly optimized the panelWidget check.
This commit is contained in:
@@ -76,16 +76,22 @@ bool styleEnabled(const QWidget *widget)
|
|||||||
// Consider making this a QStyle state
|
// Consider making this a QStyle state
|
||||||
bool panelWidget(const QWidget *widget)
|
bool panelWidget(const QWidget *widget)
|
||||||
{
|
{
|
||||||
const QWidget *p = widget;
|
if (!widget)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Dont style dialogs or explicitly ignored widgets
|
||||||
|
if (qobject_cast<const QDialog *>(widget->window()))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Style toolbars, statusbar and menubar
|
||||||
|
if (qobject_cast<const QToolBar *>(widget) ||
|
||||||
|
qobject_cast<const QStatusBar *>(widget) ||
|
||||||
|
qobject_cast<const QMenuBar *>(widget))
|
||||||
|
return styleEnabled(widget);
|
||||||
|
|
||||||
|
const QWidget *p = widget;
|
||||||
while (p) {
|
while (p) {
|
||||||
if (qobject_cast<const QToolBar *>(p) && styleEnabled(p))
|
if (p->property("panelwidget").toBool())
|
||||||
return true;
|
|
||||||
else if (qobject_cast<const QStatusBar *>(p) && styleEnabled(p))
|
|
||||||
return true;
|
|
||||||
else if (qobject_cast<const QMenuBar *>(p) && styleEnabled(p))
|
|
||||||
return true;
|
|
||||||
else if (p->property("panelwidget").toBool())
|
|
||||||
return true;
|
return true;
|
||||||
p = p->parentWidget();
|
p = p->parentWidget();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user