diff --git a/src/views/preferences_window.py b/src/views/preferences_window.py index 9954759..e057aff 100644 --- a/src/views/preferences_window.py +++ b/src/views/preferences_window.py @@ -82,7 +82,7 @@ class PreferencesWindow(Adw.PreferencesWindow): dialog.connect("response", self.on_delete_response) - dialog.set_transient_for(self.win) + dialog.set_transient_for(self) dialog.present() def on_delete_response(self, _widget, response): diff --git a/src/widgets/thread_item.blp b/src/widgets/thread_item.blp index 66a832f..32a9de5 100644 --- a/src/widgets/thread_item.blp +++ b/src/widgets/thread_item.blp @@ -23,13 +23,13 @@ template $ThreadItem : Box { } } - ToggleButton text-value-toggle { + Button text-value-button { valign: center; icon-name: "document-edit-symbolic"; tooltip-text: _("Edit Title"); styles ["flat"] - toggled => $on_text_value_toggled(); + clicked => $on_edit_button_clicked(); } //Button delete_button { diff --git a/src/widgets/thread_item.py b/src/widgets/thread_item.py index cd902f7..37dd315 100644 --- a/src/widgets/thread_item.py +++ b/src/widgets/thread_item.py @@ -9,9 +9,11 @@ class ThreadItem(Gtk.Box): label = Gtk.Template.Child() text_value = Gtk.Template.Child("text-value") value_stack = Gtk.Template.Child("value-stack") - text_value_toggle = Gtk.Template.Child("text-value-toggle") + edit_button = Gtk.Template.Child("text-value-button") popover = Gtk.Template.Child() + edit_mode = False + def __init__(self, parent, chat, **kwargs): super().__init__(**kwargs) @@ -59,14 +61,14 @@ class ThreadItem(Gtk.Box): self.set_accels_for_action(f"app.{name}", shortcuts) @Gtk.Template.Callback() - def on_text_value_toggled(self, *args): - if self.text_value_toggle.get_active(): - self.text_value_toggle.set_icon_name("check-round-outline2-symbolic") + def on_edit_button_clicked(self, *args): + if not self.edit_mode: + self.edit_button.set_icon_name("check-round-outline2-symbolic") self.text_value.set_text(self.label_text) widget = self.text_value tooltip = _("Set Title") else: - self.text_value_toggle.set_icon_name("document-edit-symbolic") + self.edit_button.set_icon_name("document-edit-symbolic") self.label_text = self.text_value.get_text() self.chat["title"] = self.label_text self.text_value.set_text(self.label_text) @@ -75,8 +77,10 @@ class ThreadItem(Gtk.Box): tooltip = _("Edit Title") widget = self.label + self.edit_mode = not self.edit_mode + self.value_stack.set_visible_child(widget) - self.text_value_toggle.set_tooltip_text(tooltip) + self.edit_button.set_tooltip_text(tooltip) self.label.set_text(self.label_text) def on_star(self, *args):