diff options
Diffstat (limited to 'covereditor.cpp')
-rw-r--r-- | covereditor.cpp | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/covereditor.cpp b/covereditor.cpp index 618c0a9..5472f23 100644 --- a/covereditor.cpp +++ b/covereditor.cpp @@ -9,10 +9,13 @@ #include <QStringList> #include <QLabel> #include <QGridLayout> +#include <QFileDialog> +#include <QPushButton> +#include <QSettings> #include "covereditor.h" -CoverEditor::CoverEditor(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f){ +CoverEditor::CoverEditor(Mode mode, QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f), mMode(mode){ QGridLayout *mainLayout = new QGridLayout; QLabel *l1 = new QLabel(tr("Front cover")); mFrontCover = new QComboBox; @@ -30,6 +33,15 @@ CoverEditor::CoverEditor(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f mMovie = new QComboBox; mainLayout->addWidget(l4, 3, 0); mainLayout->addWidget(mMovie, 3, 1); + mAddFile = new QPushButton(tr("Add cover")); + if(mode == Archive){ + mAddFile->setVisible(false); + }else{ + l4->setVisible(false); + mMovie->setVisible(false); + } + connect(mAddFile, SIGNAL(clicked()), this, SLOT(addFile())); + mainLayout->addWidget(mAddFile, 4, 1); setLayout(mainLayout); } @@ -115,6 +127,24 @@ const QString CoverEditor::movie() const{ } +void CoverEditor::addFile(){ + QSettings s; + QString startDir = s.value("ui/selectstartup").toString(); + QStringList files = QFileDialog::getOpenFileNames(this, "Select covers to add to list", startDir); + foreach(QString f, files){ + if(!mCoverPaths.contains(f)){ + files << f; + int idx(-1); + if((idx = f.lastIndexOf('/')) != -1){ + f.remove(0, idx + 1); + mFrontCover->addItem(f); + mBackCover->addItem(f); + mCovers->addItem(f); + } + } + } +} + const QString CoverEditor::findPath(const QString &name) const{ QString retval; foreach(QString s, mCoverPaths){ |