QbsProjectManager: Introduce QbsKitInformation

... and use it to allow users to set custom properties in the
corresponding profile. This replaces the idiosyncratic and more
complicated approach we had before, when that was done in the qbs
profiles settings page. The profiles view is now read-only.

Change-Id: I0c29c1ac0c510e17d685e7bbaa38b54c8100ddb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Christian Kandeler
2017-06-16 15:57:56 +02:00
parent 06ef0ed153
commit d5066ac06e
9 changed files with 183 additions and 76 deletions

View File

@@ -24,6 +24,8 @@
****************************************************************************/
#include "defaultpropertyprovider.h"
#include "qbskitinformation.h"
#include "qbsprojectmanagerconstants.h"
#include <coreplugin/messagemanager.h>
@@ -207,7 +209,7 @@ QVariantMap DefaultPropertyProvider::properties(const ProjectExplorer::Kit *k,
{
QTC_ASSERT(k, return defaultData);
QVariantMap data = autoGeneratedProperties(k, defaultData);
const QVariantMap customProperties = k->value(Core::Id(QBS_PROPERTIES_KEY_FOR_KITS)).toMap();
const QVariantMap customProperties = QbsKitInformation::properties(k);
for (QVariantMap::ConstIterator it = customProperties.constBegin();
it != customProperties.constEnd(); ++it) {
data.insert(it.key(), it.value());