mirror of
https://github.com/aclist/dztui.git
synced 2026-10-31 15:12:48 +01:00
feat: remove history entries (WIP)
This commit is contained in:
1 parent
6b50b1e933
commit
4bccaec427
5 files changed
+56
-4
No files matched your search
@@ -597,6 +597,10 @@ class Controller(GObject.GObject):
|
|||||||
saved_tree = self.get_servers().get_saved()
|
saved_tree = self.get_servers().get_saved()
|
||||||
ServerModelManager(self, saved_tree).remove_by_record(record)
|
ServerModelManager(self, saved_tree).remove_by_record(record)
|
||||||
|
|
||||||
|
def remove_from_history(self, record: "Record") -> None:
|
||||||
|
tv = self.get_active_treeview()
|
||||||
|
ServerModelManager(self, tv).remove_from_history(record)
|
||||||
|
|
||||||
def connect_by_str(self, addr: str) -> None:
|
def connect_by_str(self, addr: str) -> None:
|
||||||
if addr.isdigit():
|
if addr.isdigit():
|
||||||
config_man = self.get_config_man()
|
config_man = self.get_config_man()
|
||||||
|
|||||||
@@ -48,6 +48,10 @@ class ConfigManager:
|
|||||||
ips.append(record)
|
ips.append(record)
|
||||||
self.update_config(Preferences.IP_LIST, ips)
|
self.update_config(Preferences.IP_LIST, ips)
|
||||||
|
|
||||||
|
def remove_history_server(self, record: str) -> None:
|
||||||
|
print(record)
|
||||||
|
pass
|
||||||
|
|
||||||
def remove_saved_server(self, record: str) -> None:
|
def remove_saved_server(self, record: str) -> None:
|
||||||
ips = self.lookup(Preferences.IP_LIST)
|
ips = self.lookup(Preferences.IP_LIST)
|
||||||
ips.remove(record)
|
ips.remove(record)
|
||||||
|
|||||||
@@ -68,10 +68,8 @@ class ContextMenuManager:
|
|||||||
record = self.treeview.get_record()
|
record = self.treeview.get_record()
|
||||||
self.controller.refresh_players(record)
|
self.controller.refresh_players(record)
|
||||||
case ContextMenu.REMOVE_HISTORY:
|
case ContextMenu.REMOVE_HISTORY:
|
||||||
print("DEBUG: unimplemented")
|
record = self.treeview.get_record()
|
||||||
# update history model, update tab label, pop off of queue, write new list into file
|
self.controller.remove_from_history(record)
|
||||||
# see dq.py
|
|
||||||
pass
|
|
||||||
case ContextMenu.REMOVE_SERVER:
|
case ContextMenu.REMOVE_SERVER:
|
||||||
record = self.treeview.get_record()
|
record = self.treeview.get_record()
|
||||||
self.controller.remove_by_record(record)
|
self.controller.remove_by_record(record)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
|
from collections import deque
|
||||||
from typing import Any, Optional, TYPE_CHECKING
|
from typing import Any, Optional, TYPE_CHECKING
|
||||||
from warnings import deprecated
|
from warnings import deprecated
|
||||||
|
|
||||||
@@ -51,6 +52,7 @@ class ProxyModelManager:
|
|||||||
for record in self.control_model:
|
for record in self.control_model:
|
||||||
if row[7] == record[7] and row[8] == record[8]:
|
if row[7] == record[7] and row[8] == record[8]:
|
||||||
self.control_model.remove(record)
|
self.control_model.remove(record)
|
||||||
|
break
|
||||||
self.wipe_cache()
|
self.wipe_cache()
|
||||||
self.filter(FilterMode.INITIAL, skip_cache=True)
|
self.filter(FilterMode.INITIAL, skip_cache=True)
|
||||||
|
|
||||||
@@ -59,6 +61,23 @@ class ProxyModelManager:
|
|||||||
self.proxy_model[treeiter][4] = playercount.players
|
self.proxy_model[treeiter][4] = playercount.players
|
||||||
self.proxy_model[treeiter][6] = playercount.queue
|
self.proxy_model[treeiter][6] = playercount.queue
|
||||||
|
|
||||||
|
# def append_to_history(self, row: list) -> None:
|
||||||
|
# if len(self.control_model) == 10:
|
||||||
|
# del self.control_model[0]
|
||||||
|
# self.control_model.append(row)
|
||||||
|
|
||||||
|
# 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:
|
||||||
|
if addr == record[7] and qport == record[8]:
|
||||||
|
self.control_model.remove(record)
|
||||||
|
break
|
||||||
|
self.wipe_cache()
|
||||||
|
self.filter(FilterMode.INITIAL, skip_cache=True)
|
||||||
|
|
||||||
def clear_proxy_model(self) -> None:
|
def clear_proxy_model(self) -> None:
|
||||||
self.proxy_model.clear()
|
self.proxy_model.clear()
|
||||||
|
|
||||||
|
|||||||
@@ -211,6 +211,33 @@ class ServerModelManager:
|
|||||||
res = Servers.query_by_record(record)
|
res = Servers.query_by_record(record)
|
||||||
self._parse_single_record(res, delete=True)
|
self._parse_single_record(res, delete=True)
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
|
self._sort_unique_maps(control_model)
|
||||||
|
proxy = proxy_man.get_proxy_model()
|
||||||
|
self.tv.set_model(proxy)
|
||||||
|
|
||||||
|
self.emitter.emit("servers_loaded", self.enum)
|
||||||
|
|
||||||
|
filter_man = self.tv.get_filter_man()
|
||||||
|
maps = self._get_new_maps()
|
||||||
|
filter_man.set_unique_maps(maps)
|
||||||
|
|
||||||
|
self.first_iteration = False
|
||||||
|
self.emitter.emit("servers_loaded_init")
|
||||||
|
|
||||||
def add_by_str(self, addr: str) -> None:
|
def add_by_str(self, addr: str) -> None:
|
||||||
if addr.isdigit():
|
if addr.isdigit():
|
||||||
self.add_by_id(addr)
|
self.add_by_id(addr)
|
||||||
|
|||||||
Reference in new issue
Block a user