From dff0892be09746ed1d0612d93ad1d75fccd581a8 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Sat, 1 Nov 2003 21:59:53 +0000 Subject: [PATCH] confirmation before removing a contact --- plugins/gtkgui.glade | 80 ++++++++++++++++++++++++++++++++++++++++++++ plugins/gtkgui.py | 14 +++++++- 2 files changed, 93 insertions(+), 1 deletion(-) diff --git a/plugins/gtkgui.glade b/plugins/gtkgui.glade index 91dd04b9c..e1c77f568 100644 --- a/plugins/gtkgui.glade +++ b/plugins/gtkgui.glade @@ -1507,4 +1507,84 @@ David Ferlier (david@yazzy.org) + + True + Sure ? + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + okbutton + + + 10 + True + True + + + + + + diff --git a/plugins/gtkgui.py b/plugins/gtkgui.py index d5b039194..660107fda 100644 --- a/plugins/gtkgui.py +++ b/plugins/gtkgui.py @@ -248,12 +248,16 @@ class roster: self.mk_menu_c(event, iter) return gtk.TRUE return gtk.FALSE + + def destroy_window(self, widget, window): + window.destroy() - def on_req_usub(self, widget, iter): + def req_usub(self, widget, iter, window): jid = self.treestore.get_value(iter, 2) self.queueOUT.put(('UNSUB', jid)) del self.l_contact[jid] self.treestore.remove(iter) + self.destroy_window(widget, window) def req_sub(self, jid, txt): self.queueOUT.put(('SUB', (jid, txt))) @@ -264,6 +268,14 @@ class roster: iterU = self.treestore.append(self.l_group['general'], (self.pixbufs['requested'], jid, jid)) self.l_contact[jid] = {'user':user1, 'iter':[iterU]} + def on_req_usub(self, widget, iter): + jid = self.treestore.get_value(iter, 2) + self.xml = gtk.glade.XML('plugins/gtkgui.glade', 'Confirm') + self.window = self.xml.get_widget('Confirm') + self.xml.get_widget('label_confirm').set_text('Are you sure you want to remove ' + jid + ' from your roster ?') + self.xml.signal_connect('gtk_widget_destroy', self.destroy_window, self.window) + self.xml.signal_connect('on_okbutton_clicked', self.req_usub, iter, self.window) + def on_status_changed(self, widget): self.queueOUT.put(('STATUS',widget.name))