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 updateAdvancedCheckBox();
|
||||||
void updateFromKit();
|
void updateFromKit();
|
||||||
void updateConfigurationStateIndex(int index);
|
void updateConfigurationStateIndex(int index);
|
||||||
CMakeProjectManager::CMakeConfig getQmlDebugCxxFlags();
|
CMakeConfig getQmlDebugCxxFlags();
|
||||||
CMakeProjectManager::CMakeConfig getSigningFlagsChanges();
|
CMakeConfig getSigningFlagsChanges();
|
||||||
|
|
||||||
void updateSelection();
|
void updateSelection();
|
||||||
void updateConfigurationStateSelection();
|
void updateConfigurationStateSelection();
|
||||||
@@ -695,19 +695,19 @@ void CMakeBuildSettingsWidget::updateButtonState()
|
|||||||
ni.inCMakeCache = i.inCMakeCache;
|
ni.inCMakeCache = i.inCMakeCache;
|
||||||
ni.values = i.values;
|
ni.values = i.values;
|
||||||
switch (i.type) {
|
switch (i.type) {
|
||||||
case CMakeProjectManager::ConfigModel::DataItem::BOOLEAN:
|
case ConfigModel::DataItem::BOOLEAN:
|
||||||
ni.type = CMakeConfigItem::BOOL;
|
ni.type = CMakeConfigItem::BOOL;
|
||||||
break;
|
break;
|
||||||
case CMakeProjectManager::ConfigModel::DataItem::FILE:
|
case ConfigModel::DataItem::FILE:
|
||||||
ni.type = CMakeConfigItem::FILEPATH;
|
ni.type = CMakeConfigItem::FILEPATH;
|
||||||
break;
|
break;
|
||||||
case CMakeProjectManager::ConfigModel::DataItem::DIRECTORY:
|
case ConfigModel::DataItem::DIRECTORY:
|
||||||
ni.type = CMakeConfigItem::PATH;
|
ni.type = CMakeConfigItem::PATH;
|
||||||
break;
|
break;
|
||||||
case CMakeProjectManager::ConfigModel::DataItem::STRING:
|
case ConfigModel::DataItem::STRING:
|
||||||
ni.type = CMakeConfigItem::STRING;
|
ni.type = CMakeConfigItem::STRING;
|
||||||
break;
|
break;
|
||||||
case CMakeProjectManager::ConfigModel::DataItem::UNKNOWN:
|
case ConfigModel::DataItem::UNKNOWN:
|
||||||
default:
|
default:
|
||||||
ni.type = CMakeConfigItem::UNINITIALIZED;
|
ni.type = CMakeConfigItem::UNINITIALIZED;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -35,12 +35,103 @@
|
|||||||
#include <QSortFilterProxyModel>
|
#include <QSortFilterProxyModel>
|
||||||
|
|
||||||
namespace CMakeProjectManager {
|
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)
|
ConfigModel::ConfigModel(QObject *parent) : Utils::TreeModel<>(parent)
|
||||||
{
|
{
|
||||||
setHeader({tr("Key"), tr("Value")});
|
setHeader({tr("Key"), tr("Value")});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ConfigModel::~ConfigModel() = default;
|
||||||
|
|
||||||
QVariant ConfigModel::data(const QModelIndex &idx, int role) const
|
QVariant ConfigModel::data(const QModelIndex &idx, int role) const
|
||||||
{
|
{
|
||||||
// Hide/show groups according to "isAdvanced" setting:
|
// Hide/show groups according to "isAdvanced" setting:
|
||||||
@@ -76,8 +167,6 @@ bool ConfigModel::setData(const QModelIndex &idx, const QVariant &data, int role
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigModel::~ConfigModel() = default;
|
|
||||||
|
|
||||||
void ConfigModel::appendConfiguration(const QString &key,
|
void ConfigModel::appendConfiguration(const QString &key,
|
||||||
const QString &value,
|
const QString &value,
|
||||||
const ConfigModel::DataItem::Type type, bool isInitial,
|
const ConfigModel::DataItem::Type type, bool isInitial,
|
||||||
@@ -454,7 +543,6 @@ QString ConfigModel::InternalDataItem::currentValue() const
|
|||||||
return isUserChanged ? newValue : value;
|
return isUserChanged ? newValue : value;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
ConfigModelTreeItem::~ConfigModelTreeItem() = default;
|
ConfigModelTreeItem::~ConfigModelTreeItem() = default;
|
||||||
|
|
||||||
|
|||||||
@@ -32,8 +32,9 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
namespace CMakeProjectManager {
|
namespace CMakeProjectManager {
|
||||||
|
namespace Internal {
|
||||||
|
|
||||||
namespace Internal { class ConfigModelTreeItem; }
|
class ConfigModelTreeItem;
|
||||||
|
|
||||||
class ConfigModel : public Utils::TreeModel<>
|
class ConfigModel : public Utils::TreeModel<>
|
||||||
{
|
{
|
||||||
@@ -46,90 +47,18 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct DataItem {
|
struct DataItem {
|
||||||
bool operator == (const DataItem& other) const {
|
bool operator==(const DataItem &other) const {
|
||||||
return key == other.key && isInitial == other.isInitial;
|
return key == other.key && isInitial == other.isInitial;
|
||||||
}
|
}
|
||||||
|
|
||||||
DataItem() {}
|
DataItem() {}
|
||||||
DataItem(const CMakeConfigItem &cmi) {
|
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;
|
void setType(CMakeConfigItem::Type cmt);
|
||||||
isInitial = cmi.isInitial;
|
|
||||||
isHidden = cmi.type == CMakeConfigItem::INTERNAL || cmi.type == CMakeConfigItem::STATIC;
|
|
||||||
|
|
||||||
setType(cmi.type);
|
QString typeDisplay() const;
|
||||||
}
|
|
||||||
|
|
||||||
void setType(CMakeConfigItem::Type cmt) {
|
CMakeConfigItem toCMakeConfigItem() const;
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum Type { BOOLEAN, FILE, DIRECTORY, STRING, UNKNOWN};
|
enum Type { BOOLEAN, FILE, DIRECTORY, STRING, UNKNOWN};
|
||||||
|
|
||||||
@@ -214,8 +143,6 @@ private:
|
|||||||
friend class Internal::ConfigModelTreeItem;
|
friend class Internal::ConfigModelTreeItem;
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace Internal {
|
|
||||||
|
|
||||||
class ConfigModelTreeItem : public Utils::TreeItem
|
class ConfigModelTreeItem : public Utils::TreeItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
|
|
||||||
namespace CMakeProjectManager {
|
namespace CMakeProjectManager {
|
||||||
|
namespace Internal {
|
||||||
|
|
||||||
ConfigModelItemDelegate::ConfigModelItemDelegate(const Utils::FilePath &base, QObject* parent)
|
ConfigModelItemDelegate::ConfigModelItemDelegate(const Utils::FilePath &base, QObject* parent)
|
||||||
: QStyledItemDelegate(parent)
|
: QStyledItemDelegate(parent)
|
||||||
@@ -131,7 +132,7 @@ void ConfigModelItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *
|
|||||||
QStyledItemDelegate::setModelData(editor, model, index);
|
QStyledItemDelegate::setModelData(editor, model, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
QSize CMakeProjectManager::ConfigModelItemDelegate::sizeHint(const QStyleOptionViewItem &option,
|
QSize ConfigModelItemDelegate::sizeHint(const QStyleOptionViewItem &option,
|
||||||
const QModelIndex &index) const
|
const QModelIndex &index) const
|
||||||
{
|
{
|
||||||
static int height = -1;
|
static int height = -1;
|
||||||
@@ -154,5 +155,6 @@ QSize CMakeProjectManager::ConfigModelItemDelegate::sizeHint(const QStyleOptionV
|
|||||||
return QSize(100, height);
|
return QSize(100, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // namespace Internal
|
||||||
} // namespace CMakeProjectManager
|
} // namespace CMakeProjectManager
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#include <QStyledItemDelegate>
|
#include <QStyledItemDelegate>
|
||||||
|
|
||||||
namespace CMakeProjectManager {
|
namespace CMakeProjectManager {
|
||||||
|
namespace Internal {
|
||||||
|
|
||||||
class ConfigModelItemDelegate : public QStyledItemDelegate
|
class ConfigModelItemDelegate : public QStyledItemDelegate
|
||||||
{
|
{
|
||||||
@@ -51,4 +52,5 @@ private:
|
|||||||
Utils::FilePath m_base;
|
Utils::FilePath m_base;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
} // namespace Internal
|
||||||
} // namespace CMakeProjectManager
|
} // namespace CMakeProjectManager
|
||||||
|
|||||||
Reference in New Issue
Block a user