Skip to content

Commit 9460911

Browse files
authored
Fix menubar in fullscreen (#3710)
* Fix/menubar in fullscreen * CONTRIBUTORS file * Fix/menubar in fullscreen * CONTRIBUTORS file * Fix and add Type hints
1 parent 53be365 commit 9460911

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

CONTRIBUTORS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,8 @@ Lukas Sommer <[email protected]>
206206
Niclas Heinz <[email protected]>
207207
Omar Kohl <[email protected]>
208208
David Elizalde <[email protected]>
209+
Yuki <https://github.com/YukiNagat0>
210+
209211
********************
210212

211213
The text of the 3 clause BSD license follows:

qt/aqt/main.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,17 +147,27 @@ def dropEvent(self, event: QDropEvent) -> None:
147147
return
148148

149149
# Main webview specific event handling
150-
def eventFilter(self, obj, evt):
150+
def eventFilter(self, obj: QObject | None, evt: QEvent | None) -> bool:
151151
if handled := super().eventFilter(obj, evt):
152152
return handled
153153

154154
if evt.type() == QEvent.Type.Leave:
155+
handled_leave = False
156+
157+
# Show menubar when mouse moves outside main webview in fullscreen
158+
if self.mw.fullscreen:
159+
self.mw.show_menubar()
160+
handled_leave = True
161+
155162
# Show toolbar when mouse moves outside main webview
156163
# and automatically hide it with delay after mouse has entered again
164+
# The toolbar's hide timer will also trigger menubar hiding when in fullscreen mode
157165
if self.mw.pm.hide_top_bar() or self.mw.pm.hide_bottom_bar():
158166
self.mw.toolbarWeb.show()
159167
self.mw.bottomWeb.show()
160-
return True
168+
handled_leave = True
169+
170+
return handled_leave
161171

162172
if evt.type() == QEvent.Type.Enter:
163173
self.mw.toolbarWeb.hide_timer.start()
@@ -790,6 +800,9 @@ def _overviewState(self, oldState: MainWindowState) -> None:
790800
def _reviewState(self, oldState: MainWindowState) -> None:
791801
self.reviewer.show()
792802

803+
if self.fullscreen:
804+
self.hide_menubar()
805+
793806
if self.pm.hide_top_bar():
794807
self.toolbarWeb.hide_timer.setInterval(500)
795808
self.toolbarWeb.hide_timer.start()

qt/aqt/toolbar.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ def hide_if_allowed(self) -> None:
9898
if self.mw.state != "review":
9999
return
100100

101+
if self.mw.fullscreen:
102+
self.mw.hide_menubar()
103+
101104
if self.mw.pm.hide_top_bar():
102105
if (
103106
self.mw.pm.top_bar_hide_mode() == HideMode.FULLSCREEN
@@ -115,14 +118,11 @@ def hide(self) -> None:
115118
self.eval(
116119
"""document.body.classList.add("hidden"); """,
117120
)
118-
if self.mw.fullscreen:
119-
self.mw.hide_menubar()
120121

121122
def show(self) -> None:
122123
super().show()
123124

124125
self.eval("""document.body.classList.remove("hidden"); """)
125-
self.mw.show_menubar()
126126

127127
def flatten(self) -> None:
128128
self.eval("""document.body.classList.add("flat"); """)

0 commit comments

Comments
 (0)