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 | |
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.
-rw-r--r-- | newpicsdialog.cpp | 33 | ||||
-rw-r--r-- | newpicsdialog.h | 8 | ||||
-rw-r--r-- | pictureviewer2.cpp | 1 | ||||
-rw-r--r-- | shemov.cpp | 11 | ||||
-rw-r--r-- | shemov.h | 3 |
5 files changed, 54 insertions, 2 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(){ diff --git a/newpicsdialog.h b/newpicsdialog.h index d526e58..79a6acb 100644 --- a/newpicsdialog.h +++ b/newpicsdialog.h @@ -19,6 +19,7 @@ class QLabel; class QMenu; class SmTreeView; class NewPicFilesModel; +class PictureViewer2; class QSortFilterProxyModel; class MappingTreeWidget; class MappingEditWidget; @@ -35,11 +36,15 @@ class NewPicsDialog : public QDialog { void removeFiles(); void addFiles(const QStringList &files); void setFile(const QString &file); + void setDir(const QString &dir); void clearFiles(); void setFocusToMappings(); + void setNextPic(); + void next(); void accept(); private slots: + void archive(); void writeSettings(); void readSettings(); @@ -55,8 +60,11 @@ class NewPicsDialog : public QDialog { QPushButton *mRemoveFiles; QPushButton *mOk; QPushButton *mCancel; + QPushButton *mNext; QSqlDatabase mDb; QPoint mPos; + QStringList mFiles; + int mFilesCtr; }; class NewPicFilesModel : public SmTreeModel { diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index 2a53986..965111c 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -349,6 +349,7 @@ void PictureViewer2::showNewPicsDialog(){ void PictureViewer2::addToNewPics(){ mNewPicsDlg->setFile(mCurPicData.at(PicFilesModel::FullPath).toString()); + mNewPicsDlg->show(); } void PictureViewer2::markCurrent(){ @@ -397,6 +397,8 @@ void SheMov::createActions(){ connect(mArchiveSelectedMovsA, SIGNAL(triggered()), this, SLOT(newMovieWizardWithFiles())); mArchiveSelectedPicsA = new QAction(QIcon(":/hourglass_figure.png"), tr("Archive selected pics..."), this); connect(mArchiveSelectedPicsA, SIGNAL(triggered()), this, SLOT(newPicsDialogWithFiles())); + mArchivePicsInDirA = new QAction(QIcon(":/higheels.png"), tr("Archive all pics..."), this); + connect(mArchivePicsInDirA, SIGNAL(triggered()), this, SLOT(newPicsDialogWithDir())); mConsistencyA = new QAction(tr("Check consisteny..."), this); connect(mConsistencyA, SIGNAL(triggered()), this, SLOT(checkConsistency())); mNewPicsA = new QAction(tr("Archive pics...."), this); @@ -872,6 +874,7 @@ void SheMov::createMenus(){ mFSWidget->fileView()->addAction(createSeparator()); mFSWidget->fileView()->addAction(mArchiveSelectedPicsA); + mFSWidget->fileView()->addAction(mArchivePicsInDirA); mFSWidget->fileView()->addAction(mArchiveSelectedMovsA); mFSWidget->fileView()->addAction(createSeparator()); mFSWidget->fileView()->addAction(mUnpackA); @@ -1105,6 +1108,14 @@ void SheMov::newPicsDialogWithFiles(){ mNewPicsDialog->exec(); } +void SheMov::newPicsDialogWithDir(){ + QString dir = mFSWidget->currentDir(); + mNewPicsDialog->clearFiles(); + mNewPicsDialog->setDir(dir); + SmGlobals::instance()->pictureViewer()->show(); + mNewPicsDialog->exec(); +} + void SheMov::searchResult(int seriesPartId){ mSearchDialog->hide(); mTab->setCurrentIndex(Movies); @@ -51,9 +51,9 @@ class SheMov : public QMainWindow { void checkMount(bool mounted); void newPicsDialog(); void newPicsDialogWithFiles(); + void newPicsDialogWithDir(); void searchResult(int seriesPartId); void gotoArchive(); - void analyzeActors(); void analyzeGenres(); void analyzeSeries(); @@ -106,6 +106,7 @@ class SheMov : public QMainWindow { QAction *mPlaySelectedTimesMenuFSA; QAction *mArchiveSelectedMovsA; QAction *mArchiveSelectedPicsA; + QAction *mArchivePicsInDirA; QAction *mConsistencyA; QAction *mNewPicsA; QAction *mNewMovieWizardA; |