aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmlprojectmanager
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmlprojectmanager')
-rw-r--r--src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp24
-rw-r--r--src/plugins/qmlprojectmanager/qmlmultilanguageaspect.h4
2 files changed, 28 insertions, 0 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp
index 94e36919fe..623e51c66e 100644
--- a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp
+++ b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.cpp
@@ -30,6 +30,7 @@
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/session.h>
#include <projectexplorer/target.h>
static bool isMultilanguagePresent()
@@ -125,4 +126,27 @@ void QmlMultiLanguageAspect::fromMap(const QVariantMap &map)
setLastUsedLanguage(map.value(Constants::LAST_USED_LANGUAGE, "en").toString());
}
+QmlMultiLanguageAspect *QmlMultiLanguageAspect::current()
+{
+ if (auto project = ProjectExplorer::SessionManager::startupProject())
+ return current(project);
+ return {};
+}
+
+QmlMultiLanguageAspect *QmlMultiLanguageAspect::current(ProjectExplorer::Project *project)
+{
+ if (auto target = project->activeTarget())
+ return current(target);
+ return {};
+}
+
+QmlMultiLanguageAspect *QmlMultiLanguageAspect::current(ProjectExplorer::Target *target)
+{
+ if (auto runConfiguration = target->activeRunConfiguration()) {
+ if (auto multiLanguageAspect = runConfiguration->aspect<QmlProjectManager::QmlMultiLanguageAspect>())
+ return multiLanguageAspect;
+ }
+ return {};
+}
+
} // namespace QmlProjectManager
diff --git a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.h b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.h
index 163552caf0..20db028ed2 100644
--- a/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.h
+++ b/src/plugins/qmlprojectmanager/qmlmultilanguageaspect.h
@@ -45,6 +45,10 @@ public:
void toMap(QVariantMap &map) const final;
void fromMap(const QVariantMap &map) final;
+ static QmlMultiLanguageAspect *current();
+ static QmlMultiLanguageAspect *current(ProjectExplorer::Project *project);
+ static QmlMultiLanguageAspect *current(ProjectExplorer::Target *target);
+
public slots:
void setLastUsedLanguage(const QString &language);