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

View file

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