diff options
author | hjk <hjk@qt.io> | 2018-03-01 09:26:46 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-04-06 06:27:52 +0000 |
commit | c69e4598ede68b1a698ec494331eaa083727c711 (patch) | |
tree | e7b72a4f856bc325e8139e2cbdf2c15a23973cf3 /src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp | |
parent | 27c51ed4c8cacb566bec04ce60b101913940d2e8 (diff) | |
download | qt-creator-c69e4598ede68b1a698ec494331eaa083727c711.tar.gz |
ProjectExplorer: Streamline *EnvironmentAspect interface
Register code/name combinations together.
Also make the otherwise implicitly preferred first entry
explicit in the API.
Change-Id: I80f68b01d53e2672480365d4efcb9d790b8363fd
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp | 57 |
1 files changed, 21 insertions, 36 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp b/src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp index a4721ada4e..89cf5b6039 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp @@ -27,46 +27,25 @@ #include "qmlproject.h" +#include <projectexplorer/kit.h> #include <projectexplorer/kitinformation.h> #include <projectexplorer/target.h> -#include <projectexplorer/kit.h> -#include <utils/qtcassert.h> - -namespace QmlProjectManager { -// -------------------------------------------------------------------- -// QmlProjectEnvironmentAspect: -// -------------------------------------------------------------------- +using namespace ProjectExplorer; +using namespace Utils; -QList<int> QmlProjectEnvironmentAspect::possibleBaseEnvironments() const -{ - QList<int> ret; - if (ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(runConfiguration()->target()->kit()) - == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) { - ret << SystemEnvironmentBase; - } - ret << CleanEnvironmentBase; - return ret; -} +namespace QmlProjectManager { -QString QmlProjectEnvironmentAspect::baseEnvironmentDisplayName(int base) const -{ - switch (base) { - case SystemEnvironmentBase: - return tr("System Environment"); - case CleanEnvironmentBase: - return tr("Clean Environment"); - default: - QTC_CHECK(false); - return QString(); - } -} +enum BaseEnvironmentBase { + SystemEnvironmentBase = 0, + CleanEnvironmentBase +}; -Utils::Environment QmlProjectEnvironmentAspect::baseEnvironment() const +Environment QmlProjectEnvironmentAspect::baseEnvironment() const { - Utils::Environment env = baseEnvironmentBase() == SystemEnvironmentBase - ? Utils::Environment::systemEnvironment() - : Utils::Environment(); + Environment env = baseEnvironmentBase() == SystemEnvironmentBase + ? Environment::systemEnvironment() + : Environment(); if (QmlProject *project = qobject_cast<QmlProject *>(runConfiguration()->target()->project())) env.modify(project->environment()); @@ -74,8 +53,14 @@ Utils::Environment QmlProjectEnvironmentAspect::baseEnvironment() const return env; } -QmlProjectEnvironmentAspect::QmlProjectEnvironmentAspect(ProjectExplorer::RunConfiguration *rc) : - ProjectExplorer::EnvironmentAspect(rc) -{ } +QmlProjectEnvironmentAspect::QmlProjectEnvironmentAspect(RunConfiguration *rc) + : EnvironmentAspect(rc) +{ + if (DeviceTypeKitInformation::deviceTypeId(runConfiguration()->target()->kit()) + == Constants::DESKTOP_DEVICE_TYPE) + addPreferredBaseEnvironment(SystemEnvironmentBase, tr("System Environment")); + + addSupportedBaseEnvironment(CleanEnvironmentBase, tr("Clean Environment")); +} } // namespace QmlProjectManager |