chore: move log parse action to LogTreeView

This commit is contained in:
aclist 2026-04-25 21:59:32 +09:00
parent 7b8388376c
commit 39e3bb8d2d
2 changed files with 18 additions and 13 deletions

View File

@ -63,7 +63,6 @@ class ContextMenuManager:
case ContextMenu.CONNECT:
record = self.treeview.get_record()
self.controller.connect_by_record(record)
case ContextMenu.REFRESH_PLAYERS:
record = self.treeview.get_record()
self.controller.refresh_players(record)
@ -97,16 +96,8 @@ class ContextMenuManager:
cmd = self.controller.query_config(Preferences.CLIENT)
open_workshop_page(mod, cmd)
def copy_log(self) -> str:
# NOTE: ModTreeView uses Gtk.SelectionMode.MULTIPLE
model, records = self.treeview.get_selection().get_selected_rows()
if len(records) < 1:
def copy_log(self) -> None:
log = self.treeview.concatenate_rows()
if log is None:
return
final = []
for record in records:
record = self.treeview.get_model()[record]
r = [el for el in record]
concat = strings.delimiter.join(r)
final.append(concat)
text = "\n".join(final)
copy_clipboard(text)
copy_clipboard(log)

View File

@ -81,3 +81,17 @@ class LogTreeView(ContextMixin, TreeView):
def _on_log_keypress(self, widget: Gtk.Widget, event: Gdk.EventKey) -> None:
self.present_menu(widget, event)
def concatenate_rows(self) -> str | None:
# NOTE: LogTreeView uses Gtk.SelectionMode.MULTIPLE
final = []
model, records = self.get_selection().get_selected_rows()
if len(records) < 1:
return None
for record in records:
raw_record = model[record]
r = [el for el in raw_record]
concat = strings.delimiter.join(r)
final.append(concat)
text = "\n".join(final)
return text