From 5919562b17c2cf695a406ac15d80809bda067a6d Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Sun, 20 Jan 2008 00:04:43 +0000 Subject: [PATCH] Add a cancel button on the custom message diaog svn path=/trunk/; revision=583 --- libempathy-gtk/empathy-presence-chooser.c | 27 +++++++++++++------ libempathy-gtk/empathy-presence-chooser.glade | 21 ++++++++++++--- 2 files changed, 36 insertions(+), 12 deletions(-) diff --git a/libempathy-gtk/empathy-presence-chooser.c b/libempathy-gtk/empathy-presence-chooser.c index a8b69e02..17a62738 100644 --- a/libempathy-gtk/empathy-presence-chooser.c +++ b/libempathy-gtk/empathy-presence-chooser.c @@ -901,16 +901,27 @@ presence_chooser_dialog_setup (CustomMessageDialog *dialog) } static void -presence_chooser_dialog_destroy_cb (GtkWidget *widget, - CustomMessageDialog *dialog) +presence_chooser_dialog_response_cb (GtkWidget *widget, + gint response, + CustomMessageDialog *dialog) { - McPresence state; - const gchar *text; + if (response == GTK_RESPONSE_APPLY) { + McPresence state; + const gchar *text; - state = presence_chooser_dialog_get_selected (dialog); - text = gtk_entry_get_text (GTK_ENTRY (dialog->entry_message)); + state = presence_chooser_dialog_get_selected (dialog); + text = gtk_entry_get_text (GTK_ENTRY (dialog->entry_message)); + + presence_chooser_set_state (state, text); + } + + gtk_widget_destroy (widget); +} - presence_chooser_set_state (state, text); +static void +presence_chooser_dialog_destroy_cb (GtkWidget *widget, + CustomMessageDialog *dialog) +{ g_free (dialog); message_dialog = NULL; @@ -938,7 +949,7 @@ presence_chooser_dialog_show (void) empathy_glade_connect (glade, message_dialog, "custom_message_dialog", "destroy", presence_chooser_dialog_destroy_cb, - "custom_message_dialog", "response", gtk_widget_destroy, + "custom_message_dialog", "response", presence_chooser_dialog_response_cb, "combobox_status", "changed", presence_chooser_dialog_status_changed_cb, "checkbutton_save", "toggled", presence_chooser_dialog_save_toggled_cb, NULL); diff --git a/libempathy-gtk/empathy-presence-chooser.glade b/libempathy-gtk/empathy-presence-chooser.glade index 9433d265..a3a26a15 100644 --- a/libempathy-gtk/empathy-presence-chooser.glade +++ b/libempathy-gtk/empathy-presence-chooser.glade @@ -5,6 +5,7 @@ + 5 True Custom message GTK_WINDOW_TOPLEVEL @@ -20,7 +21,6 @@ True False False - 5 @@ -38,11 +38,24 @@ True True True - gtk-close + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + True + True + True + gtk-apply True GTK_RELIEF_NORMAL True - -7 + -10 @@ -56,13 +69,13 @@ + 5 True 3 2 False 6 6 - 5 -- 2.39.2