preferences: Show flap on 'edge-overshot' from top

This commit is contained in:
Teemu Ikonen 2022-08-20 23:54:29 +03:00
parent a071a1472b
commit da268d4fe2
2 changed files with 10 additions and 2 deletions

View File

@ -114,10 +114,11 @@
<property name="visible">True</property>
<property name="can-focus">False</property>
<child type="content">
<object class="GtkScrolledWindow">
<object class="GtkScrolledWindow" id="prefs_scrolled_window">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">always</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
@ -1129,7 +1130,6 @@
<property name="can-focus">False</property>
<property name="border-width">0</property>
<property name="orientation">vertical</property>
<property name="spacing">0</property>
<child>
<object class="GtkTreeView" id="treeviewExtensions">
<property name="visible">True</property>

View File

@ -32,6 +32,7 @@ from gpodder import util, vimeo, youtube
from gpodder.gtkui.desktopfile import PlayerListModel
from gpodder.gtkui.draw import get_background_color
from gpodder.gtkui.interface.common import (BuilderWidget, TreeViewHelper,
is_on_mobile_screen,
show_message_dialog)
from gpodder.gtkui.interface.configeditor import gPodderConfigEditor
@ -336,6 +337,9 @@ class gPodderPreferences(BuilderWidget):
self.flap_show_image.set_from_file(os.path.join(
gpodder.icons_folder, 'actions', 'view-sidebar-start-symbolic.svg'))
self.prefs_stack.connect("notify::visible-child", self.on_prefs_sidebar_set_focus_child)
if is_on_mobile_screen(self.main_window):
self.prefs_scrolled_window.connect(
'edge-overshot', self.on_prefs_scrolled_window_edge_overshot)
self.prefs_flap.set_reveal_flap(True)
self.prefs_stack.foreach(self._wrap_checkbox_labels)
@ -765,3 +769,7 @@ class gPodderPreferences(BuilderWidget):
def on_prefs_sidebar_set_focus_child(self, widget, *args):
if self.prefs_flap.get_folded():
self.prefs_flap.set_reveal_flap(False)
def on_prefs_scrolled_window_edge_overshot(self, scrolled_window, pos, *args):
if pos == Gtk.PositionType.TOP:
self.prefs_flap.set_reveal_flap(True)