git repos / SagoImageBrowser

commit 3968465e

Poul Sander · 2026-02-23 19:13
3968465e97cf4ff7285ff17620da3c28d7591af4 patch · browse files
parent 29db91d76c01539228770c82a8e61bc8e6c5c71c

Restore maximised window when leaving fullscreen

Changed files

M src/mainwindow.cpp before
M src/mainwindow.h before
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index aa686c6..f523ecb 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp
@@ -225,6 +225,9 @@ void MainWindow::enterSingleImageMode(const QModelIndex &index)
if (!index.isValid())
return;
+ m_wasFullScreen = isFullScreen();
+ m_wasMaximized = isMaximized();
+
QString path = m_imageModel->filePath(index);
m_imageView->setImage(path);
m_stack->setCurrentWidget(m_imageView);
@@ -233,12 +236,16 @@ void MainWindow::enterSingleImageMode(const QModelIndex &index)
void MainWindow::leaveSingleImageMode()
{
- if (isFullScreen())
- {
- if (m_wasFullScreen)
+ if (isFullScreen()) {
+ if (m_wasFullScreen) {
showFullScreen();
- else
+ }
+ else if (m_wasMaximized) {
+ showMaximized();
+ }
+ else {
showNormal();
+ }
}
m_stack->setCurrentWidget(m_browserPage);
m_listView->setFocus();
@@ -249,9 +256,17 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
if (event->key() == Qt::Key_F11 && m_stack->currentWidget() == m_imageView)
{
if (isFullScreen())
- showNormal();
- else
+ {
+ if (m_wasMaximized) {
+ showMaximized();
+ }
+ else {
+ showNormal();
+ }
+ }
+ else {
showFullScreen();
+ }
event->accept();
return;
}
diff --git a/src/mainwindow.h b/src/mainwindow.h index 47a79d0..7ba78f9 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h
@@ -41,4 +41,5 @@ private:
QWidget *m_browserPage;
ImageViewWidget *m_imageView;
bool m_wasFullScreen = false;
+ bool m_wasMaximized = false;
};