diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2012-01-18 13:50:14 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2012-01-18 15:13:52 +0100 |
commit | 17a7bd17d08489453d6a679aab711a946e023ff3 (patch) | |
tree | 8191d6931163d2630408d6f9087a2261836e0478 /src/plugins/qtsupport/qtversionmanager.cpp | |
parent | 31d5ec9cab213fb65b970bfa7c8cb16128d282c8 (diff) | |
download | qt-creator-17a7bd17d08489453d6a679aab711a946e023ff3.tar.gz |
Wizards: allows filtering of wizards based on Qt version
Every wizard now implements requiredFeatures() to define a feature set.
If the feature set is not satisfied by the available Qt Versions,
the wizard is not shown in the create file/project dialog.
Every Qt version can define the provided feature set in availableFeatures()
defined in BaseQtVersion.
Change-Id: Ie9e2c210d19187b2296451948c36d274f2096623
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
Diffstat (limited to 'src/plugins/qtsupport/qtversionmanager.cpp')
-rw-r--r-- | src/plugins/qtsupport/qtversionmanager.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 31516ad013..8e9e4bface 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -34,6 +34,8 @@ #include "qtversionfactory.h" +#include "qtsupportconstants.h" + #include <projectexplorer/debugginghelper.h> // only for legay restore #include <projectexplorer/projectexplorerconstants.h> @@ -600,6 +602,18 @@ QString QtVersionManager::popPendingGcceUpdate() return m_pendingGcceUpdates.takeFirst(); } +Core::FeatureSet QtVersionManager::availableFeatures() const +{ + Core::FeatureSet features; + foreach (BaseQtVersion *const qtVersion, validVersions()) { + if (qtVersion->isValid()) + features |= qtVersion->availableFeatures(); + } + if (validVersions().empty()) + features |= Constants::FEATURE_GENERIC_CPP_ENTRY_POINT; + return features; +} + BaseQtVersion *QtVersionManager::version(int id) const { QMap<int, BaseQtVersion *>::const_iterator it = m_versions.find(id); @@ -919,3 +933,8 @@ BaseQtVersion::QmakeBuildConfigs QtVersionManager::qmakeBuildConfigFromCmdArgs(Q } return result; } + +Core::FeatureSet QtFeatureProvider::availableFeatures() const +{ + return QtVersionManager::instance()->availableFeatures(); +} |