diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2019-02-26 15:07:51 +0100 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2019-03-04 17:15:18 +0100 |
commit | e8e274b50658e1f9c2f40ce05249f7c857aeba64 (patch) | |
tree | e69bbf4d3a4e7986ad9dd98593d6e5c273c5cf9d | |
parent | d66dbe0f9de76405052352d6bfc369a7c2b0a8e3 (diff) |
tdf#120791: restore window geometry coming back from fullscreen
Change-Id: I1492423fe6110bdc79aa68c715e968770f6767ab
Reviewed-on: https://gerrit.libreoffice.org/68672
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
-rw-r--r-- | vcl/inc/qt5/Qt5Frame.hxx | 1 | ||||
-rw-r--r-- | vcl/qt5/Qt5Frame.cxx | 16 |
2 files changed, 14 insertions, 3 deletions
diff --git a/vcl/inc/qt5/Qt5Frame.hxx b/vcl/inc/qt5/Qt5Frame.hxx index ef290ceec59b..396e6122b9c3 100644 --- a/vcl/inc/qt5/Qt5Frame.hxx +++ b/vcl/inc/qt5/Qt5Frame.hxx @@ -81,6 +81,7 @@ class VCLPLUG_QT5_PUBLIC Qt5Frame : public QObject, public SalFrame bool m_bDefaultSize; bool m_bDefaultPos; bool m_bFullScreen; + QRect m_aRestoreGeometry; void Center(); Size CalcDefaultSize(); diff --git a/vcl/qt5/Qt5Frame.cxx b/vcl/qt5/Qt5Frame.cxx index 958d9250c776..81d47c98d39b 100644 --- a/vcl/qt5/Qt5Frame.cxx +++ b/vcl/qt5/Qt5Frame.cxx @@ -612,9 +612,19 @@ void Qt5Frame::ShowFullScreen(bool bFullScreen, sal_Int32 nScreen) if (!isWindow()) m_pTopLevel->show(); - // do that before going fullscreen - SetScreenNumber(nScreen); - m_bFullScreen ? windowHandle()->showFullScreen() : windowHandle()->showNormal(); + if (m_bFullScreen) + { + m_aRestoreGeometry = m_pTopLevel->geometry(); + // do that before going fullscreen + SetScreenNumber(nScreen); + windowHandle()->showFullScreen(); + } + else + { + windowHandle()->showNormal(); + m_pTopLevel->setGeometry(m_aRestoreGeometry); + m_aRestoreGeometry = QRect(); + } } void Qt5Frame::StartPresentation(bool) |