summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2022-02-07 17:01:09 +0100
committerhjk <hjk@qt.io>2022-02-07 17:16:33 +0000
commitc6643dad654bf506420eacf1168cd3659fab3aee (patch)
tree44f93853365585b1ccd8371bb960ee68f48f12f7
parent363849a3724e8ec9fd2f54c3834b675b5a85d701 (diff)
downloadqt-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>
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp14
-rw-r--r--src/plugins/cmakeprojectmanager/configmodel.cpp94
-rw-r--r--src/plugins/cmakeprojectmanager/configmodel.h87
-rw-r--r--src/plugins/cmakeprojectmanager/configmodelitemdelegate.cpp6
-rw-r--r--src/plugins/cmakeprojectmanager/configmodelitemdelegate.h2
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