forked from qt-creator/qt-creator
CMake: make it possible to insert new vars in project settings
Task-number: QTCREATORBUG-16238 Change-Id: If98acc4f27cabbb606b2fc1017096da626ba1144 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
committed by
Tobias Hunger
parent
e6e2c1771b
commit
c1d735503b
@@ -72,7 +72,10 @@ Qt::ItemFlags ConfigModel::flags(const QModelIndex &index) const
|
||||
else
|
||||
return Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsSelectable;
|
||||
} else {
|
||||
return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
|
||||
Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
|
||||
if (item.isUserNew)
|
||||
return flags |= Qt::ItemIsEditable;
|
||||
return flags;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,7 +167,7 @@ bool ConfigModel::setData(const QModelIndex &index, const QVariant &value, int r
|
||||
InternalDataItem &item = itemAtRow(index.row());
|
||||
switch (index.column()) {
|
||||
case 0:
|
||||
if (!item.key.isEmpty())
|
||||
if (!item.key.isEmpty() && !item.isUserNew)
|
||||
return false;
|
||||
item.key = newValue;
|
||||
item.isUserNew = true;
|
||||
@@ -203,6 +206,25 @@ QVariant ConfigModel::headerData(int section, Qt::Orientation orientation, int r
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigModel::appendConfiguration(const QString &key,
|
||||
const QString &value,
|
||||
const ConfigModel::DataItem::Type type,
|
||||
const QString &description)
|
||||
{
|
||||
DataItem item;
|
||||
item.key = key;
|
||||
item.type = type;
|
||||
item.value = value;
|
||||
item.description = description;
|
||||
|
||||
InternalDataItem internalItem(item);
|
||||
internalItem.isUserNew = true;
|
||||
|
||||
beginResetModel();
|
||||
m_configuration.append(internalItem);
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
void ConfigModel::setConfiguration(const QList<ConfigModel::DataItem> &config)
|
||||
{
|
||||
QList<DataItem> tmp = config;
|
||||
|
||||
Reference in New Issue
Block a user