From 969d923fa3cb5197b6cda9b60fc4abf8552e24f6 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 3 Mar 2012 06:52:09 +0100 Subject: Implement refresh for Pictures Add action to PictureView for refreshing the view. Needed after editing mappings. --- pictureswidget.cpp | 12 ++++++++++-- pictureswidget.h | 1 + shemov.cpp | 3 +++ shemov.h | 1 + 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/pictureswidget.cpp b/pictureswidget.cpp index 6b587d7..22bf840 100644 --- a/pictureswidget.cpp +++ b/pictureswidget.cpp @@ -110,7 +110,6 @@ void PictureView::mappingChanged(int mapping){ } } - void PictureView::deletePics(){ QModelIndexList sel = selectionModel()->selectedRows(); if(sel.isEmpty()){ @@ -128,6 +127,10 @@ void PictureView::deletePics(){ mModel->removeFiles(real); } +void PictureView::refresh(){ + mModel->populate(); +} + void PictureView::hideEvent(QHideEvent *){ QByteArray pvHeader = header()->saveState(); QSettings s; @@ -175,7 +178,12 @@ bool PictureView::event(QEvent *e){ void PictureView::contextMenuEvent(QContextMenuEvent *e){ QMenu ctxMenu; - ctxMenu.addActions(actions()); + for(int i = 0; i < actions().count(); ++i){ + if(actions().at(i)->text() == "Refresh"){ + ctxMenu.addSeparator(); + } + ctxMenu.addAction(actions().at(i)); + } ctxMenu.exec(e->globalPos()); } diff --git a/pictureswidget.h b/pictureswidget.h index 8be7a24..098d419 100644 --- a/pictureswidget.h +++ b/pictureswidget.h @@ -51,6 +51,7 @@ class PictureView : public QTreeView { public slots: void mappingChanged(int mapping); void deletePics(); + void refresh(); protected: virtual void hideEvent(QHideEvent *); diff --git a/shemov.cpp b/shemov.cpp index 2fe4d42..21ba39a 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -611,6 +611,9 @@ void SheMov::createActions(){ mEditPicsMappingsA = new QAction(tr("Edit mappings..."), this); mPicWidget->picView()->addAction(mEditPicsMappingsA); connect(mEditPicsMappingsA, SIGNAL(triggered()), mPicWidget->picView(), SIGNAL(editPicsMappings())); + mRefreshPicsA = new QAction(tr("Refresh"), this); + mPicWidget->picView()->addAction(mRefreshPicsA); + connect(mRefreshPicsA, SIGNAL(triggered()), mPicWidget->picView(), SLOT(refresh())); // misc mOpenWithMapperFS = new QSignalMapper(this); diff --git a/shemov.h b/shemov.h index ce8af30..fab6fbf 100644 --- a/shemov.h +++ b/shemov.h @@ -169,6 +169,7 @@ class SheMov : public QMainWindow { //PictureWidget Actions QAction *mDeletePicFromA; QAction *mEditPicsMappingsA; + QAction *mRefreshPicsA; //EndActions QSignalMapper *mRenameMapper; -- cgit v1.2.3-70-g09d2