qmlpreview: stop previews if the language backend is changed

Change-Id: Iadf0712ea429f3bdb8c4109dfb558466fa2743f2
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Tim Jenssen
2020-07-20 20:43:46 +02:00
parent 6e6b2aa855
commit 3659f5b41d
2 changed files with 5 additions and 1 deletions

View File

@@ -53,6 +53,7 @@
#include <qmljs/qmljsmodelmanagerinterface.h> #include <qmljs/qmljsmodelmanagerinterface.h>
#include <qmljstools/qmljstoolsconstants.h> #include <qmljstools/qmljstoolsconstants.h>
#include <qmlprojectmanager/qmlmultilanguageaspect.h>
#include <QAction> #include <QAction>
using namespace ProjectExplorer; using namespace ProjectExplorer;
@@ -412,6 +413,10 @@ void QmlPreviewPluginPrivate::setDirty()
void QmlPreviewPluginPrivate::addPreview(ProjectExplorer::RunControl *preview) void QmlPreviewPluginPrivate::addPreview(ProjectExplorer::RunControl *preview)
{ {
m_runningPreviews.append(preview); m_runningPreviews.append(preview);
if (auto multiLanguageAspect = preview->aspect<QmlProjectManager::QmlMultiLanguageAspect>()) {
connect(multiLanguageAspect, &QmlProjectManager::QmlMultiLanguageAspect::changed,
preview, &ProjectExplorer::RunControl::initiateStop);
}
emit q->runningPreviewsChanged(m_runningPreviews); emit q->runningPreviewsChanged(m_runningPreviews);
} }

View File

@@ -97,7 +97,6 @@ void QmlMultiLanguageAspect::setLastUsedLanguage(const QString &language)
previewPlugin->setProperty("locale", language); previewPlugin->setProperty("locale", language);
if (m_lastUsedLanguage != language) { if (m_lastUsedLanguage != language) {
m_lastUsedLanguage = language; m_lastUsedLanguage = language;
emit changed();
} }
} }