From 373013525f83d16da8175714bf391ccf5837e092 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mikko=20Kein=C3=A4nen?= Date: Thu, 9 Dec 2010 00:15:11 +0200 Subject: [PATCH 1/1] Implemented removeRows for SetupModel. --- src/models/setupmodel.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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; } -- 1.7.9.5