From a25d7ce98b4c82420e5905a0aea7a1efe9920432 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 31 Jan 2024 07:05:04 +0100 Subject: Merging upstream version 2.1.2~dev0+20240121. Signed-off-by: Daniel Baumann --- deluge/ui/gtk3/menubar.py | 44 ++++++++++-------------------- deluge/ui/gtk3/preferences.py | 1 - deluge/ui/web/js/deluge-all/TorrentGrid.js | 2 +- deluge/ui/web/json_api.py | 5 +++- 4 files changed, 19 insertions(+), 33 deletions(-) (limited to 'deluge/ui') diff --git a/deluge/ui/gtk3/menubar.py b/deluge/ui/gtk3/menubar.py index 328cb7e..9165320 100644 --- a/deluge/ui/gtk3/menubar.py +++ b/deluge/ui/gtk3/menubar.py @@ -578,42 +578,26 @@ class MenuBar(component.Component): component.get('FilterTreeView').update() def _on_known_accounts(self, known_accounts): - known_accounts_to_log = [] - for account in known_accounts: - account_to_log = {} - for key, value in account.copy().items(): - if key == 'password': - value = '*' * 10 - account_to_log[key] = value - known_accounts_to_log.append(account_to_log) - log.debug('_on_known_accounts: %s', known_accounts_to_log) + menuitem_change_owner = self.builder.get_object('menuitem_change_owner') if len(known_accounts) <= 1: + menuitem_change_owner.set_visible(False) return - self.builder.get_object('menuitem_change_owner').set_visible(True) - - self.change_owner_submenu = Gtk.Menu() - self.change_owner_submenu_items = {} - maingroup = Gtk.RadioMenuItem() - - self.change_owner_submenu_items[None] = Gtk.RadioMenuItem(maingroup) + self.users_menu = Gtk.Menu() + self.users_menu_items = {} + menu_group = None for account in known_accounts: username = account['username'] - item = Gtk.RadioMenuItem.new_with_label(maingroup, username) - self.change_owner_submenu_items[username] = item - self.change_owner_submenu.append(item) + item = Gtk.RadioMenuItem.new_with_label(menu_group, username) + menu_group = item.get_group() item.connect('toggled', self._on_change_owner_toggled, username) + self.users_menu_items[username] = item + self.users_menu.append(item) - self.change_owner_submenu.show_all() - self.change_owner_submenu_items[None].set_active(True) - self.change_owner_submenu_items[None].hide() - self.builder.get_object('menuitem_change_owner').connect( - 'activate', self._on_change_owner_submenu_active - ) - self.builder.get_object('menuitem_change_owner').set_submenu( - self.change_owner_submenu - ) + self.users_menu.show_all() + menuitem_change_owner.set_submenu(self.users_menu) + menuitem_change_owner.set_visible(True) def _on_known_accounts_fail(self, reason): self.builder.get_object('menuitem_change_owner').set_visible(False) @@ -622,13 +606,13 @@ class MenuBar(component.Component): log.debug('_on_change_owner_submenu_active') selected = component.get('TorrentView').get_selected_torrents() if len(selected) > 1: - self.change_owner_submenu_items[None].set_active(True) + self.users_menu_items[None].set_active(True) return torrent_owner = component.get('TorrentView').get_torrent_status(selected[0])[ 'owner' ] - for username, item in self.change_owner_submenu_items.items(): + for username, item in self.users_menu_items.items(): item.set_active(username == torrent_owner) def _on_change_owner_toggled(self, widget, username): diff --git a/deluge/ui/gtk3/preferences.py b/deluge/ui/gtk3/preferences.py index 3463b70..a024a59 100644 --- a/deluge/ui/gtk3/preferences.py +++ b/deluge/ui/gtk3/preferences.py @@ -117,7 +117,6 @@ class Preferences(component.Component): # Setup accounts tab lisview self.accounts_levels_mapping = None - self.accounts_authlevel = self.builder.get_object('accounts_authlevel') self.accounts_liststore = Gtk.ListStore(str, str, str, int) self.accounts_liststore.set_sort_column_id( ACCOUNTS_USERNAME, Gtk.SortType.ASCENDING diff --git a/deluge/ui/web/js/deluge-all/TorrentGrid.js b/deluge/ui/web/js/deluge-all/TorrentGrid.js index 333d133..5db7e9f 100644 --- a/deluge/ui/web/js/deluge-all/TorrentGrid.js +++ b/deluge/ui/web/js/deluge-all/TorrentGrid.js @@ -61,7 +61,7 @@ return String.format( '
{0}
', + 'tracker/{0}) no-repeat; background-size: contain; padding-left: 20px;">{0}', Ext.util.Format.htmlEncode(value) ); } diff --git a/deluge/ui/web/json_api.py b/deluge/ui/web/json_api.py index 3f25614..ea8105d 100644 --- a/deluge/ui/web/json_api.py +++ b/deluge/ui/web/json_api.py @@ -600,7 +600,10 @@ class WebApi(JSONComponent): progresses = dirinfo.setdefault('progresses', []) progresses.append(torrent_file['size'] * torrent_file['progress'] / 100) - dirinfo['progress'] = sum(progresses) / dirinfo['size'] * 100 + if dirinfo['size'] > 0: + dirinfo['progress'] = sum(progresses) / dirinfo['size'] * 100 + else: + dirinfo['progress'] = 100 dirinfo['path'] = dirname dirname = os.path.dirname(dirname) -- cgit v1.2.3