31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
from gi.repository import Gtk
|
|
from dsst_gtk3 import dialogs, gtk_ui, util
|
|
|
|
|
|
class DeathHandlers:
|
|
"""Callback handlers for signals related to managing death events"""
|
|
def __init__(self, app: 'gtk_ui.GtkUi'):
|
|
self.app = app
|
|
|
|
def do_add_death(self, *_):
|
|
ep_id = self.app.get_selected_episode_id()
|
|
if not ep_id:
|
|
return
|
|
death = dialogs.create_death(self.app)
|
|
if death:
|
|
self.app.data_client.save_death(death)
|
|
|
|
def on_penalty_drink_changed(self, _, path, text):
|
|
self.app.ui.get_object('player_penalties_store')[path][2] = text
|
|
|
|
def death_tree_clicked(self, widget, event):
|
|
if event.button == 3: # right click
|
|
popup = self.app.ui.get_object('p_death')
|
|
util.show_context_menu(widget, event, popup)
|
|
return True
|
|
|
|
def do_delete_death(self, *_):
|
|
death_id = util.get_tree_selection_value(self.app.ui.get_object('episode_deaths_tree_view'), 0)
|
|
self.app.data_client.delete_death(death_id)
|
|
|