summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-10-12 07:27:23 +0200
committerArno <am@disconnect.de>2013-10-12 07:27:23 +0200
commit346b844eea4d5b19d51740b9b29d4f00d54fa373 (patch)
tree8d7b8e6df7585198be78139db10bb2a8ae1a07db
parent990218c07e2052f7e75af42a965cfc84b36e8371 (diff)
downloadSheMov-346b844eea4d5b19d51740b9b29d4f00d54fa373.tar.gz
SheMov-346b844eea4d5b19d51740b9b29d4f00d54fa373.tar.bz2
SheMov-346b844eea4d5b19d51740b9b29d4f00d54fa373.zip
Fix show/hide events for PictureViewer2
check and uncheck the show/hide QAction on showEvent/hideEvent.
-rw-r--r--filesystemwidget.cpp3
-rw-r--r--pictureviewer2.cpp19
-rw-r--r--pictureviewer2.h8
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);