CMakeProjectManager: Some code cosmetics

Move non-exported classed to Internal namespace, move some functions
out-of-line.

Change-Id: I3a2135104d09c0c3f799c5b8d795c93059b1ae95
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
hjk
2022-02-07 17:01:09 +01:00
parent 363849a372
commit c6643dad65
5 changed files with 111 additions and 92 deletions

View File

@@ -35,12 +35,103 @@
#include <QSortFilterProxyModel>
namespace CMakeProjectManager {
namespace Internal {
// DataItem
ConfigModel::DataItem::DataItem(const CMakeConfigItem &cmi)
{
key = QString::fromUtf8(cmi.key);
value = QString::fromUtf8(cmi.value);
description = QString::fromUtf8(cmi.documentation);
values = cmi.values;
inCMakeCache = cmi.inCMakeCache;
isAdvanced = cmi.isAdvanced;
isInitial = cmi.isInitial;
isHidden = cmi.type == CMakeConfigItem::INTERNAL || cmi.type == CMakeConfigItem::STATIC;
setType(cmi.type);
}
void ConfigModel::DataItem::setType(CMakeConfigItem::Type cmt)
{
switch (cmt) {
case CMakeConfigItem::FILEPATH:
type = FILE;
break;
case CMakeConfigItem::PATH:
type = DIRECTORY;
break;
case CMakeConfigItem::BOOL:
type = BOOLEAN;
break;
case CMakeConfigItem::STRING:
type = STRING;
break;
default:
type = UNKNOWN;
break;
}
}
QString ConfigModel::DataItem::typeDisplay() const
{
switch (type) {
case DataItem::BOOLEAN:
return "BOOL";
case DataItem::FILE:
return "FILEPATH";
case DataItem::DIRECTORY:
return "PATH";
case DataItem::STRING:
return "STRING";
case DataItem::UNKNOWN:
break;
}
return "UNINITIALIZED";
}
CMakeConfigItem ConfigModel::DataItem::toCMakeConfigItem() const
{
CMakeConfigItem cmi;
cmi.key = key.toUtf8();
cmi.value = value.toUtf8();
switch (type) {
case DataItem::BOOLEAN:
cmi.type = CMakeConfigItem::BOOL;
break;
case DataItem::FILE:
cmi.type = CMakeConfigItem::FILEPATH;
break;
case DataItem::DIRECTORY:
cmi.type = CMakeConfigItem::PATH;
break;
case DataItem::STRING:
cmi.type = CMakeConfigItem::STRING;
break;
case DataItem::UNKNOWN:
cmi.type = CMakeConfigItem::UNINITIALIZED;
break;
}
cmi.isUnset = isUnset;
cmi.isAdvanced = isAdvanced;
cmi.isInitial = isInitial;
cmi.values = values;
cmi.documentation = description.toUtf8();
return cmi;
}
// ConfigModel
ConfigModel::ConfigModel(QObject *parent) : Utils::TreeModel<>(parent)
{
setHeader({tr("Key"), tr("Value")});
}
ConfigModel::~ConfigModel() = default;
QVariant ConfigModel::data(const QModelIndex &idx, int role) const
{
// Hide/show groups according to "isAdvanced" setting:
@@ -76,8 +167,6 @@ bool ConfigModel::setData(const QModelIndex &idx, const QVariant &data, int role
return res;
}
ConfigModel::~ConfigModel() = default;
void ConfigModel::appendConfiguration(const QString &key,
const QString &value,
const ConfigModel::DataItem::Type type, bool isInitial,
@@ -454,7 +543,6 @@ QString ConfigModel::InternalDataItem::currentValue() const
return isUserChanged ? newValue : value;
}
namespace Internal {
ConfigModelTreeItem::~ConfigModelTreeItem() = default;