From: Mikko Keinänen Date: Wed, 8 Dec 2010 22:15:11 +0000 (+0200) Subject: Implemented removeRows for SetupModel. X-Git-Url: http://vcs.maemo.org/git/?p=emufront;a=commitdiff_plain;h=373013525f83d16da8175714bf391ccf5837e092 Implemented removeRows for SetupModel. --- diff --git a/src/models/setupmodel.cpp b/src/models/setupmodel.cpp index 3f1c836..031d495 100644 --- a/src/models/setupmodel.cpp +++ b/src/models/setupmodel.cpp @@ -174,5 +174,26 @@ bool SetupModel::insertRows(int row, int count, const QModelIndex &parent) 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; }