chore: consolidate filter enums

This commit is contained in:
aclist 2026-04-25 21:17:47 +09:00
parent 4bccaec427
commit 7b8388376c
6 changed files with 15 additions and 23 deletions

View File

@ -41,11 +41,9 @@ class CursorPosition(Enum):
class FilterMode(Enum):
KEYWORD = 1
MAP = 2
INITIAL = 3
TOGGLE_OFF = 4
TOGGLE_ON = 5
INITIAL = 1
TOGGLE_OFF = 2
TOGGLE_ON = 3
class EnumWithAttrs(Enum):

View File

@ -553,7 +553,7 @@ class Controller(GObject.GObject):
def _on_map_selection_changed(self, emitter: Emitter, selection: str) -> None:
smm = ServerModelManager(self, self.get_active_treeview())
smm.refilter(FilterMode.MAP)
smm.refilter(FilterMode.TOGGLE_ON)
def get_notebook(self) -> "Notebook":
return self.mediator.notebook

View File

@ -34,8 +34,6 @@ class ConfigManager:
self.config = prefs.paths.config
def lookup(self, enum: Preferences) -> Any:
# if path.is_file() is False:
# raise ConfigFileError("Not a valid file")
key = self.enum_to_key(enum)
config = self.get_config()
try:
@ -48,9 +46,11 @@ class ConfigManager:
ips.append(record)
self.update_config(Preferences.IP_LIST, ips)
def remove_history_server(self, record: str) -> None:
print(record)
pass
def update_history_file(self, records: list[Any]) -> None:
with open(self.prefs.paths.history, "w") as f:
for record in records:
addr = f"{record[7]}:{record[8]}"
f.write(f"{addr}\n")
def remove_saved_server(self, record: str) -> None:
ips = self.lookup(Preferences.IP_LIST)

View File

@ -11,6 +11,7 @@ from dzgui.util import strings
if TYPE_CHECKING:
from dzgui.managers.filter_man import FilterManager
from dzgui.model.model_factory import FastInsertListStore
from dzgui.api.servers import Record
from dzgui.model.servers import NewPlayerCount
@ -68,7 +69,6 @@ class ProxyModelManager:
# TODO: consolidate with remove_row_from_control()
def remove_from_history(self, record: "Record") -> None:
print(record)
addr = f"{record.ip}:{record.gameport}"
qport = record.qport
for record in self.control_model:
@ -85,7 +85,6 @@ class ProxyModelManager:
return self.proxy_model
def filter(self, mode: FilterMode, skip_cache: bool = False) -> None:
# TODO: proxy model can fetch args directly from filter man, no need to process extra input
"""
Native Gtk.TreeView.refilter() method was not performant enough
when running in the main loop with 40k+ records
@ -109,7 +108,7 @@ class ProxyModelManager:
rows = self.filter_initial(filters)
# TODO: consolidate into one enum
case FilterMode.MAP | FilterMode.KEYWORD | FilterMode.TOGGLE_ON:
case FilterMode.TOGGLE_ON:
rows = self.filter_toggle_on(filters)
case FilterMode.TOGGLE_OFF:

View File

@ -213,18 +213,13 @@ class ServerModelManager:
def remove_from_history(self, record: Servers.Record) -> None:
"""Fully unthreaded, just removes a row"""
port = record.ip
gport = record.gameport
qport = record.qport
fqip = f"{port}:{gport}:{qport}"
config_man = self.controller.get_config_man()
config_man.remove_history_server(fqip)
proxy_man = self._get_proxy_man()
proxy_man.remove_from_history(record)
control_model = proxy_man.get_control()
config_man = self.controller.get_config_man()
config_man.update_history_file(control_model)
self._sort_unique_maps(control_model)
proxy = proxy_man.get_proxy_model()
self.tv.set_model(proxy)

View File

@ -130,7 +130,7 @@ class KeywordEntry(Gtk.Entry):
ServerModelManager(
self.controller, self.controller.get_active_treeview()
).refilter(FilterMode.KEYWORD)
).refilter(FilterMode.TOGGLE_ON)
class FilterPanel(Gtk.Box):