diff options
author | Arno <arno@disconnect.de> | 2018-03-31 23:03:47 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-03-31 23:03:47 +0200 |
commit | bd12a154513802d41fb7bf46118ba79ecabc3b55 (patch) | |
tree | 3dea28d23b570fe67c6a006b8f8ab6a8a37d9c25 | |
parent | 1ce2c60e99837f3b16e7af35c856b81d31eb06e7 (diff) | |
download | SheMov-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.cpp | 22 | ||||
-rw-r--r-- | fswidget.h | 3 | ||||
-rw-r--r-- | newpicsdialog.cpp | 36 | ||||
-rw-r--r-- | newpicsdialog.h | 6 |
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; @@ -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; |