diff --git a/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp b/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp index 4eb0ba175cf..ddeaa1c835d 100644 --- a/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp +++ b/src/plugins/qmldesigner/components/componentcore/changestyleaction.cpp @@ -14,7 +14,8 @@ namespace QmlDesigner { static QString styleConfigFileName(const QString &qmlFileName) { - ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectManager::projectForFile(Utils::FilePath::fromString(qmlFileName)); + ProjectExplorer::Project *currentProject = ProjectExplorer::ProjectManager::projectForFile( + Utils::FilePath::fromString(qmlFileName)); if (currentProject) { const QList fileNames = currentProject->files( @@ -58,6 +59,11 @@ QList ChangeStyleWidgetAction::getAllStyleItems() if (Utils::HostOsInfo::isWindowsHost()) items.append({"Windows", "Windows", {}}); + if (DesignerMcuManager::instance().isMCUProject()) + items.append({"MCUDefaultStyle", "MCUDefaultStyle", {}}); + + //what if we have a custom style set in .conf? + return items; } @@ -155,7 +161,6 @@ QWidget *ChangeStyleWidgetAction::createWidget(QWidget *parent) comboBox->setCurrentIndex(0); } else if (DesignerMcuManager::instance().isMCUProject()) { comboBox->setDisabled(true); - //TODO: add tooltip regarding MCU limitations, however we are behind string freeze comboBox->setEditText(style); } else { comboBox->setDisabled(false); diff --git a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp index 98cd50150ee..5a9431677da 100644 --- a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp +++ b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.cpp @@ -353,6 +353,7 @@ ToolBarBackend::ToolBarBackend(QObject *parent) [this](ProjectExplorer::Project *project) { disconnect(m_kitConnection); emit isQt6Changed(); + emit isMCUsChanged(); emit projectOpenedChanged(); if (project) { m_kitConnection = connect(project, @@ -701,6 +702,20 @@ bool ToolBarBackend::isQt6() const return isQt6Project; } +bool ToolBarBackend::isMCUs() const +{ + if (!ProjectExplorer::ProjectManager::startupTarget()) + return false; + + const QmlProjectManager::QmlBuildSystem *buildSystem = qobject_cast( + ProjectExplorer::ProjectManager::startupTarget()->buildSystem()); + QTC_ASSERT(buildSystem, return false); + + const bool isQtForMCUsProject = buildSystem && buildSystem->qtForMCUs(); + + return isQtForMCUsProject; +} + bool ToolBarBackend::projectOpened() const { return ProjectExplorer::ProjectManager::instance()->startupProject(); diff --git a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h index 52aa69a4db8..ce8dd62b524 100644 --- a/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h +++ b/src/plugins/qmldesigner/components/toolbar/toolbarbackend.h @@ -93,6 +93,7 @@ class ToolBarBackend : public QObject Q_PROPERTY(QStringList kits READ kits NOTIFY kitsChanged) Q_PROPERTY(int currentKit READ currentKit NOTIFY currentKitChanged) Q_PROPERTY(bool isQt6 READ isQt6 NOTIFY isQt6Changed) + Q_PROPERTY(bool isMCUs READ isMCUs NOTIFY isMCUsChanged) Q_PROPERTY(bool projectOpened READ projectOpened NOTIFY projectOpenedChanged) public: @@ -138,6 +139,7 @@ public: int currentKit() const; bool isQt6() const; + bool isMCUs() const; bool projectOpened() const; @@ -157,6 +159,7 @@ signals: void kitsChanged(); void currentKitChanged(); void isQt6Changed(); + void isMCUsChanged(); void projectOpenedChanged(); private: