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


Commits:
a2e17f11 by Philipp Hörist at 2024-10-10T00:27:50+02:00
refactor: Improve Sound Manage dialog

- - - - -


2 changed files:

- gajim/gtk/manage_sounds.py
- gajim/gtk/widgets.py


Changes:

=====================================
gajim/gtk/manage_sounds.py
=====================================
@@ -52,21 +52,17 @@ def __init__(self, transient_for: Gtk.Window) -> None:
             modal=True,
         )
 
-        self._ui = get_builder('manage_sounds.ui', self)
+        self._ui = get_builder('manage_sounds.ui')
         self.set_child(self._ui.manage_sounds)
 
         self._file_chooser_button = FileChooserButton(default_label=_('Choose 
Sound'))
         self._file_chooser_button.set_hexpand(True)
         self._ui.sound_buttons_box.prepend(self._file_chooser_button)
 
-        filter_ = Gtk.FileFilter()
-        filter_.set_name(_('All files'))
-        filter_.add_pattern('*')
+        filter_ = Gtk.FileFilter(name=_('All files'), patterns=['*'])
         self._file_chooser_button.add_filter(filter_)
 
-        filter_ = Gtk.FileFilter()
-        filter_.set_name(_('Wav Sounds'))
-        filter_.add_pattern('*.wav')
+        filter_ = Gtk.FileFilter(name=_('WAV Sounds'), patterns=['*.wav'])
         self._file_chooser_button.add_filter(filter_)
         self._file_chooser_button.set_default_filter(filter_)
 


=====================================
gajim/gtk/widgets.py
=====================================
@@ -131,7 +131,7 @@ def _cleanup(self) -> None:
         raise NotImplementedError
 
 
-class FileChooserButton(Gtk.Button):
+class FileChooserButton(Gtk.Button, SignalManager):
 
     __gsignals__ = {
         'path-picked': (GObject.SignalFlags.RUN_LAST, None, (str,)),
@@ -146,7 +146,9 @@ def __init__(
         default_label: str | None = None,
         transient_for: Gtk.Window | None = None,
     ) -> None:
+
         Gtk.Button.__init__(self)
+        SignalManager.__init__(self)
         self._path = path
         self._mode = mode
         self._filters = filters or Gio.ListStore()
@@ -179,7 +181,7 @@ def __init__(
             self._label.set_text(path.name if path.is_file() else 
path.as_posix())
             self._label.set_tooltip_text(str(self._path))
 
-        self.connect('clicked', self._on_clicked)
+        self._connect(self, 'clicked', self._on_clicked)
 
     def get_path(self) -> Path | None:
         return self._path
@@ -261,3 +263,8 @@ def _on_file_picked(
         self.set_path(Path(path))
 
         self.emit('path-picked', path)
+
+    def do_unroot(self) -> None:
+        Gtk.Button.do_unroot(self)
+        self._disconnect_all()
+        app.check_finalize(self)



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

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