QSqlQuery q;
q.exec(QString("SELECT id FROM platform ORDER BY name LIMIT 1"));
if (q.first()){
- qDebug() << "Got id " << plfId << " for default platform.";
plfId = q.value(0).toInt();
+ qDebug() << "Got id " << plfId << " for default platform.";
}
else {
throw EmuFrontException(tr("No platforms yet available for setup configuration!"));
}
q.exec(QString("SELECT id FROM mediatype ORDER BY name LIMIT 1"));
if (q.first()) {
- qDebug() << "Got id " << mdtId << " for default media type.";
mdtId = q.value(0).toInt();
+ qDebug() << "Got id " << mdtId << " for default media type.";
}
else {
throw EmuFrontException(tr("No media types yet available for setup configuration!"));
bool SetupModel::removeRows(int row, int count, const QModelIndex &parent)
{
+ if (parent.isValid()) {
+ return false; // This is a flat model
+ }
+ if (rowCount() < row + count - 1)
+ return false;
+
+ QSqlQuery q;
+ q.prepare(QString("DELETE FROM setup WHERE id=:id"));
+ QModelIndex primaryIndex;
+ int id = -1;
+ beginRemoveRows(QModelIndex(), row, row + count - 1);
+ for(int i = 0; i < count; ++i) {
+ primaryIndex = QSqlQueryModel::index(row + i, Setup_Id);
+ id = data(primaryIndex).toInt();
+ qDebug() << "Removing data item with id " << id;
+ q.bindValue(":id", id);
+ q.exec();
+ }
+ endRemoveRows();
+ refresh();
+ return true;
}