Philipp Hörist pushed to branch master at gajim / gajim


Commits:
cacdbb07 by Nicoco at 2024-09-22T11:43:27+00:00
imprv: Inform user when referenced message cannot be found

- - - - -


2 changed files:

- gajim/gtk/conversation/rows/message.py
- gajim/gtk/referenced_message.py


Changes:

=====================================
gajim/gtk/conversation/rows/message.py
=====================================
@@ -38,6 +38,7 @@
 from gajim.gtk.conversation.rows.widgets import NicknameLabel
 from gajim.gtk.menus import get_chat_row_menu
 from gajim.gtk.preview import PreviewWidget
+from gajim.gtk.referenced_message import ReferencedMessageNotFoundWidget
 from gajim.gtk.referenced_message import ReferencedMessageWidget
 from gajim.gtk.util import format_fingerprint
 from gajim.gtk.util import GajimPopover
@@ -185,10 +186,13 @@ def _set_content(self, message: Message) -> None:
                 self._is_outgoing,
                 self._muc_context)
         else:
-            referenced_message = message.get_referenced_message()
-            if referenced_message is not None:
-                self._ref_message_widget = ReferencedMessageWidget(
-                    self._contact, referenced_message)
+            if message.reply is not None:
+                referenced_message = message.get_referenced_message()
+                if referenced_message is None:
+                    self._ref_message_widget = 
ReferencedMessageNotFoundWidget()
+                else:
+                    self._ref_message_widget = ReferencedMessageWidget(
+                        self._contact, referenced_message)
 
             self._message_widget = MessageWidget(self._contact.account)
             self._message_widget.add_with_styling(self.text, 
nickname=self.name)


=====================================
gajim/gtk/referenced_message.py
=====================================
@@ -196,6 +196,38 @@ def get_message_reply(self) -> ReplyData | None:
         )
 
 
+class ReferencedMessageNotFoundWidget(Gtk.EventBox):
+    def __init__(self) -> None:
+        Gtk.EventBox.__init__(self)
+
+        main_box = Gtk.Box(spacing=12, hexpand=True)
+        main_box.get_style_context().add_class('referenced-message')
+        self.add(main_box)
+
+        quote_bar = Gtk.Box(width_request=4)
+        quote_bar.set_name('quote-bar')
+        main_box.add(quote_bar)
+
+        content_box = Gtk.Box(
+            orientation=Gtk.Orientation.VERTICAL, halign=Gtk.Align.START
+        )
+        main_box.add(content_box)
+
+        message_box = Gtk.Box(spacing=12)
+        message_label = Gtk.Label(
+            label=_('The referenced message is not available.'),
+            halign=Gtk.Align.START,
+            max_width_chars=100,
+            ellipsize=Pango.EllipsizeMode.END,
+        )
+        message_label.get_style_context().add_class('dim-label')
+
+        message_box.add(message_label)
+        content_box.add(message_box)
+
+        self.show_all()
+
+
 class ReplyBox(Gtk.Box):
     def __init__(self) -> None:
         Gtk.Box.__init__(self, spacing=12, no_show_all=True)



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

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/cacdbb07af29f7f43f1ff9ab958db9b6e3db5455
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