diff options
author | DjLegolas <djlegolas@protonmail.com> | 2022-01-01 21:53:27 +0200 |
---|---|---|
committer | Calum Lind <calumlind+deluge@gmail.com> | 2022-01-03 22:02:53 +0000 |
commit | 5321d24f2ab35773318d28c2880b12e5e5c2461e (patch) | |
tree | 3ffd7ed5cd630a1e2cf9ae0754957dff78a307c9 /deluge/ui | |
parent | f30f7f462936d760f14d09e4216058dca293cf44 (diff) | |
download | deluge-5321d24f2ab35773318d28c2880b12e5e5c2461e.tar.gz deluge-5321d24f2ab35773318d28c2880b12e5e5c2461e.tar.bz2 deluge-5321d24f2ab35773318d28c2880b12e5e5c2461e.zip |
[GTK] Use GtkSpinner when testing open port
this switched was motivated by an error which happened each time the check
port button was clicked, and was caused by the GtkImage when loading the
loading.gif file on Windows:
cannot register existing type 'GdkPixbufGdipAnim'
Closes: deluge-torrent/deluge#329
Diffstat (limited to 'deluge/ui')
-rw-r--r-- | deluge/ui/gtk3/glade/preferences_dialog.ui | 20 | ||||
-rw-r--r-- | deluge/ui/gtk3/preferences.py | 12 |
2 files changed, 25 insertions, 7 deletions
diff --git a/deluge/ui/gtk3/glade/preferences_dialog.ui b/deluge/ui/gtk3/glade/preferences_dialog.ui index 4b223cb44..bb7262cdd 100644 --- a/deluge/ui/gtk3/glade/preferences_dialog.ui +++ b/deluge/ui/gtk3/glade/preferences_dialog.ui @@ -2728,6 +2728,24 @@ used sparingly.</property> </packing> </child> <child> + <object class="GtkAlignment" id="alignment31"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="left_padding">10</property> + <child> + <object class="GtkSpinner" id="port_spinner"> + <property name="visible">False</property> + <property name="can_focus">False</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> <object class="GtkAlignment" id="alignment48"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -2742,7 +2760,7 @@ used sparingly.</property> <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">2</property> + <property name="position">3</property> </packing> </child> </object> diff --git a/deluge/ui/gtk3/preferences.py b/deluge/ui/gtk3/preferences.py index 50d35d586..a1a986414 100644 --- a/deluge/ui/gtk3/preferences.py +++ b/deluge/ui/gtk3/preferences.py @@ -940,6 +940,7 @@ class Preferences(component.Component): def hide(self): self.window_open = False + self.builder.get_object('port_spinner').stop() self.builder.get_object('port_img').hide() self.pref_dialog.hide() @@ -1084,6 +1085,8 @@ class Preferences(component.Component): log.debug('on_test_port_clicked') def on_get_test(status): + self.builder.get_object('port_spinner').stop() + self.builder.get_object('port_spinner').hide() if status: self.builder.get_object('port_img').set_from_icon_name( 'emblem-ok-symbolic', Gtk.IconSize.MENU @@ -1096,12 +1099,9 @@ class Preferences(component.Component): self.builder.get_object('port_img').show() client.core.test_listen_port().addCallback(on_get_test) - # XXX: Consider using gtk.Spinner() instead of the loading gif - # It requires gtk.ver > 2.12 - self.builder.get_object('port_img').set_from_file( - deluge.common.get_pixmap('loading.gif') - ) - self.builder.get_object('port_img').show() + self.builder.get_object('port_spinner').start() + self.builder.get_object('port_spinner').show() + self.builder.get_object('port_img').hide() client.force_call() def on_plugin_toggled(self, renderer, path): |