diff options
-rw-r--r-- | fswidget.cpp | 4 | ||||
-rw-r--r-- | videoviewer.cpp | 9 | ||||
-rw-r--r-- | videoviewer.h | 3 |
3 files changed, 12 insertions, 4 deletions
diff --git a/fswidget.cpp b/fswidget.cpp index a55b635..52dca10 100644 --- a/fswidget.cpp +++ b/fswidget.cpp @@ -237,6 +237,8 @@ void FSWidget::readSettings(){ connect(a, &QAction::triggered, [=] { playSelected(1, p); }); pMenu->addAction(a); } + bool fullScreen = s.value("vw/fullscreen").toBool(); + mVideoViewer->setLastFullScreen(fullScreen); } void FSWidget::writeSettings(){ @@ -256,6 +258,7 @@ void FSWidget::writeSettings(){ s.setValue("fs/filters", filters); s.setValue("fs/curfilter", curFilter); s.setValue("fs/headerdata", mFileView->header()->saveState()); + s.setValue("vw/fullscreen", mVideoViewer->lastFullScreen()); } void FSWidget::insertItem(QComboBox *cb, const QString &text){ @@ -588,6 +591,7 @@ void FSWidget::playSelected(int count, QString player){ } pl->setCurrentIndex(0); mVideoViewer->setVisible(true); + mVideoViewer->setFullScreen(mVideoViewer->lastFullScreen()); mVideoViewer->player()->play(); }else{ if(mPlayer->state() != QProcess::NotRunning){ diff --git a/videoviewer.cpp b/videoviewer.cpp index dbc6421..8c7c233 100644 --- a/videoviewer.cpp +++ b/videoviewer.cpp @@ -46,7 +46,9 @@ void VideoViewer::keyPressEvent(QKeyEvent *e){ player()->stop(); setHidden(true); }else if(keyNum == Qt::Key_F){ - setFullScreen(isFullScreen() ? false : true); + bool fs = isFullScreen(); + mLastFullScreen = !fs; + setFullScreen(mLastFullScreen); }else if(keyNum == Qt::Key_Right){ mPlayer->setPosition(mPlayer->position() + 5000); }else if(keyNum == Qt::Key_Left){ @@ -98,7 +100,6 @@ void VideoViewer::keyPressEvent(QKeyEvent *e){ void VideoViewer::closeEvent(QCloseEvent *e){ mPlayer->stop(); writeSettings(); - SmGlobals::instance()->removeGlobalWidget(this); - deleteLater(); - e->accept(); + hide(); + e->ignore(); } diff --git a/videoviewer.h b/videoviewer.h index 2bbb8db..ff5bae6 100644 --- a/videoviewer.h +++ b/videoviewer.h @@ -16,6 +16,8 @@ class VideoViewer : public QVideoWidget { public: VideoViewer(QWidget *parent = nullptr); QMediaPlayer* player() { return mPlayer; } + bool lastFullScreen() { return mLastFullScreen; } + void setLastFullScreen(bool last) { mLastFullScreen = last; } public slots: void readSettings(); @@ -27,6 +29,7 @@ class VideoViewer : public QVideoWidget { private: QMediaPlayer *mPlayer; + bool mLastFullScreen; }; #endif // VIDEOVIEWER_H |