QmlDesigner: Extend ToolBar backend for MCUs

Task-number: QDS-10338
Change-Id: I552cb25b9690a0c5dd202d99e8220453225bcd3b
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Aleksei German
2023-11-02 14:42:55 +01:00
parent 0899c540be
commit 52e652c986
3 changed files with 25 additions and 2 deletions

View File

@@ -14,7 +14,8 @@ namespace QmlDesigner {
static QString styleConfigFileName(const QString &qmlFileName) 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) { if (currentProject) {
const QList<Utils::FilePath> fileNames = currentProject->files( const QList<Utils::FilePath> fileNames = currentProject->files(
@@ -58,6 +59,11 @@ QList<StyleWidgetEntry> ChangeStyleWidgetAction::getAllStyleItems()
if (Utils::HostOsInfo::isWindowsHost()) if (Utils::HostOsInfo::isWindowsHost())
items.append({"Windows", "Windows", {}}); items.append({"Windows", "Windows", {}});
if (DesignerMcuManager::instance().isMCUProject())
items.append({"MCUDefaultStyle", "MCUDefaultStyle", {}});
//what if we have a custom style set in .conf?
return items; return items;
} }
@@ -155,7 +161,6 @@ QWidget *ChangeStyleWidgetAction::createWidget(QWidget *parent)
comboBox->setCurrentIndex(0); comboBox->setCurrentIndex(0);
} else if (DesignerMcuManager::instance().isMCUProject()) { } else if (DesignerMcuManager::instance().isMCUProject()) {
comboBox->setDisabled(true); comboBox->setDisabled(true);
//TODO: add tooltip regarding MCU limitations, however we are behind string freeze
comboBox->setEditText(style); comboBox->setEditText(style);
} else { } else {
comboBox->setDisabled(false); comboBox->setDisabled(false);

View File

@@ -353,6 +353,7 @@ ToolBarBackend::ToolBarBackend(QObject *parent)
[this](ProjectExplorer::Project *project) { [this](ProjectExplorer::Project *project) {
disconnect(m_kitConnection); disconnect(m_kitConnection);
emit isQt6Changed(); emit isQt6Changed();
emit isMCUsChanged();
emit projectOpenedChanged(); emit projectOpenedChanged();
if (project) { if (project) {
m_kitConnection = connect(project, m_kitConnection = connect(project,
@@ -701,6 +702,20 @@ bool ToolBarBackend::isQt6() const
return isQt6Project; return isQt6Project;
} }
bool ToolBarBackend::isMCUs() const
{
if (!ProjectExplorer::ProjectManager::startupTarget())
return false;
const QmlProjectManager::QmlBuildSystem *buildSystem = qobject_cast<QmlProjectManager::QmlBuildSystem *>(
ProjectExplorer::ProjectManager::startupTarget()->buildSystem());
QTC_ASSERT(buildSystem, return false);
const bool isQtForMCUsProject = buildSystem && buildSystem->qtForMCUs();
return isQtForMCUsProject;
}
bool ToolBarBackend::projectOpened() const bool ToolBarBackend::projectOpened() const
{ {
return ProjectExplorer::ProjectManager::instance()->startupProject(); return ProjectExplorer::ProjectManager::instance()->startupProject();

View File

@@ -93,6 +93,7 @@ class ToolBarBackend : public QObject
Q_PROPERTY(QStringList kits READ kits NOTIFY kitsChanged) Q_PROPERTY(QStringList kits READ kits NOTIFY kitsChanged)
Q_PROPERTY(int currentKit READ currentKit NOTIFY currentKitChanged) Q_PROPERTY(int currentKit READ currentKit NOTIFY currentKitChanged)
Q_PROPERTY(bool isQt6 READ isQt6 NOTIFY isQt6Changed) Q_PROPERTY(bool isQt6 READ isQt6 NOTIFY isQt6Changed)
Q_PROPERTY(bool isMCUs READ isMCUs NOTIFY isMCUsChanged)
Q_PROPERTY(bool projectOpened READ projectOpened NOTIFY projectOpenedChanged) Q_PROPERTY(bool projectOpened READ projectOpened NOTIFY projectOpenedChanged)
public: public:
@@ -138,6 +139,7 @@ public:
int currentKit() const; int currentKit() const;
bool isQt6() const; bool isQt6() const;
bool isMCUs() const;
bool projectOpened() const; bool projectOpened() const;
@@ -157,6 +159,7 @@ signals:
void kitsChanged(); void kitsChanged();
void currentKitChanged(); void currentKitChanged();
void isQt6Changed(); void isQt6Changed();
void isMCUsChanged();
void projectOpenedChanged(); void projectOpenedChanged();
private: private: