feat: fetch model on startup

This commit is contained in:
aclist 2026-01-19 15:20:09 +09:00
parent 5543d8cb38
commit 495d6263bb
5 changed files with 30 additions and 11 deletions

View File

@ -528,7 +528,7 @@ class Controller:
def unselect_all_mods(self) -> None:
self.mediator.modtreeview.get_selection().unselect_all()
def dump_test(self) -> None:
def dump_test_1(self) -> None:
import time
time.sleep(1)
# TODO: use model managers, etc.
@ -562,6 +562,17 @@ class Controller:
self.get_func_data()
self.destroy_on_idle()
def dump_test_2(self) -> None:
import time
time.sleep(1)
# TODO: use model managers, etc.
self.data = (
["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False],
)
# TODO: refer to prior implementation--should need to load data into model while in thread
self.get_func_data()
self.destroy_on_idle()
def get_func_data(self):
def test():
# NOTE: do not insert model until main thread is idle
@ -685,6 +696,8 @@ class Controller:
self.set_statusbar_placeholder(status)
self.set_statusbar(status)
self.mediator.statusbar.spinner.start()
if len(model) < 1:
self.mediator.statusbar.spinner.stop()
def populate_model(self) -> None:
treeview = self.get_active_treeview()

View File

@ -166,6 +166,7 @@ class OuterWindow(Gtk.Window):
self.grid.right_panel.sel_panel.hide()
# TODO: POC, trigger page change here
MainController.loaded = True
MainController.populate_model()
def _on_delete_event(
self, window: "OuterWindow", event: Gdk.EventKey

View File

@ -49,6 +49,7 @@ class FilterPanel(Gtk.Box):
)
row = 1
col = 0
# TODO: use enumerated checks
for check in self.default_filters.keys():
checkbox = Gtk.CheckButton(label=check)
label = checkbox.get_children()

View File

@ -29,8 +29,8 @@ class ServerNotebook(Gtk.ScrolledWindow):
self.recent = ServerTreeView(controller, ServerTab.RECENT, ContextMenuGroup.RECENT)
self.lan = ServerTreeView(controller, ServerTab.LAN, ContextMenuGroup.SCAN_LAN)
self.browser.set_query_func(self.query_test2)
self.lan.set_query_func(self.query_test)
self.browser.set_query_func(self.controller.dump_test_1)
self.lan.set_query_func(self.controller.dump_test_2)
tabs = [
(self.browser, server_labels.browser),
@ -101,13 +101,13 @@ class ServerNotebook(Gtk.ScrolledWindow):
# self.controller.mediator.grid.conpan.lan.set_visible(False)
# TODO: put in controller
def query_test2(self) -> None:
# TODO: should trigger first page action after entire UI is loaded
self.controller.dump_test()
def query_test(self) -> None:
data = (["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False])
return data
# def query_test2(self) -> None:
# # TODO: should trigger first page action after entire UI is loaded
# self.controller.dump_test_1()
#
# def query_test(self) -> None:
# data = (["BAR", "a", "a", "a", 1, 1, 1, "185.207.214.16:2302", 0, 0, "a", False])
# return data
def set_cached_label(self, label: str) -> None:
self.tab_cache = label

View File

@ -13,7 +13,7 @@ from dzgui.const.enum import (
RowType,
)
from dzgui.const.constants import UDP_PORT
from dzgui.const.enum import ServerTab
from dzgui.const.enum import FilterMode, ServerTab
from dzgui.api.servers import Record
from dzgui.model.filtered_model import FilteredModelManager
from dzgui.util.dist import CalcDist
@ -119,6 +119,10 @@ class ServerTreeView(TreeView):
GLib.timeout_add(QUEUE_CHECK_DELAY, self._check_result_queue)
def filter(self, mode: FilterMode, label: str) -> None:
print("TOGGLE:", mode)
print("LABEL: ", label)
def get_filter_man(self) -> FilteredModelManager:
return self.filter_man