Mercurial > pidgin
comparison src/gtkconv.c @ 12008:91aaa1b3ac30
[gaim-migrate @ 14301]
sf patch #1348466, from Sadrul Habib Chowdhury
Add a tooltip for the typing notification icons (and any other icon
in the gtkmenutray)
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 08 Nov 2005 23:34:54 +0000 |
parents | 2af814f836e6 |
children | 16f75a4d9fec |
comparison
equal
deleted
inserted
replaced
12007:8724718d387f | 12008:91aaa1b3ac30 |
---|---|
2579 update_typing_icon(GaimGtkConversation *gtkconv) | 2579 update_typing_icon(GaimGtkConversation *gtkconv) |
2580 { | 2580 { |
2581 GaimGtkWindow *gtkwin; | 2581 GaimGtkWindow *gtkwin; |
2582 GaimConvIm *im = NULL; | 2582 GaimConvIm *im = NULL; |
2583 GaimConversation *conv = gtkconv->active_conv; | 2583 GaimConversation *conv = gtkconv->active_conv; |
2584 char *stock_id, *tooltip; | |
2584 | 2585 |
2585 gtkwin = gtkconv->win; | 2586 gtkwin = gtkconv->win; |
2586 | 2587 |
2587 if(gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) | 2588 if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) |
2588 im = GAIM_CONV_IM(conv); | 2589 im = GAIM_CONV_IM(conv); |
2589 | 2590 |
2590 if(gtkwin->menu.typing_icon) { | 2591 if (gtkwin->menu.typing_icon) { |
2591 gtk_widget_destroy(gtkwin->menu.typing_icon); | 2592 gtk_widget_hide(gtkwin->menu.typing_icon); |
2592 gtkwin->menu.typing_icon = NULL; | 2593 } |
2593 } | 2594 |
2594 | 2595 if (!im || (gaim_conv_im_get_typing_state(im) == GAIM_NOT_TYPING)) |
2595 if(im && gaim_conv_im_get_typing_state(im) == GAIM_TYPING) { | 2596 return; |
2596 gtkwin->menu.typing_icon = | 2597 |
2597 gtk_image_new_from_stock(GAIM_STOCK_TYPING, GTK_ICON_SIZE_MENU); | 2598 if (gaim_conv_im_get_typing_state(im) == GAIM_TYPING) { |
2598 gtk_tooltips_set_tip(gtkconv->tooltips, gtkwin->menu.typing_icon, | 2599 stock_id = GAIM_STOCK_TYPING; |
2599 _("User is typing..."), NULL); | 2600 tooltip = _("User is typing..."); |
2600 } else if(im && gaim_conv_im_get_typing_state(im) == GAIM_TYPED) { | 2601 } else { |
2601 gtkwin->menu.typing_icon = | 2602 stock_id = GAIM_STOCK_TYPED; |
2602 gtk_image_new_from_stock(GAIM_STOCK_TYPED, GTK_ICON_SIZE_MENU); | 2603 tooltip = _("User has typed something and stopped"); |
2603 gtk_tooltips_set_tip(gtkconv->tooltips, gtkwin->menu.typing_icon, | 2604 } |
2604 _("User has typed something and paused"), NULL); | 2605 |
2605 } | 2606 if (gtkwin->menu.typing_icon == NULL) |
2606 | 2607 { |
2607 if(gtkwin->menu.typing_icon) { | 2608 gtkwin->menu.typing_icon = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_MENU); |
2608 gtk_widget_show(gtkwin->menu.typing_icon); | |
2609 gaim_gtk_menu_tray_append(GAIM_GTK_MENU_TRAY(gtkwin->menu.tray), | 2609 gaim_gtk_menu_tray_append(GAIM_GTK_MENU_TRAY(gtkwin->menu.tray), |
2610 gtkwin->menu.typing_icon, | 2610 gtkwin->menu.typing_icon, |
2611 _("The buddy is typing a message")); | 2611 tooltip); |
2612 } | 2612 } |
2613 else | |
2614 { | |
2615 gtk_image_set_from_stock(GTK_IMAGE(gtkwin->menu.typing_icon), stock_id, GTK_ICON_SIZE_MENU); | |
2616 gaim_gtk_menu_tray_set_tooltip(GAIM_GTK_MENU_TRAY(gtkwin->menu.tray), | |
2617 gtkwin->menu.typing_icon, | |
2618 tooltip); | |
2619 } | |
2620 | |
2621 gtk_widget_show(gtkwin->menu.typing_icon); | |
2613 } | 2622 } |
2614 | 2623 |
2615 static gboolean | 2624 static gboolean |
2616 update_send_to_selection(GaimGtkWindow *win) | 2625 update_send_to_selection(GaimGtkWindow *win) |
2617 { | 2626 { |