diff --git a/src/plugins/qmldesigner/components/componentcore/componentcore.pri b/src/plugins/qmldesigner/components/componentcore/componentcore.pri index edd738746d7..ac29fb61e03 100644 --- a/src/plugins/qmldesigner/components/componentcore/componentcore.pri +++ b/src/plugins/qmldesigner/components/componentcore/componentcore.pri @@ -13,6 +13,7 @@ SOURCES += selectioncontext.cpp SOURCES += designeractionmanager.cpp SOURCES += modelnodeoperations.cpp SOURCES += crumblebar.cpp +SOURCES += qmldesignericonprovider.cpp HEADERS += modelnodecontextmenu.h HEADERS += theming.h @@ -29,6 +30,7 @@ HEADERS += designeractionmanager.h HEADERS += modelnodeoperations.h HEADERS += actioninterface.h HEADERS += crumblebar.h +HEADERS += qmldesignericonprovider.h FORMS += \ $$PWD/addsignalhandlerdialog.ui diff --git a/src/plugins/qmldesigner/components/stateseditor/stateeditorsiconprovider.cpp b/src/plugins/qmldesigner/components/componentcore/qmldesignericonprovider.cpp similarity index 88% rename from src/plugins/qmldesigner/components/stateseditor/stateeditorsiconprovider.cpp rename to src/plugins/qmldesigner/components/componentcore/qmldesignericonprovider.cpp index c57462409ce..dccde246337 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateeditorsiconprovider.cpp +++ b/src/plugins/qmldesigner/components/componentcore/qmldesignericonprovider.cpp @@ -23,19 +23,19 @@ ** ****************************************************************************/ -#include "stateseditoriconprovider.h" +#include "qmldesignericonprovider.h" #include namespace QmlDesigner { -StatesEditorIconProvider::StatesEditorIconProvider() +QmlDesignerIconProvider::QmlDesignerIconProvider() : QQuickImageProvider(Pixmap) { } -QPixmap StatesEditorIconProvider::requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) +QPixmap QmlDesignerIconProvider::requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) { Q_UNUSED(requestedSize) diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditoriconprovider.h b/src/plugins/qmldesigner/components/componentcore/qmldesignericonprovider.h similarity index 93% rename from src/plugins/qmldesigner/components/stateseditor/stateseditoriconprovider.h rename to src/plugins/qmldesigner/components/componentcore/qmldesignericonprovider.h index 94fddeef0b9..8d3b3e62108 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditoriconprovider.h +++ b/src/plugins/qmldesigner/components/componentcore/qmldesignericonprovider.h @@ -29,10 +29,10 @@ namespace QmlDesigner { -class StatesEditorIconProvider : public QQuickImageProvider +class QmlDesignerIconProvider : public QQuickImageProvider { public: - StatesEditorIconProvider(); + QmlDesignerIconProvider(); QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) override; }; diff --git a/src/plugins/qmldesigner/components/componentcore/theming.cpp b/src/plugins/qmldesigner/components/componentcore/theming.cpp index 43d320fdcc5..a2c9f52a30f 100644 --- a/src/plugins/qmldesigner/components/componentcore/theming.cpp +++ b/src/plugins/qmldesigner/components/componentcore/theming.cpp @@ -24,6 +24,7 @@ ****************************************************************************/ #include "theming.h" +#include "qmldesignericonprovider.h" #include @@ -87,4 +88,9 @@ QString Theming::replaceCssColors(const QString &input) } +void Theming::registerIconProvider(QQmlEngine *engine) +{ + engine->addImageProvider(QLatin1String("icons"), new QmlDesignerIconProvider()); +} + } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/components/componentcore/theming.h b/src/plugins/qmldesigner/components/componentcore/theming.h index fc672f50d52..cb582994bfa 100644 --- a/src/plugins/qmldesigner/components/componentcore/theming.h +++ b/src/plugins/qmldesigner/components/componentcore/theming.h @@ -25,6 +25,7 @@ #pragma once +#include #include namespace QmlDesigner { @@ -34,6 +35,7 @@ class Theming public: static void insertTheme(QQmlPropertyMap *map); static QString replaceCssColors(const QString &input); + static void registerIconProvider(QQmlEngine *engine); }; } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp b/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp index 04f9026710a..b567c6e7ae9 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp @@ -29,6 +29,7 @@ #include "fileresourcesmodel.h" #include "gradientmodel.h" #include "qmlanchorbindingproxy.h" +#include "theming.h" namespace QmlDesigner { @@ -36,6 +37,7 @@ Quick2PropertyEditorView::Quick2PropertyEditorView(QWidget *parent) : QQuickWidget(parent) { setResizeMode(QQuickWidget::SizeRootObjectToView); + Theming::registerIconProvider(engine()); } void Quick2PropertyEditorView::registerQmlTypes() diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditor.pri b/src/plugins/qmldesigner/components/stateseditor/stateseditor.pri index 82308af935c..0ab25129695 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditor.pri +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditor.pri @@ -5,10 +5,9 @@ VPATH += $$PWD SOURCES += stateseditorwidget.cpp \ stateseditormodel.cpp \ stateseditorview.cpp \ - stateseditorimageprovider.cpp \ - stateeditorsiconprovider.cpp + stateseditorimageprovider.cpp + HEADERS += stateseditorwidget.h \ stateseditormodel.h \ stateseditorview.h \ - stateseditorimageprovider.h \ - stateseditoriconprovider.h + stateseditorimageprovider.h diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp index c478dcd6773..a525196d0a8 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp @@ -27,7 +27,6 @@ #include "stateseditormodel.h" #include "stateseditorview.h" #include "stateseditorimageprovider.h" -#include "stateseditoriconprovider.h" #include @@ -104,7 +103,7 @@ StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, State Theming::insertTheme(&m_themeProperties); rootContext()->setContextProperty(QLatin1String("creatorTheme"), &m_themeProperties); - engine()->addImageProvider(QLatin1String("icons"), new StatesEditorIconProvider()); + Theming::registerIconProvider(engine()); setWindowTitle(tr("States", "Title of Editor widget")); diff --git a/src/plugins/qmldesigner/qmldesignerplugin.qbs b/src/plugins/qmldesigner/qmldesignerplugin.qbs index 7667960e877..a10c1498ba5 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.qbs +++ b/src/plugins/qmldesigner/qmldesignerplugin.qbs @@ -391,6 +391,8 @@ Project { "componentcore/modelnodeoperations.h", "componentcore/selectioncontext.cpp", "componentcore/selectioncontext.h", + "componentcore/qmldesignericonprovider.cpp", + "componentcore/qmldesignericonprovider.h", "debugview/debugview.cpp", "debugview/debugview.h", "debugview/debugviewwidget.cpp", @@ -557,8 +559,6 @@ Project { "resources/resources.qrc", "stateseditor/stateseditorimageprovider.cpp", "stateseditor/stateseditorimageprovider.h", - "stateseditor/stateeditorsiconprovider.cpp", - "stateseditor/stateseditoriconprovider.h", "stateseditor/stateseditormodel.cpp", "stateseditor/stateseditormodel.h", "stateseditor/stateseditorview.cpp",