summaryrefslogtreecommitdiffstats
path: root/archiveeditdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archiveeditdialog.cpp')
-rw-r--r--archiveeditdialog.cpp28
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"));