From 5a09b265385f17fa1efd570d36e8a0e6b86a0ed4 Mon Sep 17 00:00:00 2001 From: Eike Ziller <eike.ziller@nokia.com> Date: Mon, 30 Jan 2012 14:03:38 +0100 Subject: [PATCH] Delay decision if Maemo Qt version is valid. It was done in the constructor, so Qt Creator would call madadmin at startup. Do that lazily when someone requests that information. Change-Id: I85592ccd733ebae0f1239579ad07ed8f5fcb3502 Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com> --- src/plugins/madde/maemoqtversion.cpp | 21 +++++++++++++++------ src/plugins/madde/maemoqtversion.h | 1 + 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/plugins/madde/maemoqtversion.cpp b/src/plugins/madde/maemoqtversion.cpp index 78d39bdaf58..6178e9d2124 100644 --- a/src/plugins/madde/maemoqtversion.cpp +++ b/src/plugins/madde/maemoqtversion.cpp @@ -47,7 +47,10 @@ using namespace Qt4ProjectManager; namespace Madde { namespace Internal { -MaemoQtVersion::MaemoQtVersion() : QtSupport::BaseQtVersion() +MaemoQtVersion::MaemoQtVersion() + : QtSupport::BaseQtVersion(), + m_isvalidVersion(false), + m_initialized(false) { } @@ -55,7 +58,8 @@ MaemoQtVersion::MaemoQtVersion() : QtSupport::BaseQtVersion() MaemoQtVersion::MaemoQtVersion(const Utils::FileName &path, bool isAutodetected, const QString &autodetectionSource) : QtSupport::BaseQtVersion(path, isAutodetected, autodetectionSource), m_osType(MaemoGlobal::osType(path.toString())), - m_isvalidVersion(MaemoGlobal::isValidMaemoQtVersion(path.toString(), m_osType)) + m_isvalidVersion(false), + m_initialized(false) { } @@ -70,7 +74,6 @@ void MaemoQtVersion::fromMap(const QVariantMap &map) QtSupport::BaseQtVersion::fromMap(map); QString path = qmakeCommand().toString(); m_osType = MaemoGlobal::osType(path); - m_isvalidVersion = MaemoGlobal::isValidMaemoQtVersion(path, m_osType); } QString MaemoQtVersion::type() const @@ -80,7 +83,13 @@ QString MaemoQtVersion::type() const bool MaemoQtVersion::isValid() const { - return BaseQtVersion::isValid() && m_isvalidVersion; + if (!BaseQtVersion::isValid()) + return false; + if (!m_initialized) { + m_isvalidVersion = MaemoGlobal::isValidMaemoQtVersion(qmakeCommand().toString(), m_osType); + m_initialized = true; + } + return m_isvalidVersion; } MaemoQtVersion *MaemoQtVersion::clone() const @@ -113,7 +122,7 @@ QString MaemoQtVersion::systemRoot() const QList<ProjectExplorer::Abi> MaemoQtVersion::detectQtAbis() const { QList<ProjectExplorer::Abi> result; - if (!m_isvalidVersion) + if (!isValid()) return result; if (m_osType == QLatin1String(Maemo5OsType)) { result.append(ProjectExplorer::Abi(ProjectExplorer::Abi::ArmArchitecture, ProjectExplorer::Abi::LinuxOS, @@ -140,7 +149,7 @@ bool MaemoQtVersion::supportsTargetId(const QString &id) const QSet<QString> MaemoQtVersion::supportedTargetIds() const { QSet<QString> result; - if (!m_isvalidVersion) + if (!isValid()) return result; if (m_osType == QLatin1String(Maemo5OsType)) { result.insert(QLatin1String(Constants::MAEMO5_DEVICE_TARGET_ID)); diff --git a/src/plugins/madde/maemoqtversion.h b/src/plugins/madde/maemoqtversion.h index e8779dbe555..20696fbda37 100644 --- a/src/plugins/madde/maemoqtversion.h +++ b/src/plugins/madde/maemoqtversion.h @@ -66,6 +66,7 @@ private: mutable QString m_systemRoot; mutable QString m_osType; mutable bool m_isvalidVersion; + mutable bool m_initialized; }; } // namespace Internal -- GitLab