Hide/Show menubar in fullscreen mode along with toolbar

This commit is contained in:
Matthias Metelka 2023-01-16 09:31:45 +01:00
parent 274914f2e1
commit 585f7354b1
2 changed files with 15 additions and 3 deletions

View file

@ -189,6 +189,7 @@ class AnkiQt(QMainWindow):
aqt.mw = self aqt.mw = self
self.app = app self.app = app
self.pm = profileManager self.pm = profileManager
self.fullscreen = False
# init rest of app # init rest of app
self.safeMode = ( self.safeMode = (
bool(self.app.queryKeyboardModifiers() & Qt.KeyboardModifier.ShiftModifier) bool(self.app.queryKeyboardModifiers() & Qt.KeyboardModifier.ShiftModifier)
@ -1366,15 +1367,23 @@ title="{}" {}>{}</button>""".format(
# Hide Menubar on Windows and Linux # Hide Menubar on Windows and Linux
if Qt.WindowState.WindowFullScreen in window.windowState() and not is_mac: if Qt.WindowState.WindowFullScreen in window.windowState() and not is_mac:
self.form.menubar.setFixedHeight(0) self.fullscreen = True
self.hide_menubar()
else: else:
self.form.menubar.setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX) self.fullscreen = False
self.form.menubar.setMinimumSize(0, 0) self.show_menubar()
# Update Toolbar states # Update Toolbar states
self.toolbarWeb.hide_if_allowed() self.toolbarWeb.hide_if_allowed()
self.bottomWeb.hide_if_allowed() self.bottomWeb.hide_if_allowed()
def hide_menubar(self) -> None:
self.form.menubar.setFixedHeight(0)
def show_menubar(self) -> None:
self.form.menubar.setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)
self.form.menubar.setMinimumSize(0, 0)
# Auto update # Auto update
########################################################################## ##########################################################################

View file

@ -111,11 +111,14 @@ class TopWebView(ToolbarWebView):
self.eval( self.eval(
"""document.body.classList.add("hidden"); """, """document.body.classList.add("hidden"); """,
) )
if self.mw.fullscreen:
self.mw.hide_menubar()
def show(self) -> None: def show(self) -> None:
super().show() super().show()
self.eval("""document.body.classList.remove("hidden"); """) self.eval("""document.body.classList.remove("hidden"); """)
self.mw.show_menubar()
def flatten(self) -> None: def flatten(self) -> None:
self.eval("""document.body.classList.add("flat"); """) self.eval("""document.body.classList.add("flat"); """)