Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Leboulanger <asterix@lagaule.org>2007-11-09 21:22:23 +0300
committerYann Leboulanger <asterix@lagaule.org>2007-11-09 21:22:23 +0300
commit3bcbde67522991c7b9154c36de9f08126bcb5ffe (patch)
treea21ca27be27e2815394763f5b70e89d9d6c5b1fe /src/profile_window.py
parentb40d8a5fe5c31099d0d7040a00070589ba9c7c86 (diff)
improve AvatarChooserDialog
Diffstat (limited to 'src/profile_window.py')
-rw-r--r--src/profile_window.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/profile_window.py b/src/profile_window.py
index 0bc896f5e..8fa581d49 100644
--- a/src/profile_window.py
+++ b/src/profile_window.py
@@ -47,6 +47,7 @@ class ProfileWindow:
self.account = account
self.jid = gajim.get_jid_from_account(account)
+ self.dialog = None
self.avatar_mime_type = None
self.avatar_encoded = None
self.message_id = self.statusbar.push(self.context_id,
@@ -75,6 +76,8 @@ class ProfileWindow:
if self.remove_statusbar_timeout_id is not None:
gobject.source_remove(self.remove_statusbar_timeout_id)
del gajim.interface.instances[self.account]['profile']
+ if self.dialog: # Image chooser dialog
+ self.dialog.destroy()
def on_profile_window_key_press_event(self, widget, event):
if event.keyval == gtk.keysyms.Escape:
@@ -137,6 +140,7 @@ class ProfileWindow:
dialogs.ErrorDialog(_('Could not load image'))
return
self.dialog.destroy()
+ self.dialog = None
button = self.xml.get_widget('PHOTO_button')
image = button.get_image()
image.set_from_pixbuf(pixbuf)
@@ -154,10 +158,18 @@ class ProfileWindow:
def on_clear(widget):
self.dialog.destroy()
+ self.dialog = None
self.on_clear_button_clicked(widget)
- self.dialog = dialogs.AvatarChooserDialog(on_response_ok = on_ok,
- on_response_clear = on_clear)
+ def on_cancel(widget):
+ self.dialog.destroy()
+ self.dialog = None
+
+ if self.dialog:
+ self.dialog.present()
+ else:
+ self.dialog = dialogs.AvatarChooserDialog(on_response_ok = on_ok,
+ on_response_cancel = on_cancel, on_response_clear = on_clear)
def on_PHOTO_button_press_event(self, widget, event):
'''If right-clicked, show popup'''