chore: store filter levels as constant

This commit is contained in:
aclist 2026-05-01 23:59:27 +09:00
parent 0aafe44b4e
commit 7139686d9b
3 changed files with 12 additions and 14 deletions

View File

@ -61,3 +61,5 @@ LEGACY_IPS_PATH = ".local/share/dzgui/helpers/ips.csv"
DEBUG_LOG = f"{APP_NAME}_DEBUG.LOG" DEBUG_LOG = f"{APP_NAME}_DEBUG.LOG"
SYSTEM_LOG = f"{APP_NAME}_SYSTEM.LOG" SYSTEM_LOG = f"{APP_NAME}_SYSTEM.LOG"
CHANGELOG_PATH = "data/CHANGELOG.md" CHANGELOG_PATH = "data/CHANGELOG.md"
LOG_FILTERS = ("CRITICAL", "WARNING", "INFO", "DEBUG")

View File

@ -1,4 +1,5 @@
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from dzgui.const.constants import LOG_FILTERS
from dzgui.views.mixins.cursor_mixin import CursorMixin from dzgui.views.mixins.cursor_mixin import CursorMixin
from dzgui.views.mixins.help_menu_mixin import HelpMenuMixin from dzgui.views.mixins.help_menu_mixin import HelpMenuMixin
from dzgui.views.trees.tree_log import LogTreeView from dzgui.views.trees.tree_log import LogTreeView
@ -16,23 +17,20 @@ if TYPE_CHECKING:
class Log(CursorMixin, HelpMenuMixin, Gtk.Box): # type: ignore class Log(CursorMixin, HelpMenuMixin, Gtk.Box): # type: ignore
def __init__(self, controller: "Controller") -> None: def __init__(self, controller: "Controller") -> None:
super().__init__(orientation=Gtk.Orientation.VERTICAL) super().__init__(orientation=Gtk.Orientation.VERTICAL)
# NOTE: LogTreeView is kept in a separate ScrolledWindow so that """
# checkboxes will be flush on bottom NOTE: LogTreeView is kept in a separate ScrolledWindow so that
checkboxes will be flush on bottom
"""
self.scrolled = Gtk.ScrolledWindow() self.scrolled = Gtk.ScrolledWindow()
self.treeview = LogTreeView(controller) self.treeview = LogTreeView(controller)
self.scrolled.add(self.treeview) self.scrolled.add(self.treeview)
self.check_bar = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self.check_bar = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
# TODO: strings
active = ( for check in LOG_FILTERS:
"WARN",
"CRITICAL",
)
for check in ("WARN", "CRITICAL", "INFO", "DEBUG"):
c = Gtk.CheckButton(label=check) c = Gtk.CheckButton(label=check)
self.check_bar.pack_start(c, False, False, 0) self.check_bar.pack_start(c, False, False, 0)
if check in active: c.set_active(True)
c.set_active(True)
c.connect("clicked", self._on_checkbox_clicked) c.connect("clicked", self._on_checkbox_clicked)
self.add(self.scrolled) self.add(self.scrolled)
self.add(self.check_bar) self.add(self.check_bar)

View File

@ -2,7 +2,7 @@ import logging
from typing import Any, TYPE_CHECKING from typing import Any, TYPE_CHECKING
from dzgui.const.constants import APP_NAME from dzgui.const.constants import APP_NAME, LOG_FILTERS
from dzgui.const.enum import ContextMenuGroup from dzgui.const.enum import ContextMenuGroup
from dzgui.model.model_factory import ModelFactory from dzgui.model.model_factory import ModelFactory
from dzgui.util import strings from dzgui.util import strings
@ -35,9 +35,7 @@ class LogTreeView(ContextMixin, TreeView):
self.set_model(None) self.set_model(None)
# TODO: strings self.filters = list(LOG_FILTERS)
# NOTE: default filters that should be shown on startup
self.filters = ["CRITICAL", "WARNING"]
for i, column_title in enumerate(strings.log_cols): for i, column_title in enumerate(strings.log_cols):
renderer = Gtk.CellRendererText() renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(column_title, renderer, text=i) column = Gtk.TreeViewColumn(column_title, renderer, text=i)