diff options
-rw-r--r-- | filesystemwidget.cpp | 3 | ||||
-rw-r--r-- | pictureviewer2.cpp | 19 | ||||
-rw-r--r-- | pictureviewer2.h | 8 |
3 files changed, 25 insertions, 5 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 4a78889..71dfa68 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -211,7 +211,8 @@ void FilesystemWidget::fileViewActivated(const QModelIndex &idx){ mPicViewer->setVisible(true); } mPicViewer->setShowMappingItem(false); - mPicViewer->setFile(path); + selectAllPV(); + mPicViewer->selectPic(path); return; } programArgs << path; diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index 5939c6b..1251c6f 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -177,6 +177,16 @@ void PictureViewer2::previous(){ showFile(mFiles.at(mCurPos)); } +void PictureViewer2::selectPic(const QString &path){ + for(int i = 0; i < mFiles.size(); ++i){ + if(mFiles.at(i).at(PicFilesModel::FullPath) == path){ + mCurPos = i; + showFile(mFiles.at(mCurPos)); + break; + } + } +} + void PictureViewer2::slide(bool){ if(mSlideTimer->isActive()){ mSlideTimer->stop(); @@ -284,10 +294,17 @@ void PictureViewer2::keyPressEvent(QKeyEvent *e){ e->accept(); } -void PictureViewer2::hideEvent(QHideEvent *){ +void PictureViewer2::showEvent(QShowEvent *e){ + mHideA->setChecked(true); + QGraphicsView::showEvent(e); +} + +void PictureViewer2::hideEvent(QHideEvent *e){ if(mSlideTimer->isActive()){ mSlideA->toggle(); } + mHideA->setChecked(false); + QGraphicsView::hideEvent(e); } void PictureViewer2::showFile(const PicData &file){ diff --git a/pictureviewer2.h b/pictureviewer2.h index c03b9d3..622397a 100644 --- a/pictureviewer2.h +++ b/pictureviewer2.h @@ -8,10 +8,10 @@ #ifndef PICTUREVIEWER2_H #define PICTUREVIEWER2_H -#include <QtWidgets/QGraphicsView> +#include <QGraphicsView> #include <QList> #include <QVariant> -#include <QtWidgets/QGraphicsItem> +#include <QGraphicsItem> #include <QStaticText> class QGraphicsScene; @@ -49,6 +49,7 @@ class PictureViewer2 : public QGraphicsView { public slots: void next(); void previous(); + void selectPic(const QString &path); void slide(bool); void readSettings(); void writeSettings(); @@ -62,7 +63,8 @@ class PictureViewer2 : public QGraphicsView { virtual void wheelEvent(QWheelEvent *event); virtual void contextMenuEvent(QContextMenuEvent *e); virtual void keyPressEvent(QKeyEvent *e); - virtual void hideEvent(QHideEvent *); + virtual void showEvent(QShowEvent *e); + virtual void hideEvent(QHideEvent *e); private slots: void showFile(const PicData &data); |