aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesignerbase
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2023-10-05 15:01:35 +0200
committerTim Jenssen <tim.jenssen@qt.io>2023-10-05 15:53:42 +0200
commit85ea2758ac063174c8d62b51dbfbfee9291d65c4 (patch)
tree33427a0cf8858ec82bb6a1c4aed05e8a4b85660f /src/plugins/qmldesignerbase
parent257af1ebd80e0c0b9ac2e4104c6aea5c4d9e6281 (diff)
parent97ca8cc2700fb606fdcc1e3f089e904e6d308aba (diff)
Merge remote-tracking branch 'origin/qds/dev' into 12.0
Conflicts: share/qtcreator/qmldesigner/connectionseditor/SuggestionPopup.qml share/qtcreator/themes/dark.creatortheme share/qtcreator/themes/default.creatortheme share/qtcreator/themes/flat-dark.creatortheme share/qtcreator/themes/flat-light.creatortheme share/qtcreator/themes/flat.creatortheme src/libs/utils/CMakeLists.txt src/plugins/CMakeLists.txt src/plugins/qmlprojectmanager/qmlproject.cpp src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp Change-Id: Idd87c281e1aa7b7fd2702473ad55e18563cbfb21
Diffstat (limited to 'src/plugins/qmldesignerbase')
-rw-r--r--src/plugins/qmldesignerbase/studio/studioquickwidget.cpp11
-rw-r--r--src/plugins/qmldesignerbase/studio/studiostyle.cpp12
-rw-r--r--src/plugins/qmldesignerbase/studio/studiostyle.h2
3 files changed, 21 insertions, 4 deletions
diff --git a/src/plugins/qmldesignerbase/studio/studioquickwidget.cpp b/src/plugins/qmldesignerbase/studio/studioquickwidget.cpp
index 2cfe5aa9741..b2c55c5b61d 100644
--- a/src/plugins/qmldesignerbase/studio/studioquickwidget.cpp
+++ b/src/plugins/qmldesignerbase/studio/studioquickwidget.cpp
@@ -3,8 +3,11 @@
#include "studioquickwidget.h"
+#include <coreplugin/icore.h>
+
#include <QQuickItem>
#include <QVBoxLayout>
+#include <QWindow>
#include <QtQml/QQmlEngine>
QQmlEngine *s_engine = nullptr;
@@ -46,6 +49,14 @@ void StudioQuickWidget::setResizeMode(QQuickWidget::ResizeMode mode)
void StudioQuickWidget::setSource(const QUrl &url)
{
m_quickWidget->setSource(url);
+
+ if (rootObject()) {
+ const auto windows = rootObject()->findChildren<QWindow *>();
+
+ for (auto window : windows) {
+ window->setTransientParent(Core::ICore::dialogParent()->windowHandle());
+ }
+ }
}
void StudioQuickWidget::refresh() {}
diff --git a/src/plugins/qmldesignerbase/studio/studiostyle.cpp b/src/plugins/qmldesignerbase/studio/studiostyle.cpp
index 59f19e9f5c7..d1891ca88db 100644
--- a/src/plugins/qmldesignerbase/studio/studiostyle.cpp
+++ b/src/plugins/qmldesignerbase/studio/studiostyle.cpp
@@ -594,10 +594,7 @@ void StudioStyle::drawComplexControl(
}
} break;
case CC_ComboBox: {
- if (QWidget *parentWidget = widget->parentWidget()) {
- QBrush bgColor = parentWidget->palette().brush(parentWidget->backgroundRole());
- painter->fillRect(option->rect, bgColor);
- }
+ painter->fillRect(option->rect, standardPalette().brush(QPalette::ColorRole::Base));
Super::drawComplexControl(control, option, painter, widget);
} break;
@@ -1136,6 +1133,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,