summaryrefslogtreecommitdiff
path: root/src/plugins/qtsupport/qtversionmanager.cpp
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2012-01-18 13:50:14 +0100
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2012-01-18 15:13:52 +0100
commit17a7bd17d08489453d6a679aab711a946e023ff3 (patch)
tree8191d6931163d2630408d6f9087a2261836e0478 /src/plugins/qtsupport/qtversionmanager.cpp
parent31d5ec9cab213fb65b970bfa7c8cb16128d282c8 (diff)
downloadqt-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.cpp19
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();
+}