Daniel Brötzmann pushed to branch master at gajim / gajim
Commits:
73fa6790 by wurstsalat at 2024-12-21T18:29:23+01:00
refactor: Preview: Remove GTK4 TODOs
- - - - -
bc0398f6 by wurstsalat at 2024-12-21T18:39:37+01:00
cfix: AudioWidget: Guard for missing GStreamer
- - - - -
3e413a30 by wurstsalat at 2024-12-21T18:42:55+01:00
cfix: AudioAnalyzer: Guard for missing GStreamer
- - - - -
3 changed files:
- gajim/gtk/preview.py
- gajim/gtk/preview_audio.py
- gajim/gtk/preview_audio_analyzer.py
Changes:
=====================================
gajim/gtk/preview.py
=====================================
@@ -150,10 +150,6 @@ def update(self, preview: Preview, data: bytes | None) ->
None:
self._ui.file_size.set_text(text)
self._ui.image_button.set_tooltip_text(_("Location at %s") % text)
self._ui.preview_box.set_size_request(160, -1)
-
- # TODO GTK4:
- # This is a workaround to make the scrolledwindow aware of new
content
- self._ui.preview_box.queue_resize()
return
self._ui.image_button.set_tooltip_text(preview.filename)
@@ -283,10 +279,6 @@ def update(self, preview: Preview, data: bytes | None) ->
None:
self._ui.file_name.set_text(preview.filename)
self._ui.file_name.set_tooltip_text(preview.filename)
- # TODO GTK4:
- # This is a workaround to make the scrolledwindow aware of new content
- GLib.idle_add(self.queue_resize)
-
def _on_download(self, _button: Gtk.Button) -> None:
if self._preview is None:
return
=====================================
gajim/gtk/preview_audio.py
=====================================
@@ -41,6 +41,11 @@ def __init__(self, file_path: Path) -> None:
Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL,
spacing=6)
SignalManager.__init__(self)
+ if not app.is_installed("GST"):
+ log.info("Could not create AudioWidget because GStreamer is not
installed.")
+ self._show_init_error()
+ return
+
self._playbin = Gst.ElementFactory.make("playbin", "bin")
self._bus_watch_id: int = 0
self._timeout_id: int = -1
@@ -48,8 +53,7 @@ def __init__(self, file_path: Path) -> None:
if self._playbin is None:
log.error("Could not create GST playbin.")
- label = Gtk.Label(label=_("Audio preview is not available"))
- self.append(label)
+ self._show_init_error()
return
self._file_path = file_path
@@ -217,6 +221,9 @@ def set_pause(self, paused: bool) -> None:
self._add_seek_bar_update_idle()
self._ui.play_icon.set_from_icon_name("media-playback-pause-symbolic")
+ def _show_init_error(self) -> None:
+ self.append(Gtk.Label(label=_("Audio preview is not available")))
+
def _enable_controls(self, status: bool) -> None:
self._ui.seek_bar.set_sensitive(status)
self._ui.progress_label.set_sensitive(status)
=====================================
gajim/gtk/preview_audio_analyzer.py
=====================================
@@ -32,6 +32,12 @@ def __init__(
samples_callback: Callable[[AudioSampleT], None],
) -> None:
+ if not app.is_installed("GST"):
+ log.info(
+ "Could not create AudioAnalyzer because GStreamer is not
installed."
+ )
+ return
+
self._playbin = Gst.ElementFactory.make("playbin")
if self._playbin is None:
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/08c62dffbcd667796f614fbad703542d79b2d9a2...3e413a30874df8e8812f19d6369c5f4d3fad79cf
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/08c62dffbcd667796f614fbad703542d79b2d9a2...3e413a30874df8e8812f19d6369c5f4d3fad79cf
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]