From 03398ff8cf0c57ea1421832748b02b823c23f6ea Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Thu, 21 Mar 2013 12:27:18 +0100 Subject: [PATCH] Adds validate kit to toolchain Change-Id: I5f10509698a8badafeee2295a16e3c2eb9b20fa7 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/kitinformation.cpp | 6 +++++- src/plugins/projectexplorer/toolchain.cpp | 10 ++++++++++ src/plugins/projectexplorer/toolchain.h | 4 +++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index 79446cb1c33..a7ff60aab9d 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -162,9 +162,13 @@ QVariant ToolChainKitInformation::defaultValue(Kit *k) const QList ToolChainKitInformation::validate(const Kit *k) const { QList result; - if (!toolChain(k)) { + + const ToolChain* toolchain = toolChain(k); + if (!toolchain) { result << Task(Task::Error, ToolChainKitInformation::msgNoToolChainInTarget(), Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)); + } else { + result << toolchain->validateKit(k); } return result; } diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp index 6639934a734..88a615967a9 100644 --- a/src/plugins/projectexplorer/toolchain.cpp +++ b/src/plugins/projectexplorer/toolchain.cpp @@ -31,6 +31,7 @@ #include "abi.h" #include "toolchainmanager.h" +#include "task.h" #include #include @@ -190,6 +191,15 @@ bool ToolChain::fromMap(const QVariantMap &data) return true; } +/*! + \brief Used by the toolchainkitinformation to validate the kit. +*/ + +QList ToolChain::validateKit(const Kit */*k*/) const +{ + return QList(); +} + /*! \class ProjectExplorer::ToolChainFactory \brief Creates toolchains from settings or autodetects them. diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index c247bea0a1a..9a779f364bf 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -55,6 +55,8 @@ class IOutputParser; class ToolChainConfigWidget; class ToolChainFactory; class ToolChainManager; +class Task; +class Kit; // -------------------------------------------------------------------------- // ToolChain (documentation inside) @@ -104,7 +106,7 @@ public: // Used by the toolchainmanager to save user-generated tool chains. // Make sure to call this method when deriving! virtual QVariantMap toMap() const; - + virtual QList validateKit(const Kit *k) const; protected: ToolChain(const QString &id, bool autoDetect); explicit ToolChain(const ToolChain &);