diff options
author | Arno <arno@disconnect.de> | 2016-10-16 00:26:48 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-10-16 00:26:48 +0200 |
commit | 4bbcd75f1ff29c8dbd9befcbe8913587d35a3ed0 (patch) | |
tree | 2d6fdbb21258aa02ae192eae13b281b035566d0b /newpicsdialog.cpp | |
parent | 0da05ce76ab01a4bc8debde448905e0c83611792 (diff) | |
download | SheMov-4bbcd75f1ff29c8dbd9befcbe8913587d35a3ed0.tar.gz SheMov-4bbcd75f1ff29c8dbd9befcbe8913587d35a3ed0.tar.bz2 SheMov-4bbcd75f1ff29c8dbd9befcbe8913587d35a3ed0.zip |
Add Next> to NewPicsDialog
Make archiving various pictures easier. When NewPicsDialog is calles
with a directory, the Next> button archives the current pic and selects
the next.
Diffstat (limited to 'newpicsdialog.cpp')
-rw-r--r-- | newpicsdialog.cpp | 33 |
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(){ |