mirror of
https://github.com/aclist/dztui.git
synced 2026-10-31 15:12:48 +01:00
feat: apply scrollable mixin to pages
This commit is contained in:
1 parent
aba00f732a
commit
5f0c8f7654
11 files changed
+115
-88
No files matched your search
@@ -3,11 +3,22 @@ from dzgui.const.constants import SCROLL_INCREMENT
|
||||
|
||||
import gi
|
||||
gi.require_version("Gtk", "3.0")
|
||||
from gi.repository import Gdk # noqa
|
||||
from gi.repository import Gtk, Gdk # noqa
|
||||
|
||||
class ScrollableMixin:
|
||||
def _set_adjustment(self, adjustment = VAdjustment) -> None:
|
||||
vadj = self.scrollable.get_vadjustment()
|
||||
def _on_keypress(self, widget: Gtk.Widget, event: Gdk.EventKey) -> None:
|
||||
match event.keyval:
|
||||
case Gdk.KEY_k | Gdk.KEY_Up:
|
||||
self._set_adjustment(VAdjustment.UP)
|
||||
case Gdk.KEY_Down | Gdk.KEY_j:
|
||||
self._set_adjustment(VAdjustment.DOWN)
|
||||
case Gdk.KEY_g:
|
||||
self._set_adjustment(VAdjustment.TOP)
|
||||
case Gdk.KEY_G:
|
||||
self._set_adjustment(VAdjustment.BOTTOM)
|
||||
|
||||
def _set_adjustment(self, adjustment: VAdjustment) -> None:
|
||||
vadj = self.get_vadjustment()
|
||||
match adjustment:
|
||||
case VAdjustment.TOP:
|
||||
adj = vadj.get_lower()
|
||||
|
||||
Reference in new issue
Block a user