fix: dynamic statusbar WIP

This commit is contained in:
aclist committed 2026-01-22 12:01:18 +09:00
1 parent 9cc1ece0d7
commit 934ff91f05
9 files changed
+189 -122

No files matched your search

+9 -8
View File
@@ -6,6 +6,7 @@ from dzgui.util.open_links import open_link_by_rowtype
from dzgui.views.trees.tree_base import TreeView
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, GLib, Gdk, GObject, Pango # noqa
@@ -14,11 +15,13 @@ logger = logging.getLogger(__name__)
if TYPE_CHECKING:
from dzgui.controllers.mc import Controller
class MenuTreeView(TreeView):
"""
Simple Gtk.ListStore representation of main
menu options
"""
def __init__(self, controller: "Controller") -> None:
super().__init__(controller)
@@ -34,15 +37,15 @@ class MenuTreeView(TreeView):
self.selected_row = self.get_selection()
self.controller.register_widget("menu", self)
self.set_row_separator_func(self._separate)
self.connect("generic_row_activated", self._parent_row_activated)
self.connect("generic_treesel_changed", self._parent_selection_changed)
def _parent_row_activated(self,
tree: TreeView,
path: Gtk.TreePath,
column: Gtk.TreeViewColumn
) -> None:
def _parent_row_activated(
self, tree: TreeView, path: Gtk.TreePath, column: Gtk.TreeViewColumn
) -> None:
row_type = self.get_value_at_index(1)
match row_type:
@@ -73,9 +76,7 @@ class MenuTreeView(TreeView):
open_link_by_rowtype(row_type)
def _parent_selection_changed(
self,
base_class: TreeView,
sel: Gtk.TreeSelection
self, base_class: TreeView, sel: Gtk.TreeSelection
) -> None:
row = self.get_value_at_index(1)
if row == "":