forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
DataItem(const CMakeConfigItem &cmi);
|
||||
|
||||
isAdvanced = cmi.isAdvanced;
|
||||
isInitial = cmi.isInitial;
|
||||
isHidden = cmi.type == CMakeConfigItem::INTERNAL || cmi.type == CMakeConfigItem::STATIC;
|
||||
void setType(CMakeConfigItem::Type cmt);
|
||||
|
||||
setType(cmi.type);
|
||||
}
|
||||
QString typeDisplay() const;
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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";
|
||||
}
|
||||
|
||||
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:
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <QCheckBox>
|
||||
|
||||
namespace CMakeProjectManager {
|
||||
namespace Internal {
|
||||
|
||||
ConfigModelItemDelegate::ConfigModelItemDelegate(const Utils::FilePath &base, QObject* parent)
|
||||
: QStyledItemDelegate(parent)
|
||||
@@ -131,7 +132,7 @@ void ConfigModelItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *
|
||||
QStyledItemDelegate::setModelData(editor, model, index);
|
||||
}
|
||||
|
||||
QSize CMakeProjectManager::ConfigModelItemDelegate::sizeHint(const QStyleOptionViewItem &option,
|
||||
QSize ConfigModelItemDelegate::sizeHint(const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) const
|
||||
{
|
||||
static int height = -1;
|
||||
@@ -154,5 +155,6 @@ QSize CMakeProjectManager::ConfigModelItemDelegate::sizeHint(const QStyleOptionV
|
||||
return QSize(100, height);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace CMakeProjectManager
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user