From 5dd4fe05df7619fb68356613b698fb373f4fccee Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 4 Jul 2010 10:13:17 +0200 Subject: Fix MovieInfoPage The first page of NewMovieWizard gave me quite a headache. It crashed with a segmentation fault because of exposing mDvdNo via registerField() without actually assigning a QCheckBox to it. The backtrace isn't very helpful in such a case. I also fixed some bugs on the way: 1. use SmTreeItem::setData in SmTreeModel::addRow instead of deleting the old item and creating a new one. This way I don't need to take care of the parent. 2. get data of old item in SmTreeModel::reparent before calling removeRows. This call deletes the item. 3. Fix column alignments in WizardTreeModel for size column --- seriestreemodel.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'seriestreemodel.cpp') diff --git a/seriestreemodel.cpp b/seriestreemodel.cpp index b521647..d5257bb 100644 --- a/seriestreemodel.cpp +++ b/seriestreemodel.cpp @@ -36,6 +36,8 @@ SeriesTreeModel::SeriesTreeModel(QStringList &headers, QObject *parent) : SmTree mSeriesPartFilesQuery->prepare("SELECT files.tfilename, files.cmd5sum FROM seriesparts, files WHERE seriesparts.iseriesparts_id = :id AND seriesparts.iseriesparts_id = files.iseriespart_id"); mSortedMovieListQuery = new QSqlQuery(mDb); mSortedMovieListQuery->prepare("SELECT files.tfilename, files.cmd5sum FROM series, seriesparts, files WHERE series.iseries_id = :id AND seriesparts.iseries_id = series.iseries_id AND seriesparts.iseriesparts_id = files.iseriespart_id AND files.sifiletype = 1 ORDER BY seriesparts.iseriespart, files.sifileno"); + mNextDvdNoQuery = new QSqlQuery(mDb); + mNextDvdNoQuery->prepare("SELECT MAX(idvd) FROM files"); populate(); } @@ -230,6 +232,15 @@ QFileInfoList SeriesTreeModel::findSortedMovies(const QModelIndex &from) const{ return retval; } +int SeriesTreeModel::findNextDvdNo() const{ + int dvdno = 0; + mNextDvdNoQuery->exec(); + while(mNextDvdNoQuery->next()){ + dvdno = mNextDvdNoQuery->value(0).toInt(); + } + return dvdno; +} + bool SeriesTreeModel::deleteFromSeries(const QModelIndex &what){ int nodeType = what.data(TypeRole).toInt(); QSqlQuery *query = 0; -- cgit v1.2.3-70-g09d2