diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 5cea9e1f4ac..0ee9a2877ff 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -238,8 +238,7 @@ void MainQmlFileAspect::setScriptSource(MainScriptSource source, const QString & m_mainScriptFilename = project->projectDirectory().toString() + '/' + m_scriptFile; } - qobject_cast(runConfiguration())->updateEnabledState(); - + emit changed(); updateFileComboBox(); } @@ -273,7 +272,7 @@ void MainQmlFileAspect::changeCurrentFile(IEditor *editor) if (editor) m_currentFileFilename = editor->document()->filePath().toString(); - qobject_cast(runConfiguration())->updateEnabledState(); + emit changed(); } @@ -292,6 +291,8 @@ QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id) argumentAspect->setSettingsKey(Constants::QML_VIEWER_ARGUMENTS_KEY); m_mainQmlFileAspect = addAspect(); + connect(m_mainQmlFileAspect, &MainQmlFileAspect::changed, + this, &QmlProjectRunConfiguration::updateEnabledState); setOutputFormatter(); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h index 10f42f61646..b67e4238f0c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h @@ -42,8 +42,6 @@ public: QmlProjectRunConfiguration(ProjectExplorer::Target *target, Core::Id id); private: - friend class MainQmlFileAspect; - ProjectExplorer::Runnable runnable() const final; QString disabledReason() const final; ProjectExplorer::Abi abi() const final;