diff --git a/src/dialogs.py b/src/dialogs.py index b27185fbd..ddfb68761 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -2295,6 +2295,18 @@ class ImageChooserDialog(FileChooserDialog): return widget.get_preview_widget().set_from_pixbuf(pixbuf) +class AvatarChooserDialog(ImageChooserDialog): + def __init__(self, path_to_file = '', on_response_ok = None, + on_response_cancel = None, on_response_clear = None): + ImageChooserDialog.__init__(self, path_to_file, on_response_ok, + on_response_cancel) + button = gtk.Button(None, gtk.STOCK_CLEAR) + if on_response_clear: + button.connect('clicked', on_response_clear) + button.show_all() + self.action_area.pack_start(button) + self.action_area.reorder_child(button, 0) + class AddSpecialNotificationDialog: def __init__(self, jid): '''jid is the jid for which we want to add special notification diff --git a/src/profile_window.py b/src/profile_window.py index 4d5b56ab9..c7f53d904 100644 --- a/src/profile_window.py +++ b/src/profile_window.py @@ -148,7 +148,12 @@ class ProfileWindow: # returns None if unknown type self.avatar_mime_type = mimetypes.guess_type(path_to_file)[0] - self.dialog = dialogs.ImageChooserDialog(on_response_ok = on_ok) + def on_clear(widget): + self.dialog.destroy() + self.on_clear_button_clicked(widget) + + self.dialog = dialogs.AvatarChooserDialog(on_response_ok = on_ok, + on_response_clear = on_clear) def on_PHOTO_button_press_event(self, widget, event): '''If right-clicked, show popup'''