diff --git a/src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp b/src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp index 5dde651ded2..613b6b03b4b 100644 --- a/src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp +++ b/src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp @@ -90,11 +90,14 @@ void generateMenuEntry(QObject *parent) Core::Command *cmd = Core::ActionManager::registerAction(action, "QmlProject.CreateCMakeLists"); menu->addAction(cmd, Core::Constants::G_FILE_EXPORT); - action->setEnabled(ProjectExplorer::SessionManager::startupProject() != nullptr); + action->setEnabled(false); QObject::connect(ProjectExplorer::SessionManager::instance(), - &ProjectExplorer::SessionManager::startupProjectChanged, [action]() { - action->setEnabled(ProjectExplorer::SessionManager::startupProject() != nullptr); - }); + &ProjectExplorer::SessionManager::startupProjectChanged, + [action]() { + auto qmlProject = qobject_cast( + ProjectExplorer::SessionManager::startupProject()); + action->setEnabled(qmlProject != nullptr); + }); } void onGenerateCmakeLists() diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp index e06f0016db9..ee4cf88ddc7 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp @@ -379,7 +379,8 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage) } GenerateCmake::generateMenuEntry(this); - GenerateCmake::CmakeProjectConverter::generateMenuEntry(this); + if (QmlProject::isQtDesignStudio()) + GenerateCmake::CmakeProjectConverter::generateMenuEntry(this); return true; }