Mercurial > pidgin.yaz
comparison 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 |
comparison
equal
deleted
inserted
replaced
12689:e893563d965d | 12690:d03afaccd41c |
---|---|
356 return FALSE; | 356 return FALSE; |
357 } | 357 } |
358 #endif | 358 #endif |
359 | 359 |
360 static void | 360 static void |
361 show_custom_status_editor_cb() | 361 show_custom_status_editor_cb(GtkMenuItem *menuitem, gpointer user_data) |
362 { | 362 { |
363 gaim_gtk_status_editor_show(NULL); | 363 gaim_gtk_status_editor_show(NULL); |
364 } | |
365 | |
366 static void | |
367 activate_saved_status_cb(GtkMenuItem *menuitem, gpointer user_data) | |
368 { | |
369 time_t creation_time; | |
370 GaimSavedStatus *saved_status; | |
371 | |
372 creation_time = GPOINTER_TO_INT(user_data); | |
373 saved_status = gaim_savedstatus_find_by_creation_time(creation_time); | |
374 if (saved_status != NULL) | |
375 gaim_savedstatus_activate(saved_status); | |
364 } | 376 } |
365 | 377 |
366 static void | 378 static void |
367 docklet_menu() { | 379 docklet_menu() { |
368 static GtkWidget *menu = NULL; | 380 static GtkWidget *menu = NULL; |
412 | 424 |
413 popular_statuses = gaim_savedstatuses_get_popular(6); | 425 popular_statuses = gaim_savedstatuses_get_popular(6); |
414 for (cur = popular_statuses; cur != NULL; cur = cur->next) | 426 for (cur = popular_statuses; cur != NULL; cur = cur->next) |
415 { | 427 { |
416 GaimSavedStatus *saved_status = cur->data; | 428 GaimSavedStatus *saved_status = cur->data; |
429 time_t creation_time = gaim_savedstatus_get_creation_time(saved_status); | |
417 gaim_new_item_from_stock(menu, | 430 gaim_new_item_from_stock(menu, |
418 gaim_savedstatus_get_title(saved_status), | 431 gaim_savedstatus_get_title(saved_status), |
419 GAIM_STOCK_ICON_AWAY, NULL /* TODO */, NULL, 0, 0, NULL); | 432 GAIM_STOCK_ICON_AWAY, G_CALLBACK(activate_saved_status_cb), |
433 GINT_TO_POINTER(creation_time), 0, 0, NULL); | |
420 } | 434 } |
421 g_list_free(popular_statuses); | 435 g_list_free(popular_statuses); |
422 | 436 |
423 gaim_separator(menu); | 437 gaim_separator(menu); |
424 | 438 |