Daniel Brötzmann pushed to branch master at gajim / gajim


Commits:
08c62dff by wurstsalat at 2024-12-21T18:17:25+01:00
cfix: ReferencedMessageWidget: Check for finalization; style fixes

- - - - -


1 changed file:

- gajim/gtk/referenced_message.py


Changes:

=====================================
gajim/gtk/referenced_message.py
=====================================
@@ -31,11 +31,12 @@
 
 from gajim.gtk.util import get_avatar_for_message
 from gajim.gtk.util import get_contact_name_for_message
+from gajim.gtk.util import SignalManager
 
 log = logging.getLogger("gajim.gtk.referenced_message_widget")
 
 
-class ReferencedMessageWidget(Gtk.Box):
+class ReferencedMessageWidget(Gtk.Box, SignalManager):
     def __init__(
         self,
         contact: ChatContactT,
@@ -43,6 +44,7 @@ def __init__(
         show_reply_icon: bool = True,
     ) -> None:
         Gtk.Box.__init__(self)
+        SignalManager.__init__(self)
 
         self._contact = contact
         self._original_message = original_message
@@ -55,11 +57,16 @@ def __init__(
         self.set_cursor(Gdk.Cursor.new_from_name("pointer"))
 
         gesture_primary_click = Gtk.GestureClick(button=Gdk.BUTTON_PRIMARY)
-        gesture_primary_click.connect("pressed", self._on_clicked)
+        self._connect(gesture_primary_click, "pressed", self._on_clicked)
         self.add_controller(gesture_primary_click)
 
         self._add_content(self._message)
 
+    def do_unroot(self) -> None:
+        self._disconnect_all()
+        Gtk.Box.do_unroot(self)
+        app.check_finalize(self)
+
     def _add_content(self, message: mod.Message) -> None:
         main_box = Gtk.Box(
             spacing=12, hexpand=True, tooltip_text=_("Scroll to this message")
@@ -149,8 +156,8 @@ def _on_clicked(
         self,
         _gesture_click: Gtk.GestureClick,
         _n_press: int,
-        x: float,
-        y: float,
+        _x: float,
+        _y: float,
     ) -> int:
         app.window.activate_action(
             "win.jump-to-message",
@@ -220,23 +227,31 @@ def __init__(self) -> None:
         content_box.append(message_box)
 
 
-class ReplyBox(Gtk.Box):
+class ReplyBox(Gtk.Box, SignalManager):
     def __init__(self) -> None:
-        Gtk.Box.__init__(self, spacing=12, visible=False)
+        Gtk.Box.__init__(self, spacing=6, visible=False)
+        SignalManager.__init__(self)
 
         reply_image = Gtk.Image.new_from_icon_name("lucide-reply-symbolic")
         reply_image.set_size_request(AvatarSize.CHAT, -1)
+        reply_image.set_pixel_size(24)
         reply_image.add_css_class("dim-label")
         self.append(reply_image)
 
         self._close_button = 
Gtk.Button.new_from_icon_name("window-close-symbolic")
         self._close_button.set_valign(Gtk.Align.CENTER)
         self._close_button.set_tooltip_text(_("Cancel"))
-        self._close_button.connect("clicked", self.disable_reply_mode)
+        self._connect(self._close_button, "clicked", self.disable_reply_mode)
         self.append(self._close_button)
 
         self._ref_widget = None
 
+    def do_unroot(self) -> None:
+        self.disable_reply_mode()
+        self._disconnect_all()
+        Gtk.Box.do_unroot(self)
+        app.check_finalize(self)
+
     def enable_reply_mode(
         self, contact: ChatContactT, original_message: mod.Message
     ) -> None:



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/08c62dffbcd667796f614fbad703542d79b2d9a2

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/08c62dffbcd667796f614fbad703542d79b2d9a2
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to