Mercurial > pidgin
comparison src/gtkblist.c @ 11988:9ccbd9f8e8c6
[gaim-migrate @ 14281]
Put the priority buddy in a contact at the top of the tooltip, and
de-sensitize some chat related things when no accounts supporting chats
are connected
committer: Tailor Script <tailor@pidgin.im>
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sun, 06 Nov 2005 19:16:32 +0000 |
parents | bfbb1798535e |
children | 24c7fb94d3a3 |
comparison
equal
deleted
inserted
replaced
11987:831e52ceddf3 | 11988:9ccbd9f8e8c6 |
---|---|
1012 | 1012 |
1013 static GtkWidget * | 1013 static GtkWidget * |
1014 create_group_menu (GaimBlistNode *node, GaimGroup *g) | 1014 create_group_menu (GaimBlistNode *node, GaimGroup *g) |
1015 { | 1015 { |
1016 GtkWidget *menu; | 1016 GtkWidget *menu; |
1017 GtkWidget *item; | |
1017 | 1018 |
1018 menu = gtk_menu_new(); | 1019 menu = gtk_menu_new(); |
1019 gaim_new_item_from_stock(menu, _("Add a _Buddy"), GTK_STOCK_ADD, | 1020 gaim_new_item_from_stock(menu, _("Add a _Buddy"), GTK_STOCK_ADD, |
1020 G_CALLBACK(gaim_gtk_blist_add_buddy_cb), node, 0, 0, NULL); | 1021 G_CALLBACK(gaim_gtk_blist_add_buddy_cb), node, 0, 0, NULL); |
1021 gaim_new_item_from_stock(menu, _("Add a C_hat"), GTK_STOCK_ADD, | 1022 item = gaim_new_item_from_stock(menu, _("Add a C_hat"), GTK_STOCK_ADD, |
1022 G_CALLBACK(gaim_gtk_blist_add_chat_cb), node, 0, 0, NULL); | 1023 G_CALLBACK(gaim_gtk_blist_add_chat_cb), node, 0, 0, NULL); |
1024 gtk_widget_set_sensitive(item, gaim_gtk_blist_joinchat_is_showable()); | |
1023 gaim_new_item_from_stock(menu, _("_Delete Group"), GTK_STOCK_REMOVE, | 1025 gaim_new_item_from_stock(menu, _("_Delete Group"), GTK_STOCK_REMOVE, |
1024 G_CALLBACK(gaim_gtk_blist_remove_cb), node, 0, 0, NULL); | 1026 G_CALLBACK(gaim_gtk_blist_remove_cb), node, 0, 0, NULL); |
1025 gaim_new_item_from_stock(menu, _("_Rename"), NULL, | 1027 gaim_new_item_from_stock(menu, _("_Rename"), NULL, |
1026 G_CALLBACK(gtk_blist_menu_alias_cb), node, 0, 0, NULL); | 1028 G_CALLBACK(gtk_blist_menu_alias_cb), node, 0, 0, NULL); |
1027 | 1029 |
2177 gtkblist->tooltipdata = g_list_append(gtkblist->tooltipdata, td); | 2179 gtkblist->tooltipdata = g_list_append(gtkblist->tooltipdata, td); |
2178 w = td->width; | 2180 w = td->width; |
2179 h = td->height; | 2181 h = td->height; |
2180 } else if(GAIM_BLIST_NODE_IS_CONTACT(node)) { | 2182 } else if(GAIM_BLIST_NODE_IS_CONTACT(node)) { |
2181 GaimBlistNode *child; | 2183 GaimBlistNode *child; |
2184 GaimBuddy *b = gaim_contact_get_priority_buddy((GaimContact *)node); | |
2182 w = h = 0; | 2185 w = h = 0; |
2183 for(child = node->child; child; child = child->next) | 2186 for(child = node->child; child; child = child->next) |
2184 { | 2187 { |
2185 if(GAIM_BLIST_NODE_IS_BUDDY(child) && buddy_is_displayable((GaimBuddy*)child)) { | 2188 if(GAIM_BLIST_NODE_IS_BUDDY(child) && buddy_is_displayable((GaimBuddy*)child)) { |
2186 struct tooltip_data *td = create_tip_for_node(child); | 2189 struct tooltip_data *td = create_tip_for_node(child); |
2187 gtkblist->tooltipdata = g_list_append(gtkblist->tooltipdata, td); | 2190 if (b == (GaimBuddy *)child) { |
2191 gtkblist->tooltipdata = g_list_prepend(gtkblist->tooltipdata, td); | |
2192 } else { | |
2193 gtkblist->tooltipdata = g_list_append(gtkblist->tooltipdata, td); | |
2194 } | |
2188 w = MAX(w, td->width); | 2195 w = MAX(w, td->width); |
2189 h += td->height; | 2196 h += td->height; |
2190 } | 2197 } |
2191 } | 2198 } |
2192 } else { | 2199 } else { |
3047 } | 3054 } |
3048 | 3055 |
3049 widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Buddies/Join a Chat...")); | 3056 widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Buddies/Join a Chat...")); |
3050 gtk_widget_set_sensitive(widget, gaim_gtk_blist_joinchat_is_showable()); | 3057 gtk_widget_set_sensitive(widget, gaim_gtk_blist_joinchat_is_showable()); |
3051 | 3058 |
3059 widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Buddies/Add Chat...")); | |
3060 gtk_widget_set_sensitive(widget, gaim_gtk_blist_joinchat_is_showable()); | |
3061 | |
3052 widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Room List")); | 3062 widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Room List")); |
3053 gtk_widget_set_sensitive(widget, gaim_gtk_roomlist_is_showable()); | 3063 gtk_widget_set_sensitive(widget, gaim_gtk_roomlist_is_showable()); |
3054 | 3064 |
3055 widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Privacy")); | 3065 widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Privacy")); |
3056 gtk_widget_set_sensitive(widget, gaim_gtk_privacy_is_showable()); | 3066 gtk_widget_set_sensitive(widget, gaim_gtk_privacy_is_showable()); |