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