From e27c38ca6745e85720b5f3dad5bea333fa139215 Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Mon, 14 Dec 2009 02:15:08 +0000 Subject: [PATCH] Fix #594 tray password dialog freeze in Windows Made the password dialog prettier --- ChangeLog | 2 + deluge/data/pixmaps/lock48.png | Bin 0 -> 2978 bytes deluge/ui/gtkui/systemtray.py | 83 ++++++++++++++++++++------------- 3 files changed, 53 insertions(+), 32 deletions(-) create mode 100644 deluge/data/pixmaps/lock48.png diff --git a/ChangeLog b/ChangeLog index 780db7cba..e5845aba3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -28,6 +28,8 @@ * Add #891 remove torrents by pressing the Delete key * Fix issue where stoping a daemon that you aren't connected to causes the gtkui to shutdown the currently connected daemon. + * Fix #594 tray password dialog freeze in Windows + * Made the password dialog prettier ==== Console ==== * Fix using the console in Windows, but only in command-line mode diff --git a/deluge/data/pixmaps/lock48.png b/deluge/data/pixmaps/lock48.png new file mode 100644 index 0000000000000000000000000000000000000000..f24ae3a60a17564088ac4aebbf1b40b0bb3cdb23 GIT binary patch literal 2978 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 is password protected!")) + label.set_use_markup(True) + label.set_alignment(0.0, 0.5) + label.set_line_wrap(True) + vbox.pack_start(label, False) + + tlabel = gtk.Label(_("Enter your password to continue")) + tlabel.set_use_markup(True) + tlabel.set_alignment(0.0, 0.5) + tlabel.set_line_wrap(True) + vbox.pack_start(tlabel, False) + + vbox.pack_start(entered_pass) + + tray_lock.vbox.pack_start(hbox) + + def on_response(dialog, response_id): + if response_id == gtk.RESPONSE_OK: + if self.config["tray_password"] == sha_hash(entered_pass.get_text()).hexdigest(): + self.window.present() + + tray_lock.destroy() + is_showing_dlg[0] = False + + tray_lock.connect("response", on_response) + tray_lock.show_all()