summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2018-03-31 23:03:47 +0200
committerArno <arno@disconnect.de>2018-03-31 23:03:47 +0200
commitbd12a154513802d41fb7bf46118ba79ecabc3b55 (patch)
tree3dea28d23b570fe67c6a006b8f8ab6a8a37d9c25
parent1ce2c60e99837f3b16e7af35c856b81d31eb06e7 (diff)
downloadSheMov-bd12a154513802d41fb7bf46118ba79ecabc3b55.tar.gz
SheMov-bd12a154513802d41fb7bf46118ba79ecabc3b55.tar.bz2
SheMov-bd12a154513802d41fb7bf46118ba79ecabc3b55.zip
Implement archive pics for FSWidget
And remove a lot of cruft... Still much work to be done :(
-rw-r--r--fswidget.cpp22
-rw-r--r--fswidget.h3
-rw-r--r--newpicsdialog.cpp36
-rw-r--r--newpicsdialog.h6
4 files changed, 24 insertions, 43 deletions
diff --git a/fswidget.cpp b/fswidget.cpp
index 4e00225..d557dea 100644
--- a/fswidget.cpp
+++ b/fswidget.cpp
@@ -22,6 +22,7 @@
#include "fswidget.h"
#include "helper.h"
#include "newmoviewizard.h"
+#include "newpicsdialog.h"
#include "fsproxy.h"
#include "viewer.h"
@@ -29,6 +30,7 @@ FSWidget::FSWidget(QWidget *parent) : QWidget(parent) {
mMovieWizard = new NewMovieWizard(this);
mMovieWizard->setMinimumWidth(1024);
mViewer = new Viewer;
+ mNewPicsDlg = new NewPicsDialog;
setPalette(qApp->palette());
setupWidget();
}
@@ -59,6 +61,10 @@ void FSWidget::setupWidget(){
connect(archiveMovieA, &QAction::triggered, this, &FSWidget::archiveMovie);
connect(mMovieWizard, &NewMovieWizard::accepted, this, &FSWidget::refresh);
toolbar->addAction(archiveMovieA);
+ QAction *archivePicsA = new QAction(QIcon(":/bald_pussy.png"), tr("Archive pics..."), this);
+ connect(archivePicsA, &QAction::triggered, this, &FSWidget::archivePics);
+ connect(mNewPicsDlg, &NewPicsDialog::accepted, this, &FSWidget::refresh);
+ toolbar->addAction(archivePicsA);
QAction *unpackA = new QAction(QIcon(":/clitoris.png"), tr("Unpack"), this);
connect(unpackA, &QAction::triggered, this, &FSWidget::unpack);
toolbar->addAction(unpackA);
@@ -129,7 +135,7 @@ void FSWidget::setupWidget(){
mFileView->setModel(mProxy);
mFileView->sortByColumn(0, Qt::AscendingOrder);
- addActions(QList<QAction*>() << backA << forwardA << Helper::createSeparator(this) << refreshA << deleteFilesA << Helper::createSeparator(this) << archiveMovieA << unpackA << previewA);
+ addActions(QList<QAction*>() << backA << forwardA << Helper::createSeparator(this) << refreshA << deleteFilesA << Helper::createSeparator(this) << archiveMovieA << archivePicsA << unpackA << previewA);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(topWL);
@@ -374,6 +380,20 @@ void FSWidget::archiveMovie(){
mMovieWizard->show();
}
+void FSWidget::archivePics(){
+ QModelIndexList selected = mFileView->selectionModel()->selectedRows();
+ if(selected.isEmpty()){
+ return;
+ }
+ QStringList files;
+ for(const QModelIndex &idx : selected){
+ files << idx.data(FullPathRole).toString();
+ }
+ mNewPicsDlg->clearFiles();
+ mNewPicsDlg->addFiles(files);
+ mNewPicsDlg->show();
+}
+
void FSWidget::advanceDir(int by){
int dirCount = mDirCB->count();
int nextIdx = mDirCB->currentIndex() + by;
diff --git a/fswidget.h b/fswidget.h
index a66fbd6..acc9282 100644
--- a/fswidget.h
+++ b/fswidget.h
@@ -10,6 +10,7 @@ class QStandardItemModel;
class QSortFilterProxyModel;
class QContextMenuEvent;
class NewMovieWizard;
+class NewPicsDialog;
class Viewer;
class FSProxy;
@@ -34,6 +35,7 @@ class FSWidget : public QWidget {
void gatherData(const QString &curDir);
void deleteFiles();
void archiveMovie();
+ void archivePics();
void advanceDir(int by);
int queryCount(QSqlQuery &q, const QString &arg);
void filterMime(const QString &mime);
@@ -52,6 +54,7 @@ class FSWidget : public QWidget {
QStandardItemModel *mModel;
FSProxy *mProxy;
NewMovieWizard *mMovieWizard;
+ NewPicsDialog *mNewPicsDlg;
Viewer *mViewer;
int mQueryCount;
};
diff --git a/newpicsdialog.cpp b/newpicsdialog.cpp
index 20d5d4a..2d58a18 100644
--- a/newpicsdialog.cpp
+++ b/newpicsdialog.cpp
@@ -48,14 +48,8 @@ void NewPicsDialog::setupDlg(){
mFilesV->header()->moveSection(6, 2); //move picsize to front
mFilesV->header()->moveSection(5, 3); //move mime type to front
mFilesV->setAlternatingRowColors(true);
- mAddFiles = new QPushButton(tr("Select..."));
- connect(mAddFiles, SIGNAL(clicked()), this, SLOT(selectFiles()));
- mRemoveFiles = new QPushButton(tr("Remove"));
- connect(mRemoveFiles, SIGNAL(clicked()), this, SLOT(removeFiles()));
QHBoxLayout *fileButtonLayout = new QHBoxLayout;
fileButtonLayout->addStretch();
- fileButtonLayout->addWidget(mRemoveFiles);
- fileButtonLayout->addWidget(mAddFiles);
QVBoxLayout *filesLayout = new QVBoxLayout;
filesLayout->addWidget(mFilesV);
filesLayout->addLayout(fileButtonLayout);
@@ -70,15 +64,9 @@ 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()));
- mDelete = new QPushButton(tr("Delete"));
- connect(mDelete, SIGNAL(clicked()), this, SLOT(deleteCurrent()));
QHBoxLayout *dlgButtonLayout = new QHBoxLayout;
dlgButtonLayout->addStretch();
dlgButtonLayout->addWidget(mCancel);
- dlgButtonLayout->addWidget(mNext);
- dlgButtonLayout->addWidget(mDelete);
dlgButtonLayout->addWidget(mOk);
//put it together
@@ -112,18 +100,9 @@ void NewPicsDialog::addFiles(const QStringList &files){
if(files.isEmpty()){
return;
}
- show();
mFilesV->setSortingEnabled(false);
- QProgressDialog progress(tr("Preparing..."), QString(), 0, files.size(), this);
- progress.setMinimumWidth(400);
- progress.setWindowTitle(tr("Gathering data..."));
- progress.show();
- int pgctr = 0;
foreach(QString f, files){
mFilesModel->addFile(f);
- ++pgctr;
- progress.setValue(pgctr);
- qApp->processEvents();
}
mFilesV->setSortingEnabled(true);
for(int i = 0; i < NewPicFilesModel::NumFields; ++i){
@@ -237,21 +216,6 @@ void NewPicsDialog::archive(){
}
}
-void NewPicsDialog::deleteCurrent(){
- if(mFilesCtr < mFiles.count()){
- QString fp = mFiles.at(mFilesCtr);
- QFile::remove(fp);
- ++mFilesCtr;
- setNextPic();
- }
-}
-
-void NewPicsDialog::next(){
- archive();
- ++mFilesCtr;
- setNextPic();
-}
-
void NewPicsDialog::writeSettings(){
mMappingEditWidget->saveMappings("ui/newpicmappings");
QSettings s;
diff --git a/newpicsdialog.h b/newpicsdialog.h
index 5033c79..89f38a3 100644
--- a/newpicsdialog.h
+++ b/newpicsdialog.h
@@ -40,12 +40,10 @@ class NewPicsDialog : public QDialog {
void clearFiles();
void setFocusToMappings();
void setNextPic();
- void next();
void accept();
private slots:
void archive();
- void deleteCurrent();
void writeSettings();
void readSettings();
@@ -57,12 +55,8 @@ class NewPicsDialog : public QDialog {
SmTreeView *mFilesV;
NewPicFilesModel *mFilesModel;
QSortFilterProxyModel *mFilesProxy;
- QPushButton *mAddFiles;
- QPushButton *mRemoveFiles;
QPushButton *mOk;
QPushButton *mCancel;
- QPushButton *mNext;
- QPushButton *mDelete;
QSqlDatabase mDb;
QPoint mPos;
QStringList mFiles;