/* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. */ #include #include #include #include #include #include #include #include "covereditor.h" CoverEditor::CoverEditor(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f){ QGridLayout *mainLayout = new QGridLayout; QLabel *l1 = new QLabel(tr("Front cover")); mFrontCover = new QComboBox; mainLayout->addWidget(l1, 0, 0); mainLayout->addWidget(mFrontCover, 0, 1); QLabel *l2 = new QLabel(tr("Back cover")); mBackCover = new QComboBox; mainLayout->addWidget(l2, 1, 0); mainLayout->addWidget(mBackCover, 1, 1); QLabel *l3 = new QLabel(tr("General cover")); mCovers = new QComboBox; mainLayout->addWidget(l3, 2, 0); mainLayout->addWidget(mCovers, 2, 1); QLabel *l4 = new QLabel(tr("Movie file")); mMovie = new QComboBox; mainLayout->addWidget(l4, 3, 0); mainLayout->addWidget(mMovie, 3, 1); mainLayout->setContentsMargins(0, 0, 0, 0); setLayout(mainLayout); } void CoverEditor::setCovers(const QStringList &covers){ mCoverPaths = covers; QStringList coverNames("-"); QString front, back, movie; int idx(-1); foreach(QString c, mCoverPaths){ if((idx = c.lastIndexOf('/')) != -1){ c.remove(0, idx + 1); } if(c.toLower().contains("front")){ front = c; } if(c.toLower().contains("back")){ back = c; } if(c.toLower().endsWith(".avi")){ movie = c; } coverNames << c; } mFrontCover->clear(); mFrontCover->addItems(coverNames); mBackCover->clear(); mBackCover->addItems(coverNames); mCovers->clear(); mCovers->addItems(coverNames); mMovie->clear(); mMovie->addItems(coverNames); if(!front.isEmpty()){ int idx = mFrontCover->findText(front); if(idx != -1){ mFrontCover->setCurrentIndex(idx); } } if(!back.isEmpty()){ int idx = mBackCover->findText(back); if(idx != -1){ mBackCover->setCurrentIndex(idx); } } if(!movie.isEmpty()){ int idx = mMovie->findText(movie); if(idx != -1){ mMovie->setCurrentIndex(idx); } } } const QString CoverEditor::frontCover() const{ QString sel = mFrontCover->currentText(); if(sel.isEmpty() || (sel == "-")){ return QString(); } return findPath(sel); } const QString CoverEditor::backCover() const{ QString sel = mBackCover->currentText(); if(sel.isEmpty() || (sel == "-")){ return QString(); } return findPath(sel); } const QString CoverEditor::covers() const{ QString sel = mCovers->currentText(); if(sel.isEmpty() || (sel == "-")){ return QString(); } return findPath(sel); } const QString CoverEditor::movie() const{ QString sel = mMovie->currentText(); if(sel.isEmpty() || (sel == "-")){ return QString(); } return findPath(sel); } const QString CoverEditor::findPath(const QString &name) const{ QString retval; foreach(QString s, mCoverPaths){ if(s.endsWith(name)){ retval = s; break; } } return retval; }