diff --git a/gajim/common/preview.py b/gajim/common/preview.py index 710d30d7f27683d1007e5c3fdd26a4ec00904995..03f89d91f958b65775e8f9d0326fb8ca98a388f2 100644 --- a/gajim/common/preview.py +++ b/gajim/common/preview.py @@ -61,12 +61,14 @@ def __init__(self, thumb_path: Optional[Path], size: int, widget: Any, + from_us: bool = False, context: Optional[str] = None ) -> None: self._uri = uri self._urlparts = urlparts self._filename = filename_from_uri(uri) self._widget = widget + self._from_us = from_us self._context = context self.account = widget.account @@ -109,6 +111,10 @@ def is_audio(self) -> bool: def uri(self) -> str: return self._uri + @property + def from_us(self) -> bool: + return self._from_us + @property def context(self) -> Optional[str]: return self._context @@ -275,7 +281,7 @@ def is_previewable(self, def create_preview(self, uri: str, widget: Any, - is_self: bool, + from_us: bool, context: Optional[str] = None ) -> None: if uri.startswith('geo:'): @@ -283,10 +289,10 @@ def create_preview(self, preview.update_widget() return - preview = self._process_web_uri(uri, widget, context) + preview = self._process_web_uri(uri, widget, from_us, context) if not preview.orig_exists(): - if context is not None and not is_self: + if context is not None and not from_us: allow_in_public = app.settings.get('preview_anonymous_muc') if context == 'public' and not allow_in_public: preview.update_widget() @@ -307,6 +313,7 @@ def create_preview(self, def _process_web_uri(self, uri: str, widget: Any, + from_us: bool, context: Optional[str] = None ) -> Preview: urlparts = urlparse(uri) @@ -322,6 +329,7 @@ def _process_web_uri(self, thumb_path, size, widget, + from_us, context=context) def _on_orig_load_finished(self, diff --git a/gajim/gtk/conversation/rows/base.py b/gajim/gtk/conversation/rows/base.py index 493497b32ef2199861e54db766d4eb1ce3d079e8..4f5f5b11222c36902004e59d61863e9031820ea0 100644 --- a/gajim/gtk/conversation/rows/base.py +++ b/gajim/gtk/conversation/rows/base.py @@ -78,7 +78,7 @@ def create_timestamp_widget(timestamp: datetime) -> Gtk.Label: return label @staticmethod - def create_name_widget(name: str, is_self: bool) -> Gtk.Label: + def create_name_widget(name: str, from_us: bool) -> Gtk.Label: label = Gtk.Label() label.set_selectable(True) label.set_ellipsize(Pango.EllipsizeMode.END) @@ -86,7 +86,7 @@ def create_name_widget(name: str, is_self: bool) -> Gtk.Label: label.get_style_context().add_class('conversation-nickname') label.set_markup(GLib.markup_escape_text(name)) - if is_self: + if from_us: label.get_style_context().add_class('gajim-outgoing-nickname') else: label.get_style_context().add_class('gajim-incoming-nickname') diff --git a/gajim/gtk/conversation/rows/message.py b/gajim/gtk/conversation/rows/message.py index c54f685887920639a2f899991a1e8035a7ba2ba8..f2bbb03fc5456b9c6fcb6eceaab78cb5406667a2 100644 --- a/gajim/gtk/conversation/rows/message.py +++ b/gajim/gtk/conversation/rows/message.py @@ -118,9 +118,9 @@ def __init__(self, if self._is_groupchat: our_nick = get_group_chat_nick(self._account, self._contact.jid) - is_self = name == our_nick + from_us = name == our_nick else: - is_self = kind == 'outgoing' + from_us = kind == 'outgoing' is_previewable = False if additional_data is not None: @@ -132,7 +132,7 @@ def __init__(self, context = get_muc_context(self._contact.jid) self._message_widget = PreviewWidget(account) app.preview_manager.create_preview( - text, self._message_widget, is_self, context) + text, self._message_widget, from_us, context) else: self._message_widget = MessageWidget(account) self._message_widget.add_with_styling(text, nickname=name) @@ -145,7 +145,7 @@ def __init__(self, if self._contact.jid == self._client.get_own_jid().bare: name = _('Me') - name_widget = self.create_name_widget(name, is_self) + name_widget = self.create_name_widget(name, from_us) self._meta_box = Gtk.Box(spacing=6) self._meta_box.set_hexpand(True) diff --git a/gajim/gtk/preview.py b/gajim/gtk/preview.py index 27ca627bd951024ae997e15c093c6ee431a70d4d..00d0bba3fd959b340f1b78c0b2b92b290f4a8da5 100644 --- a/gajim/gtk/preview.py +++ b/gajim/gtk/preview.py @@ -168,7 +168,8 @@ def update(self, preview: Preview, data: Optional[GdkPixbufType]) -> None: self._ui.save_as_button.hide() self._ui.open_folder_button.hide() allow_in_public = app.settings.get('preview_anonymous_muc') - if preview.context == 'public' and not allow_in_public: + if (preview.context == 'public' and not + allow_in_public and not preview.from_us): image = Gtk.Image.new_from_icon_name( 'dialog-question', Gtk.IconSize.DIALOG) self._ui.icon_button.set_image(image)