Daniel Brötzmann pushed to branch master at gajim / gajim
Commits: 9c252dd0 by wurstsalat at 2022-07-08T22:45:28+02:00 fix: Preview: Hide download hint if we sent the file
Fixes #11036
- - - - -
4 changed files:
- gajim/common/preview.py - gajim/gtk/conversation/rows/base.py - gajim/gtk/conversation/rows/message.py - gajim/gtk/preview.py
Changes:
===================================== 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,
===================================== 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')
===================================== 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)
===================================== 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)
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/9c252dd0b36a33fa52dbcf73dacd9ee72...