section of switch...case.
protected:
QString tableName;
protected:
QString tableName;
+ QList<int> editableColumns;
};
#endif // EMUFRONTQUERYMODEL_H
};
#endif // EMUFRONTQUERYMODEL_H
ExternalExecutableModel::ExternalExecutableModel(QObject *parent) :
EmuFrontQueryModel(parent)
{
ExternalExecutableModel::ExternalExecutableModel(QObject *parent) :
EmuFrontQueryModel(parent)
{
+ editableColumns << Executable_Name;
+ editableColumns << Executable_Options;
+ editableColumns << Executable_Executable;
+ editableColumns << Executable_SetupId;
{
Qt::ItemFlags flags = QSqlQueryModel::flags(index);
int col = index.column();
{
Qt::ItemFlags flags = QSqlQueryModel::flags(index);
int col = index.column();
- if (col == Executable_Name ||
- col == Executable_Options ||
- col == Executable_Executable ||
- col == Executable_SetupId) {
+ if (editableColumns.contains(index.column())) {
flags |= Qt::ItemIsEditable;
}
return flags;
flags |= Qt::ItemIsEditable;
}
return flags;
bool ExternalExecutableModel::setData(const QModelIndex &index, const QVariant &value, int role)
{
bool ExternalExecutableModel::setData(const QModelIndex &index, const QVariant &value, int role)
{
- // TODO
- return false;
+ if (!editableColumns.contains(index.column()))
+ return false;
+
+ QModelIndex primaryKeyIndex = QSqlQueryModel::index(index.row(), Executable_Id);
+ int id = data(primaryKeyIndex).toInt();
+ clear();
+ bool ok;
+ return ok;
}
bool ExternalExecutableModel::insertRows(int row, int count, const QModelIndex &parent)
}
bool ExternalExecutableModel::insertRows(int row, int count, const QModelIndex &parent)
ok = setFilePath(id, value.toString());
break;
default:
ok = setFilePath(id, value.toString());
break;
default:
qDebug() << "File path model, this shouldn't be happening!";
}
refresh();
qDebug() << "File path model, this shouldn't be happening!";
}
refresh();
qDebug() << "Setup model, this shouldn't be happening!";
};
refresh();
qDebug() << "Setup model, this shouldn't be happening!";
};
refresh();