summaryrefslogtreecommitdiffstats
path: root/newpicsdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'newpicsdialog.cpp')
-rw-r--r--newpicsdialog.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/newpicsdialog.cpp b/newpicsdialog.cpp
index b1b5842..a161d8d 100644
--- a/newpicsdialog.cpp
+++ b/newpicsdialog.cpp
@@ -70,9 +70,12 @@ void NewPicsDialog::setupDlg(){
connect(mOk, SIGNAL(clicked()), this, SLOT(accept()));
mCancel = new QPushButton(tr("Cancel"));
connect(mCancel, SIGNAL(clicked()), this, SLOT(reject()));
+ mNext = new QPushButton(tr("Next >"));
+ connect(mNext, SIGNAL(clicked()), this, SLOT(next()));
QHBoxLayout *dlgButtonLayout = new QHBoxLayout;
dlgButtonLayout->addStretch();
dlgButtonLayout->addWidget(mCancel);
+ dlgButtonLayout->addWidget(mNext);
dlgButtonLayout->addWidget(mOk);
//put it together
@@ -133,6 +136,16 @@ void NewPicsDialog::setFile(const QString &file){
}
}
+void NewPicsDialog::setDir(const QString &dir){
+ mFiles.clear();
+ QDir d(dir);
+ foreach(QFileInfo fi, d.entryInfoList(QDir::Files, QDir::Name)){
+ mFiles << fi.absoluteFilePath();
+ }
+ mFilesCtr = 0;
+ setNextPic();
+}
+
void NewPicsDialog::clearFiles(){
mFilesV->setSortingEnabled(false);
SmTreeItem *rootItem = new SmTreeItem(NewPicFilesModel::NumFields);
@@ -145,6 +158,15 @@ void NewPicsDialog::setFocusToMappings(){
mMappingEditWidget->treeWidget()->mappingTreeView()->setFocus();
}
+void NewPicsDialog::setNextPic(){
+ if(mFilesCtr < mFiles.count()){
+ QString fp = mFiles.at(mFilesCtr);
+ setFile(fp);
+ SmGlobals::instance()->pictureViewer()->setFile(fp);
+ ++mFilesCtr;
+ }
+}
+
void NewPicsDialog::removeFiles(){
QModelIndexList selected = mFilesV->selectionModel()->selectedRows();
if(selected.isEmpty()){
@@ -164,6 +186,11 @@ void NewPicsDialog::removeFiles(){
}
void NewPicsDialog::accept(){
+ archive();
+ return QDialog::accept();
+}
+
+void NewPicsDialog::archive(){
writeSettings();
QList<FileData> files = mFilesModel->validFiles();
if(files.isEmpty()){
@@ -206,7 +233,11 @@ void NewPicsDialog::accept(){
mFilesModel->clear();
}
}
- return QDialog::accept();
+}
+
+void NewPicsDialog::next(){
+ archive();
+ setNextPic();
}
void NewPicsDialog::writeSettings(){