diff options
author | hjk <hjk@qt.io> | 2022-02-07 17:01:09 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-02-07 17:16:33 +0000 |
commit | c6643dad654bf506420eacf1168cd3659fab3aee (patch) | |
tree | 44f93853365585b1ccd8371bb960ee68f48f12f7 | |
parent | 363849a3724e8ec9fd2f54c3834b675b5a85d701 (diff) | |
download | qt-creator-c6643dad654bf506420eacf1168cd3659fab3aee.tar.gz |
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>
5 files changed, 111 insertions, 92 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 0acbd3ddc2..fd24988694 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -121,8 +121,8 @@ private: void updateAdvancedCheckBox(); void updateFromKit(); void updateConfigurationStateIndex(int index); - CMakeProjectManager::CMakeConfig getQmlDebugCxxFlags(); - CMakeProjectManager::CMakeConfig getSigningFlagsChanges(); + CMakeConfig getQmlDebugCxxFlags(); + CMakeConfig getSigningFlagsChanges(); void updateSelection(); void updateConfigurationStateSelection(); @@ -695,19 +695,19 @@ void CMakeBuildSettingsWidget::updateButtonState() ni.inCMakeCache = i.inCMakeCache; ni.values = i.values; switch (i.type) { - case CMakeProjectManager::ConfigModel::DataItem::BOOLEAN: + case ConfigModel::DataItem::BOOLEAN: ni.type = CMakeConfigItem::BOOL; break; - case CMakeProjectManager::ConfigModel::DataItem::FILE: + case ConfigModel::DataItem::FILE: ni.type = CMakeConfigItem::FILEPATH; break; - case CMakeProjectManager::ConfigModel::DataItem::DIRECTORY: + case ConfigModel::DataItem::DIRECTORY: ni.type = CMakeConfigItem::PATH; break; - case CMakeProjectManager::ConfigModel::DataItem::STRING: + case ConfigModel::DataItem::STRING: ni.type = CMakeConfigItem::STRING; break; - case CMakeProjectManager::ConfigModel::DataItem::UNKNOWN: + case ConfigModel::DataItem::UNKNOWN: default: ni.type = CMakeConfigItem::UNINITIALIZED; break; diff --git a/src/plugins/cmakeprojectmanager/configmodel.cpp b/src/plugins/cmakeprojectmanager/configmodel.cpp index 4815e2f0bd..0e680ad56e 100644 --- a/src/plugins/cmakeprojectmanager/configmodel.cpp +++ b/src/plugins/cmakeprojectmanager/configmodel.cpp @@ -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; diff --git a/src/plugins/cmakeprojectmanager/configmodel.h b/src/plugins/cmakeprojectmanager/configmodel.h index 11e4153b07..95b1ae383d 100644 --- a/src/plugins/cmakeprojectmanager/configmodel.h +++ b/src/plugins/cmakeprojectmanager/configmodel.h @@ -32,8 +32,9 @@ #include <QString> namespace CMakeProjectManager { +namespace Internal { -namespace Internal { class ConfigModelTreeItem; } +class ConfigModelTreeItem; class ConfigModel : public Utils::TreeModel<> { @@ -46,90 +47,18 @@ public: }; struct DataItem { - bool operator == (const DataItem& other) const { + bool operator==(const DataItem &other) const { return key == other.key && isInitial == other.isInitial; } 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); - } + DataItem(const CMakeConfigItem &cmi); - void 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; - } - } + void setType(CMakeConfigItem::Type cmt); - QString 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"; - } + QString typeDisplay() const; - CMakeConfigItem 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; - } + CMakeConfigItem toCMakeConfigItem() const; enum Type { BOOLEAN, FILE, DIRECTORY, STRING, UNKNOWN}; @@ -214,8 +143,6 @@ private: friend class Internal::ConfigModelTreeItem; }; -namespace Internal { - class ConfigModelTreeItem : public Utils::TreeItem { public: diff --git a/src/plugins/cmakeprojectmanager/configmodelitemdelegate.cpp b/src/plugins/cmakeprojectmanager/configmodelitemdelegate.cpp index cacea4cb85..c09a6cd0d5 100644 --- a/src/plugins/cmakeprojectmanager/configmodelitemdelegate.cpp +++ b/src/plugins/cmakeprojectmanager/configmodelitemdelegate.cpp @@ -33,6 +33,7 @@ #include <QCheckBox> namespace CMakeProjectManager { +namespace Internal { ConfigModelItemDelegate::ConfigModelItemDelegate(const Utils::FilePath &base, QObject* parent) : QStyledItemDelegate(parent) @@ -131,8 +132,8 @@ void ConfigModelItemDelegate::setModelData(QWidget *editor, QAbstractItemModel * QStyledItemDelegate::setModelData(editor, model, index); } -QSize CMakeProjectManager::ConfigModelItemDelegate::sizeHint(const QStyleOptionViewItem &option, - const QModelIndex &index) const +QSize ConfigModelItemDelegate::sizeHint(const QStyleOptionViewItem &option, + const QModelIndex &index) const { static int height = -1; if (height < 0) { @@ -154,5 +155,6 @@ QSize CMakeProjectManager::ConfigModelItemDelegate::sizeHint(const QStyleOptionV return QSize(100, height); } +} // namespace Internal } // namespace CMakeProjectManager diff --git a/src/plugins/cmakeprojectmanager/configmodelitemdelegate.h b/src/plugins/cmakeprojectmanager/configmodelitemdelegate.h index 1c6d592791..f6cacd5761 100644 --- a/src/plugins/cmakeprojectmanager/configmodelitemdelegate.h +++ b/src/plugins/cmakeprojectmanager/configmodelitemdelegate.h @@ -32,6 +32,7 @@ #include <QStyledItemDelegate> namespace CMakeProjectManager { +namespace Internal { class ConfigModelItemDelegate : public QStyledItemDelegate { @@ -51,4 +52,5 @@ private: Utils::FilePath m_base; }; +} // namespace Internal } // namespace CMakeProjectManager |