summaryrefslogtreecommitdiffstats
path: root/seriestreemodel.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-07-04 10:13:17 +0200
committerArno <am@disconnect.de>2010-07-04 10:13:17 +0200
commit5dd4fe05df7619fb68356613b698fb373f4fccee (patch)
treed74adce3b2a1c56448e9dea08a23c51f83decedb /seriestreemodel.cpp
parent8c6051a16b12f265d7a30b4b24da10b3ba63edae (diff)
downloadSheMov-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.cpp11
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;