From 859b218059f541f8acc310d0832be6b63272ffff Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 10 Mar 2016 17:27:20 +0100 Subject: [PATCH] CMake: Small improvements to the CMakeConfigItem * Add a method to more easily get values from list of ConfigItems * Cleanup message signature Change-Id: I728b7c8f5c382fe4a9bf2e3b8636d63db3d07881 Reviewed-by: Tobias Hunger --- src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp | 11 ++++++++++- src/plugins/cmakeprojectmanager/cmakeconfigitem.h | 4 +++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp index 05add0f63e7..7f4af54338e 100644 --- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp @@ -42,7 +42,7 @@ CMakeConfigItem::CMakeConfigItem(const CMakeConfigItem &other) : value(other.value), documentation(other.documentation) { } -CMakeConfigItem::CMakeConfigItem(const QByteArray &k, CMakeConfigItem::Type &t, +CMakeConfigItem::CMakeConfigItem(const QByteArray &k, Type t, const QByteArray &d, const QByteArray &v) : key(k), type(t), value(v), documentation(d) { } @@ -51,6 +51,15 @@ CMakeConfigItem::CMakeConfigItem(const QByteArray &k, const QByteArray &v) : key(k), value(v) { } +QByteArray CMakeConfigItem::valueOf(const QByteArray &key, const QList &input) +{ + for (auto it = input.constBegin(); it != input.constEnd(); ++it) { + if (it->key == key) + return it->value; + } + return QByteArray(); +} + std::function CMakeConfigItem::sortOperator() { return [](const CMakeConfigItem &a, const CMakeConfigItem &b) { return a.key < b.key; }; diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.h b/src/plugins/cmakeprojectmanager/cmakeconfigitem.h index 3a82b2d41d9..2562b924797 100644 --- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.h +++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.h @@ -37,9 +37,11 @@ public: enum Type { FILEPATH, PATH, BOOL, STRING, INTERNAL }; CMakeConfigItem(); CMakeConfigItem(const CMakeConfigItem &other); - CMakeConfigItem(const QByteArray &k, Type &t, const QByteArray &d, const QByteArray &v); + CMakeConfigItem(const QByteArray &k, Type t, const QByteArray &d, const QByteArray &v); CMakeConfigItem(const QByteArray &k, const QByteArray &v); + static QByteArray valueOf(const QByteArray &key, const QList &input); + bool isNull() const { return key.isEmpty(); } static std::function sortOperator();