# HG changeset patch # User Mark Doliner # Date 1082912498 0 # Node ID 482fc53c969d909c7e71bd1561821bb6e3b9c359 # Parent 8212661dc3cceb23194b52c578ba5d5574866d76 [gaim-migrate @ 9569] A patch from Jon Oberheide to add a confirmation dialog when removing an away message. And then two other small changes I thought I had already committed. committer: Tailor Script diff -r 8212661dc3cc -r 482fc53c969d src/away.c --- a/src/away.c Sun Apr 25 16:23:20 2004 +0000 +++ b/src/away.c Sun Apr 25 17:01:38 2004 +0000 @@ -29,6 +29,7 @@ #include "prpl.h" #include "status.h" #include "util.h" +#include "request.h" /* XXX CORE/UI: Until we can get rid of the message queue stuff... */ #include "gaim.h" @@ -284,12 +285,26 @@ serv_set_away_all(awaymessage->message); } -void rem_away_mess(GtkWidget *w, struct away_message *a) +void do_rem_away_mess(gchar *name) { + struct away_message *a; struct away_message *default_away = NULL; const char *default_away_name; GSList *l; + /* Lookup the away message based on the title */ + for (l = away_messages; l != NULL; l = l->next) { + a = l->data; + if (!strcmp(a->name, name)) + break; + } + g_free(name); + + if (l == NULL) { + /* Could not find away message! */ + return; + } + default_away_name = gaim_prefs_get_string("/core/away/default_message"); for(l = away_messages; l; l = l->next) { @@ -308,6 +323,19 @@ gaim_status_sync(); } +void rem_away_mess(GtkWidget *w, struct away_message *a) +{ + gchar *text; + + text = g_strdup_printf(_("Are you sure you want to remove the away message \"%s\"?"), a->name); + + gaim_request_action(NULL, NULL, _("Remove Away Message"), text, -1, g_strdup(a->name), 2, + _("Remove"), G_CALLBACK(do_rem_away_mess), + _("Cancel"), G_CALLBACK(g_free)); + + g_free(text); +} + static void set_gc_away(GObject *obj, GaimConnection *gc) { struct away_message *awy = g_object_get_data(obj, "away_message"); diff -r 8212661dc3cc -r 482fc53c969d src/gtkeventloop.c --- a/src/gtkeventloop.c Sun Apr 25 16:23:20 2004 +0000 +++ b/src/gtkeventloop.c Sun Apr 25 17:01:38 2004 +0000 @@ -97,7 +97,7 @@ g_timeout_add, (guint (*)(guint))g_source_remove, gaim_gtk_input_add, - (void (*)(guint))g_source_remove + (guint (*)(guint))g_source_remove }; GaimEventLoopUiOps * diff -r 8212661dc3cc -r 482fc53c969d src/gtkimhtmltoolbar.c --- a/src/gtkimhtmltoolbar.c Sun Apr 25 16:23:20 2004 +0000 +++ b/src/gtkimhtmltoolbar.c Sun Apr 25 17:01:38 2004 +0000 @@ -1033,7 +1033,7 @@ g_signal_connect_after(G_OBJECT(GTK_IMHTML(imhtml)->text_buffer), "mark-set", G_CALLBACK(mark_set_cb), toolbar); buttons = gtk_imhtml_get_format_functions(GTK_IMHTML(imhtml)); - update_buttons_cb(imhtml, buttons, toolbar); + update_buttons_cb(GTK_IMHTML(imhtml), buttons, toolbar); bold = italic = underline = FALSE;