Mercurial > pidgin.yaz
diff plugins/docklet/docklet.c @ 12690:d03afaccd41c
[gaim-migrate @ 15033]
Make the popular status docklet menu items actually do something.
Strip html and newlines from the titles of saved-statuses when
displaying them in the docklet menu.
Add a 'gaim_savedstatus_find_by_creation_time()' function. Sadrul:
you'll probably want to use this when you add popular statuses to
the status box.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 03 Jan 2006 05:23:01 +0000 |
parents | 473c23442a36 |
children | 0a4996f15509 |
line wrap: on
line diff
--- a/plugins/docklet/docklet.c Tue Jan 03 04:44:08 2006 +0000 +++ b/plugins/docklet/docklet.c Tue Jan 03 05:23:01 2006 +0000 @@ -358,12 +358,24 @@ #endif static void -show_custom_status_editor_cb() +show_custom_status_editor_cb(GtkMenuItem *menuitem, gpointer user_data) { gaim_gtk_status_editor_show(NULL); } static void +activate_saved_status_cb(GtkMenuItem *menuitem, gpointer user_data) +{ + time_t creation_time; + GaimSavedStatus *saved_status; + + creation_time = GPOINTER_TO_INT(user_data); + saved_status = gaim_savedstatus_find_by_creation_time(creation_time); + if (saved_status != NULL) + gaim_savedstatus_activate(saved_status); +} + +static void docklet_menu() { static GtkWidget *menu = NULL; GtkWidget *menuitem; @@ -414,9 +426,11 @@ for (cur = popular_statuses; cur != NULL; cur = cur->next) { GaimSavedStatus *saved_status = cur->data; + time_t creation_time = gaim_savedstatus_get_creation_time(saved_status); gaim_new_item_from_stock(menu, gaim_savedstatus_get_title(saved_status), - GAIM_STOCK_ICON_AWAY, NULL /* TODO */, NULL, 0, 0, NULL); + GAIM_STOCK_ICON_AWAY, G_CALLBACK(activate_saved_status_cb), + GINT_TO_POINTER(creation_time), 0, 0, NULL); } g_list_free(popular_statuses);