diff options
Diffstat (limited to 'archiveeditdialog.cpp')
-rw-r--r-- | archiveeditdialog.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/archiveeditdialog.cpp b/archiveeditdialog.cpp index 925afe4..7b1604c 100644 --- a/archiveeditdialog.cpp +++ b/archiveeditdialog.cpp @@ -73,6 +73,9 @@ ArchiveEditDialog::ArchiveEditDialog(ListModel *genre, ListModel *actors, QWidge //button layout QHBoxLayout *buttonLayout = new QHBoxLayout; buttonLayout->addStretch(); + mGuess = new QPushButton(tr("Guess values")); + connect(mGuess, SIGNAL(clicked()), this, SLOT(guess())); + buttonLayout->addWidget(mGuess); mArchive = new QPushButton(tr("Archive")); connect(mArchive, SIGNAL(clicked()), this, SLOT(archive())); buttonLayout->addWidget(mArchive); @@ -174,6 +177,31 @@ void ArchiveEditDialog::archive(){ } } +void ArchiveEditDialog::guess(){ + QString fileName = mCoverEditor->movie(); + if(fileName.isEmpty()){ + return; + } + qDebug() << fileName; + QFileInfo fi(fileName); + QString rfn = fi.completeBaseName(); + rfn.chop(1); + QModelIndexList idx = mMovieModel->columnContains(rfn, MovieItem::Filename); + qDebug() << rfn; + if(idx.size() > 0){ + QModelIndex cur = idx.at(0); + QList<QVariant> actors = cur.data(MovieModel::ActorsRole).toList(); + foreach(QVariant v, actors){ + mFileWidget->setActor(v.toString()); + } + mFileWidget->setMovieTitle(cur.data(MovieModel::TitleBaseRole).toString()); + mFileWidget->setQuality(cur.data(MovieModel::QualityRole).toInt()); + mFileWidget->setSeriesNo(cur.data(MovieModel::SeriesNoRole).toInt()); + int partno = cur.data(MovieModel::PartNoRole).toInt() + 1; + mFileWidget->setPartNo(partno); + } +} + bool ArchiveEditDialog::checkInput(int genre, const QList<int> &actors, const QStringList &files, const QString &title, const QString &movie, int quality) { if(genre < 0){ QMessageBox::critical(this, tr("Error"), tr("Genre is invalid")); |