From 7cab312d14f79136b8c40507e24523ca5b6dc1e7 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 8 Sep 2012 12:38:31 +0200 Subject: Archive selected pictures Added convenience function to archive selected pictures. Selected pics in the FileManager will automagically be added to NewPicsDialog. --- newpicsdialog.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'newpicsdialog.cpp') 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); -- cgit v1.2.3-70-g09d2