diff options
-rw-r--r-- | newpicsdialog.cpp | 6 | ||||
-rw-r--r-- | newpicsdialog.h | 5 | ||||
-rw-r--r-- | pictureviewer2.cpp | 12 | ||||
-rw-r--r-- | pictureviewer2.h | 4 | ||||
-rw-r--r-- | shemov.cpp | 12 | ||||
-rw-r--r-- | shemov.h | 2 |
6 files changed, 39 insertions, 2 deletions
diff --git a/newpicsdialog.cpp b/newpicsdialog.cpp index 272bf2d..c0bf76e 100644 --- a/newpicsdialog.cpp +++ b/newpicsdialog.cpp @@ -167,6 +167,7 @@ void NewPicsDialog::accept(){ Helper::moveToArchive(d.fullPath, d.md5sum); } mDb.commit(); + mFilesModel->clear(); return QDialog::accept(); } @@ -321,6 +322,11 @@ QList<FileData> NewPicFilesModel::validFiles() const { return retval; } +void NewPicFilesModel::clear(){ + SmTreeItem *newRoot = new SmTreeItem(NumFields); + setRoot(newRoot); +} + bool NewPicFilesModel::haveMd5(const QString &md5) const { mMd5Query->bindValue(":md5", md5); mMd5Query->exec(); diff --git a/newpicsdialog.h b/newpicsdialog.h index 17e012e..110f4fc 100644 --- a/newpicsdialog.h +++ b/newpicsdialog.h @@ -35,11 +35,11 @@ class NewPicsDialog : public QDialog { public slots: void selectFiles(); void removeFiles(); + void addFiles(const QStringList &files); void accept(); private: void setupDlg(); - void addFiles(const QStringList &files); QTabWidget *mTab; QWidget *mFilesWidget; MappingEditWidget *mMappingEditWidget; @@ -74,6 +74,9 @@ class NewPicFilesModel : public SmTreeModel { void removeFile(const QModelIndex &idx); QList<FileData> validFiles() const; + public slots: + void clear(); + private: bool haveMd5(const QString &md5) const; QSqlDatabase mDb; diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index 9aba348..f385abc 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -35,6 +35,7 @@ #include "mappingtreemodel.h" #include "smtreeitem.h" #include "configurationdialog.h" +#include "newpicsdialog.h" #include "helper.h" PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0), mCurPos(0), mDefaultFile(":/picgone.png"), mFnItem(0), mMappingItem(0) { @@ -56,9 +57,10 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0) mSlideTimer = new QTimer(this); connect(mSlideTimer, SIGNAL(timeout()), this, SLOT(next())); - //models + //models + dialogs mMappingTreeModel = static_cast<MappingTreeModel*>(SmGlobals::instance()->model("MappingTree")); mPicFilesModel = static_cast<PicFilesModel*>(SmGlobals::instance()->model("PicFiles")); + mNewPicsDlg = new NewPicsDialog(this); //setup gui mScene = new QGraphicsScene(this); @@ -236,6 +238,14 @@ void PictureViewer2::copyCurrent(){ } } +void PictureViewer2::showNewPicsDialog(){ + mNewPicsDlg->show(); +} + +void PictureViewer2::addToNewPics(){ + mNewPicsDlg->addFiles(QStringList() << mCurPicData.at(PicFilesModel::FullPath).toString()); +} + void PictureViewer2::wheelEvent(QWheelEvent *event){ int steps = event->delta() / 8 / 15; if(steps < 0){ diff --git a/pictureviewer2.h b/pictureviewer2.h index 9d5c1c5..631f5f8 100644 --- a/pictureviewer2.h +++ b/pictureviewer2.h @@ -26,6 +26,7 @@ class QGraphicsItem; class SmTreeItem; class MappingTreeModel; class PicFilesModel; +class NewPicsDialog; typedef QList<QVariant> PicData; typedef QList<QList<QVariant> > PicDataList; @@ -51,6 +52,8 @@ class PictureViewer2 : public QGraphicsView { void shuffle(); void initActions(); void copyCurrent(); + void showNewPicsDialog(); + void addToNewPics(); protected: virtual void wheelEvent(QWheelEvent *event); @@ -90,6 +93,7 @@ class PictureViewer2 : public QGraphicsView { MappingTreeModel *mMappingTreeModel; PicFilesModel *mPicFilesModel; PicData mCurPicData; + NewPicsDialog *mNewPicsDlg; }; class PictureViewer2Item : public QGraphicsItem { @@ -198,6 +198,8 @@ void SheMov::tabChanged(int newTab){ mPicActionGroup->setEnabled(newTab == 2); mFilterFavoritesA->setEnabled(newTab == 1); mPVSelectAllA->disconnect(); + mPVShowNPDialogA->setEnabled(newTab == 0); + mPVAddToNPA->setEnabled(newTab == 0); switch(newTab){ case 0: connect(mPVSelectAllA, SIGNAL(triggered()), mFSWidget, SLOT(selectAllPV())); @@ -699,6 +701,16 @@ void SheMov::createActions(){ connect(mPVCopyToA, SIGNAL(triggered()), picViewer, SLOT(copyCurrent())); picViewer->addAction(mPVCopyToA); + // NewPicsDialog actions + mPVShowNPDialogA = new QAction(tr("Show new pics dialog..."), this); + mPVShowNPDialogA->setShortcut(tr("Meta+s")); + connect(mPVShowNPDialogA, SIGNAL(triggered()), picViewer, SLOT(showNewPicsDialog())); + picViewer->addAction(mPVShowNPDialogA); + mPVAddToNPA = new QAction(tr("Add to new pics dialog"), this); + mPVAddToNPA->setShortcut(tr("Meta+a")); + connect(mPVAddToNPA, SIGNAL(triggered()), picViewer, SLOT(addToNewPics())); + picViewer->addAction(mPVAddToNPA); + // assign actions to PictureViewer2 members, so they can be toggled from within picViewer->initActions(); @@ -183,6 +183,8 @@ class SheMov : public QMainWindow { QAction *mPVSlideA; QAction *mPVShuffleA; QAction *mPVCopyToA; + QAction *mPVShowNPDialogA; + QAction *mPVAddToNPA; QActionGroup *mPicActionGroup; //EndActions |