summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-10-16 00:26:48 +0200
committerArno <arno@disconnect.de>2016-10-16 00:26:48 +0200
commit4bbcd75f1ff29c8dbd9befcbe8913587d35a3ed0 (patch)
tree2d6fdbb21258aa02ae192eae13b281b035566d0b
parent0da05ce76ab01a4bc8debde448905e0c83611792 (diff)
downloadSheMov-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.cpp33
-rw-r--r--newpicsdialog.h8
-rw-r--r--pictureviewer2.cpp1
-rw-r--r--shemov.cpp11
-rw-r--r--shemov.h3
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(){
diff --git a/shemov.cpp b/shemov.cpp
index 17194f2..38bbf7a 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -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);
diff --git a/shemov.h b/shemov.h
index 1bb0a18..3406446 100644
--- a/shemov.h
+++ b/shemov.h
@@ -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;