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