Philipp Hörist pushed to branch master at gajim / gajim
Commits:
8d6181cb by wurstsalat at 2023-06-07T12:54:35+00:00
imprv: Preview: Always show preview widget
Fixes #11427
- - - - -
3 changed files:
- gajim/common/preview.py
- gajim/gtk/conversation/rows/message.py
- gajim/gtk/preview.py
Changes:
=====================================
gajim/common/preview.py
=====================================
@@ -306,7 +306,12 @@ def _accept_uri(urlparts: ParseResult,
def is_previewable(self,
text: str,
- additional_data: AdditionalDataDict) -> bool:
+ additional_data: AdditionalDataDict | None
+ ) -> bool:
+
+ if additional_data is None:
+ return False
+
if not IRI_RX.fullmatch(text):
# urlparse removes whitespace (and who knows what else) from URLs,
# so can't be used for validation.
@@ -336,6 +341,7 @@ def create_preview(self,
from_us: bool,
context: str | None = None
) -> None:
+
if uri.startswith('geo:'):
preview = Preview(uri, None, None, None, 96, widget)
preview.update_widget()
@@ -345,6 +351,10 @@ def create_preview(self,
preview = self._process_web_uri(uri, widget, from_us, context)
self._previews[preview.id] = preview
+ if not app.settings.get('enable_file_preview'):
+ preview.update_widget()
+ return
+
if not preview.orig_exists:
if context is not None and not from_us:
allow_in_public = app.settings.get('preview_anonymous_muc')
@@ -555,6 +565,10 @@ def _on_finished(self, request: HTTPRequest) -> None:
self._on_orig_write_finished,
preview)
+ if not app.settings.get('enable_file_preview'):
+ preview.update_widget()
+ return
+
if preview.is_previewable:
if preview.create_thumbnail(data):
write_file_async(preview.thumb_path,
=====================================
gajim/gtk/conversation/rows/message.py
=====================================
@@ -106,13 +106,7 @@ def __init__(self,
else:
from_us = kind == 'outgoing'
- is_previewable = False
- preview_enabled = app.settings.get('enable_file_preview')
- if additional_data is not None and preview_enabled:
- is_previewable = app.preview_manager.is_previewable(
- text, additional_data)
-
- if is_previewable:
+ if app.preview_manager.is_previewable(text, additional_data):
muc_context = None
if isinstance(self._contact,
GroupchatContact | GroupchatParticipant):
=====================================
gajim/gtk/preview.py
=====================================
@@ -142,7 +142,9 @@ def update(self, preview: Preview, data: GdkPixbufType |
None) -> None:
self._ui.preview_box.set_size_request(160, -1)
return
- if preview.is_previewable and preview.orig_exists:
+ preview_enabled = app.settings.get('enable_file_preview')
+
+ if preview_enabled and preview.is_previewable and preview.orig_exists:
self._ui.icon_event_box.hide()
self._ui.image_button.show()
self._ui.save_as_button.show()
@@ -170,11 +172,16 @@ def update(self, preview: Preview, data: GdkPixbufType |
None) -> None:
self._ui.info_message.show()
if preview.orig_exists:
+ if preview_enabled:
+ self._ui.link_button.hide()
+
self._ui.download_button.hide()
self._ui.open_folder_button.show()
self._ui.save_as_button.show()
- self._ui.link_button.hide()
- if (preview.orig_path is not None and preview.is_audio and
+
+ if (preview_enabled and
+ preview.orig_path is not None and
+ preview.is_audio and
app.is_installed('GST') and
contains_audio_streams(preview.orig_path)):
self._ui.image_button.hide()
@@ -183,7 +190,10 @@ def update(self, preview: Preview, data: GdkPixbufType |
None) -> None:
self._ui.right_box.reorder_child(audio_widget, 1)
else:
if preview.file_size == 0:
- self._ui.download_button.hide()
+ if preview_enabled:
+ self._ui.download_button.hide()
+ else:
+ self._ui.download_button.show()
self._ui.link_button.show()
else:
self._ui.download_button.show()
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/8d6181cb82f2f449bf7e54f56c7527af6ebbf42e
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/8d6181cb82f2f449bf7e54f56c7527af6ebbf42e
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits