From 28b2ba04ff9f44d72113ef803386c004b8ce4293 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Thu, 21 Sep 2006 20:52:37 +0000
Subject: [PATCH] add a clear button in choose avatar dialog. Fixes #2423

---
 src/dialogs.py        | 12 ++++++++++++
 src/profile_window.py |  7 ++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/dialogs.py b/src/dialogs.py
index b27185fbdb..ddfb68761c 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 4d5b56ab92..c7f53d904f 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'''
-- 
GitLab