preserve window state when exiting video fullscreen
This commit is contained in:
parent
7ea7a2f3fd
commit
20db65e430
@ -2171,10 +2171,7 @@ class CommandDispatcher:
|
|||||||
|
|
||||||
window = self._tabbed_browser.window()
|
window = self._tabbed_browser.window()
|
||||||
if window.isFullScreen():
|
if window.isFullScreen():
|
||||||
if window._restore_maximized:
|
window.setWindowState(window._state_before_fullscreen & ~Qt.WindowFullScreen)
|
||||||
window.showMaximized()
|
|
||||||
else:
|
|
||||||
window.showNormal()
|
|
||||||
else:
|
else:
|
||||||
window._restore_maximized = window.isMaximized()
|
window._state_before_fullscreen = window.windowState()
|
||||||
window.showFullScreen()
|
window.showFullScreen()
|
||||||
|
@ -128,10 +128,7 @@ class MainWindow(QWidget):
|
|||||||
_commandrunner: The main CommandRunner instance.
|
_commandrunner: The main CommandRunner instance.
|
||||||
_overlays: Widgets shown as overlay for the current webpage.
|
_overlays: Widgets shown as overlay for the current webpage.
|
||||||
_private: Whether the window is in private browsing mode.
|
_private: Whether the window is in private browsing mode.
|
||||||
_restore_fullscreen: Whether to restore the fullscreen after leaving
|
_state_before_fullscreen: window state before activation of fullscreen
|
||||||
a video fullscreen.
|
|
||||||
_restore_maximized: Whether to restore maximized window after leaving
|
|
||||||
a video fullscreen.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, *, private, geometry=None, parent=None):
|
def __init__(self, *, private, geometry=None, parent=None):
|
||||||
@ -221,8 +218,7 @@ class MainWindow(QWidget):
|
|||||||
|
|
||||||
objreg.get("app").new_window.emit(self)
|
objreg.get("app").new_window.emit(self)
|
||||||
|
|
||||||
self._restore_fullscreen = False
|
self._state_before_fullscreen = self.windowState()
|
||||||
self._restore_maximized = self.isMaximized()
|
|
||||||
|
|
||||||
def _init_geometry(self, geometry):
|
def _init_geometry(self, geometry):
|
||||||
"""Initialize the window geometry or load it from disk."""
|
"""Initialize the window geometry or load it from disk."""
|
||||||
@ -490,18 +486,12 @@ class MainWindow(QWidget):
|
|||||||
@pyqtSlot(bool)
|
@pyqtSlot(bool)
|
||||||
def _on_fullscreen_requested(self, on):
|
def _on_fullscreen_requested(self, on):
|
||||||
if on:
|
if on:
|
||||||
self._restore_fullscreen = self.isFullScreen()
|
self._state_before_fullscreen = self.windowState()
|
||||||
self._restore_maximized = self.isMaximized()
|
|
||||||
self.showFullScreen()
|
self.showFullScreen()
|
||||||
elif not self._restore_fullscreen:
|
|
||||||
if self._restore_maximized:
|
|
||||||
self.showMaximized()
|
|
||||||
else:
|
|
||||||
self.showNormal()
|
|
||||||
else:
|
else:
|
||||||
self._restore_fullscreen = self.isFullScreen()
|
self.setWindowState(self._state_before_fullscreen)
|
||||||
log.misc.debug('on: {}, restore fullscreen: {}, restore maximized: {}'
|
log.misc.debug('on: {}, state before fullscreen: {}'
|
||||||
.format(on, self._restore_fullscreen, self._restore_maximized))
|
.format(on, self._state_before_fullscreen))
|
||||||
|
|
||||||
@cmdutils.register(instance='main-window', scope='window')
|
@cmdutils.register(instance='main-window', scope='window')
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
|
Loading…
Reference in New Issue
Block a user