From f227dbf041e372c98319363615868088bb15fdc0 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 19 Sep 2023 12:18:41 +0200 Subject: [PATCH] QmlDesigner: Fix appearance main toolbar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using _q_custom_style_disabled had slight unwanted impact on appearance. Introducing _q_custom_style_skipolish instead in studio style. Using studio style whenever we are Qt Design Studio for all themes. Change-Id: Iee460cfc0a62122b1aeb6d97746808658c4f3ebf Reviewed-by: Henning Gründl --- src/plugins/qmldesigner/components/toolbar/toolbar.cpp | 3 ++- src/plugins/qmldesigner/designmodewidget.cpp | 4 +++- src/plugins/qmldesignerbase/studio/studiostyle.cpp | 7 +++++++ src/plugins/qmldesignerbase/studio/studiostyle.h | 2 ++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/toolbar/toolbar.cpp b/src/plugins/qmldesigner/components/toolbar/toolbar.cpp index 0190a665f70..5facbdda571 100644 --- a/src/plugins/qmldesigner/components/toolbar/toolbar.cpp +++ b/src/plugins/qmldesigner/components/toolbar/toolbar.cpp @@ -65,7 +65,8 @@ Utils::UniqueObjectPtr ToolBar::create() toolBar->setFloatable(false); toolBar->setMovable(false); - toolBar->setProperty("_q_custom_style_disabled", true); + toolBar->setProperty("_q_custom_style_skipolish", true); + toolBar->setContentsMargins(0, 0, 0, 0); auto quickWidget = std::make_unique(); diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index 822b23fc9a7..c42dd0673c6 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -34,6 +34,8 @@ #include #include +#include + #include #include #include @@ -95,7 +97,7 @@ DesignModeWidget::DesignModeWidget() , m_crumbleBar(new CrumbleBar(this)) { setAcceptDrops(true); - if (Utils::StyleHelper::isQDSTheme()) + if (Utils::StyleHelper::isQDSTheme() || QmlProjectManager::QmlProject::isQtDesignStudio()) qApp->setStyle(QmlDesignerBasePlugin::style()); } diff --git a/src/plugins/qmldesignerbase/studio/studiostyle.cpp b/src/plugins/qmldesignerbase/studio/studiostyle.cpp index 59f19e9f5c7..045ef43fc42 100644 --- a/src/plugins/qmldesignerbase/studio/studiostyle.cpp +++ b/src/plugins/qmldesignerbase/studio/studiostyle.cpp @@ -1136,6 +1136,13 @@ QPalette StudioStyle::standardPalette() const return d->stdPalette; } +void StudioStyle::polish(QWidget *widget) +{ + if (widget && widget->property("_q_custom_style_skipolish").toBool()) + return; + Super::polish(widget); +} + void StudioStyle::drawQmlEditorIcon( PrimitiveElement element, const QStyleOption *option, diff --git a/src/plugins/qmldesignerbase/studio/studiostyle.h b/src/plugins/qmldesignerbase/studio/studiostyle.h index 63250a007de..0912d3071fd 100644 --- a/src/plugins/qmldesignerbase/studio/studiostyle.h +++ b/src/plugins/qmldesignerbase/studio/studiostyle.h @@ -58,6 +58,8 @@ public: QPalette standardPalette() const override; + void polish(QWidget *widget) override; + private: void drawQmlEditorIcon(PrimitiveElement element, const QStyleOption *option,