diff options
author | am <am@f440f766-f032-0410-8965-dc7d17de2ca0> | 2009-10-24 09:55:13 +0000 |
---|---|---|
committer | am <am@f440f766-f032-0410-8965-dc7d17de2ca0> | 2009-10-24 09:55:13 +0000 |
commit | 3eab0ef961ff64e11ebfac655a4606e1b84b1083 (patch) | |
tree | e106354183e23b5be0fbe81fc4251671dd4ba6f0 | |
parent | 51257c29633432c4ecc418fd07726b798508c613 (diff) | |
download | SheMov-3eab0ef961ff64e11ebfac655a4606e1b84b1083.tar.gz SheMov-3eab0ef961ff64e11ebfac655a4606e1b84b1083.tar.bz2 SheMov-3eab0ef961ff64e11ebfac655a4606e1b84b1083.zip |
-Made manual add work again
-Recognize matrovka containers as movies
git-svn-id: file:///var/svn/repos2/shemov/trunk@419 f440f766-f032-0410-8965-dc7d17de2ca0
-rw-r--r-- | archiveviewwidget.cpp | 46 | ||||
-rw-r--r-- | helper.cpp | 2 |
2 files changed, 34 insertions, 14 deletions
diff --git a/archiveviewwidget.cpp b/archiveviewwidget.cpp index d95c122..e94a4ef 100644 --- a/archiveviewwidget.cpp +++ b/archiveviewwidget.cpp @@ -113,22 +113,42 @@ void ArchiveViewWidget::editCovers(){ void ArchiveViewWidget::addMovie(){ TextEnterDialog dlg(tr("Enter movie title"), this); dlg.exec(); + QString title; if(dlg.result() == QDialog::Accepted){ - QString title = dlg.text().toLower().trimmed(); - QList<QVariant> movieData; - movieData << title; - for(int i = 1; i < MovieItem::NumRows; ++i){ - movieData << QVariant(); + title = dlg.text().toLower().trimmed(); + }else{ + return; + } + TextEnterDialog dlg2(tr("Enter series no. (Empty for none)"), this); + dlg2.exec(); + int seriesno = -1; + if(dlg2.result() == QDialog::Accepted){ + if(!dlg2.text().isEmpty()){ + bool success = false; + int sn = dlg2.text().trimmed().toInt(&success); + if(success){ + seriesno = sn; + } } - QString md5(32, '0'); - movieData[MovieItem::Md5Sum] = md5; - movieData[MovieItem::Genre] = mGenreModel->defaultId(); - movieData[MovieItem::Dvd] = -2; - movieData[MovieItem::Filename] = tr("(DVD)"); - movieData[MovieItem::Size] = Q_INT64_C(4707319808); - movieData[MovieItem::Quality] = 0; - mMovieModel->addMovie(movieData, QList<QVariant>(), QList<CoverItem>()); + }else{ + return; + } + + QList<QVariant> movieData; + movieData << title; + for(int i = 1; i < MovieItem::NumRows; ++i){ + movieData << QVariant(); } + QString md5(32, '0'); + movieData[MovieItem::Md5Sum] = md5; + movieData[MovieItem::Genre] = mGenreModel->defaultId(); + movieData[MovieItem::Dvd] = -2; + movieData[MovieItem::Filename] = tr("(DVD)"); + movieData[MovieItem::Size] = Q_INT64_C(4707319808); + movieData[MovieItem::Quality] = 0; + movieData[MovieItem::SeriesNo] = seriesno; + movieData[MovieItem::PartNo] = -1; + mMovieModel->addMovie(movieData, QList<QVariant>(), QList<CoverItem>()); } void ArchiveViewWidget::showMovie(const QModelIndex &movie){ @@ -37,7 +37,7 @@ namespace Helper { const char* magic_c = magic_file(mc, name.constData()); QString desc(magic_c); magic_close(mc); - if(desc.toLower().contains("mpeg sequence") || desc.toLower().contains("microsoft asf")){ + if(desc.toLower().contains("mpeg sequence") || desc.toLower().contains("microsoft asf") || desc.toLower().contains("matroska data")){ retval = "video/"; } } |