From a3d9cab9edae313f2f172688a1aa9b352ec7bbd6 Mon Sep 17 00:00:00 2001 From: Arno Moeller Date: Thu, 17 Jun 2010 14:41:08 +0200 Subject: Fixed SeriesTreeModel There was no serious problem with the database schema. Maybe I should have gone to bed earlier. Updating and changing series names now works. --- seriestreemodel.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'seriestreemodel.cpp') diff --git a/seriestreemodel.cpp b/seriestreemodel.cpp index 53098d1..62e2edc 100644 --- a/seriestreemodel.cpp +++ b/seriestreemodel.cpp @@ -19,7 +19,7 @@ SeriesTreeModel::SeriesTreeModel(QStringList &headers, QObject *parent) : SmTree mSeriesPartsQuery = new QSqlQuery(mDb); mSeriesPartsQuery->prepare("SELECT iseriesparts_id, iseriespart FROM seriesparts WHERE iseries_id = :id ORDER BY iseriespart"); mUpdateSeriesIdQuery = new QSqlQuery(mDb); - mUpdateSeriesIdQuery->prepare("UPDATE series SET iseries_id = :newid WHERE iseries_id = :oldid"); + mUpdateSeriesIdQuery->prepare("UPDATE seriesparts SET iseries_id = :newid WHERE iseries_id = :oldid"); mUpdateSeriesNameQuery = new QSqlQuery(mDb); mUpdateSeriesNameQuery->prepare("UPDATE series SET tseries_name = :newname WHERE iseries_id = :id"); mDeleteSeriesQuery = new QSqlQuery(mDb); @@ -28,13 +28,12 @@ SeriesTreeModel::SeriesTreeModel(QStringList &headers, QObject *parent) : SmTree } SeriesTreeModel::~SeriesTreeModel(){ - qDebug() << "dtor!"; delete mSeriesPartsQuery; delete mUpdateSeriesIdQuery; delete mUpdateSeriesNameQuery; delete mDeleteSeriesQuery; mDb.close(); - QSqlDatabase::removeDatabase("treedb"); + mDb = QSqlDatabase(); } Qt::ItemFlags SeriesTreeModel::flags(const QModelIndex &index) const{ @@ -109,7 +108,7 @@ bool SeriesTreeModel::setData(const QModelIndex &index, const QVariant &value, i //change of series name if(index.column() == Name){ QModelIndex newSeries = findValue(value, index.parent(), index.column()); - int oldSeriesId = index.data(SeriesId).toInt(); + int oldSeriesId = index.data(SeriesIdRole).toInt(); if(newSeries != QModelIndex()){ //new series name already exists int newSeriesId = newSeries.data(SeriesIdRole).toInt(); @@ -133,6 +132,8 @@ bool SeriesTreeModel::setData(const QModelIndex &index, const QVariant &value, i } reset(); return true; + }else{ + return false; } }else{ //rename series -- cgit v1.2.3-70-g09d2