summaryrefslogtreecommitdiffstats
path: root/newpicsdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'newpicsdialog.cpp')
-rw-r--r--newpicsdialog.cpp23
1 files changed, 19 insertions, 4 deletions
diff --git a/newpicsdialog.cpp b/newpicsdialog.cpp
index 2138a19..822065a 100644
--- a/newpicsdialog.cpp
+++ b/newpicsdialog.cpp
@@ -26,6 +26,15 @@
#include "mappingtreemodel.h"
NewPicsDialog::NewPicsDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f) {
+ setupDlg();
+}
+
+NewPicsDialog::NewPicsDialog(const QStringList &files, QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f){
+ setupDlg();
+ addFiles(files);
+}
+
+void NewPicsDialog::setupDlg(){
//setup database
mDb = QSqlDatabase::database("treedb");
mAddFileQ = new QSqlQuery(mDb);
@@ -44,7 +53,7 @@ NewPicsDialog::NewPicsDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(paren
mFilesV->setAlternatingRowColors(true);
mFilesV->setColumnHidden(2, true);
mAddFiles = new QPushButton(tr("Select..."));
- connect(mAddFiles, SIGNAL(clicked()), this, SLOT(addFiles()));
+ connect(mAddFiles, SIGNAL(clicked()), this, SLOT(selectFiles()));
mRemoveFiles = new QPushButton(tr("Remove"));
connect(mRemoveFiles, SIGNAL(clicked()), this, SLOT(removeFiles()));
QHBoxLayout *fileButtonLayout = new QHBoxLayout;
@@ -81,15 +90,21 @@ NewPicsDialog::NewPicsDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(paren
setLayout(mainLayout);
}
-void NewPicsDialog::addFiles(){
+void NewPicsDialog::selectFiles(){
QSettings s;
QString startDir = s.value("paths/lastpicopendir", QDir::homePath()).toString();
QStringList files = QFileDialog::getOpenFileNames(this, tr("Select pictures"), startDir);
+ if(!files.isEmpty()){
+ addFiles(files);
+ QFileInfo fi(files.first());
+ s.setValue("paths/lastpicopendir", fi.absolutePath());
+ }
+}
+
+void NewPicsDialog::addFiles(const QStringList &files){
if(files.isEmpty()){
return;
}
- QFileInfo fi(files.first());
- s.setValue("paths/lastpicopendir", fi.absolutePath());
mFilesV->setSortingEnabled(false);
foreach(QString f, files){
mFilesModel->addFile(f);