diff options
author | Arno <am@disconnect.de> | 2010-07-04 10:13:17 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-07-04 10:13:17 +0200 |
commit | 5dd4fe05df7619fb68356613b698fb373f4fccee (patch) | |
tree | d74adce3b2a1c56448e9dea08a23c51f83decedb /seriestreemodel.cpp | |
parent | 8c6051a16b12f265d7a30b4b24da10b3ba63edae (diff) | |
download | SheMov-5dd4fe05df7619fb68356613b698fb373f4fccee.tar.gz SheMov-5dd4fe05df7619fb68356613b698fb373f4fccee.tar.bz2 SheMov-5dd4fe05df7619fb68356613b698fb373f4fccee.zip |
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
Diffstat (limited to 'seriestreemodel.cpp')
-rw-r--r-- | seriestreemodel.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
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; |