| 94 cell we're currently hovering over. This is |
94 cell we're currently hovering over. This is |
| 95 used for tooltips. */ |
95 used for tooltips. */ |
| 96 GdkRectangle contact_rect; /**< This is the bounding rectangle of the contact node |
96 GdkRectangle contact_rect; /**< This is the bounding rectangle of the contact node |
| 97 and its children. This is used for auto-expand on |
97 and its children. This is used for auto-expand on |
| 98 mouseover. */ |
98 mouseover. */ |
| 99 PurpleBlistNode *mouseover_contact; /**< This is the contact currently mouse-over expanded */ |
99 PurpleBListNode *mouseover_contact; /**< This is the contact currently mouse-over expanded */ |
| 100 |
100 |
| 101 GtkWidget *tipwindow; /**< The window used by the tooltip */ |
101 GtkWidget *tipwindow; /**< The window used by the tooltip */ |
| 102 GList *tooltipdata; /**< The data for each "chunk" of the tooltip */ |
102 GList *tooltipdata; /**< The data for each "chunk" of the tooltip */ |
| 103 |
103 |
| 104 PurpleBlistNode *selected_node; /**< The currently selected node */ |
104 PurpleBListNode *selected_node; /**< The currently selected node */ |
| 105 |
105 |
| 106 GtkWidget *scrollbook; /**< Scrollbook for alerts */ |
106 GtkWidget *scrollbook; /**< Scrollbook for alerts */ |
| 107 GtkWidget *headline; /**< Widget for headline notifications */ |
107 GtkWidget *headline; /**< Widget for headline notifications */ |
| 108 GtkWidget *headline_label; /**< Label for headline notifications */ |
108 GtkWidget *headline_label; /**< Label for headline notifications */ |
| 109 GtkWidget *headline_image; /**< Image for headline notifications */ |
109 GtkWidget *headline_image; /**< Image for headline notifications */ |
| 191 * @param node The node to return an emblem for |
191 * @param node The node to return an emblem for |
| 192 * |
192 * |
| 193 * @return A GdkPixbuf for the emblem to show, or NULL |
193 * @return A GdkPixbuf for the emblem to show, or NULL |
| 194 */ |
194 */ |
| 195 GdkPixbuf * |
195 GdkPixbuf * |
| 196 pidgin_blist_get_emblem(PurpleBlistNode *node); |
196 pidgin_blist_get_emblem(PurpleBListNode *node); |
| 197 |
197 |
| 198 /** |
198 /** |
| 199 * Useful for the buddy ticker |
199 * Useful for the buddy ticker |
| 200 */ |
200 */ |
| 201 GdkPixbuf *pidgin_blist_get_status_icon(PurpleBlistNode *node, |
201 GdkPixbuf *pidgin_blist_get_status_icon(PurpleBListNode *node, |
| 202 PidginStatusIconSize size); |
202 PidginStatusIconSize size); |
| 203 |
203 |
| 204 /** |
204 /** |
| 205 * Returns a boolean indicating if @a node is part of an expanded contact. |
205 * Returns a boolean indicating if @a node is part of an expanded contact. |
| 206 * |
206 * |
| 208 * for other types of nodes. |
208 * for other types of nodes. |
| 209 * |
209 * |
| 210 * @param node The node in question. |
210 * @param node The node in question. |
| 211 * @return A boolean indicating if @a node is part of an expanded contact. |
211 * @return A boolean indicating if @a node is part of an expanded contact. |
| 212 */ |
212 */ |
| 213 gboolean pidgin_blist_node_is_contact_expanded(PurpleBlistNode *node); |
213 gboolean pidgin_blist_node_is_contact_expanded(PurpleBListNode *node); |
| 214 |
214 |
| 215 /** |
215 /** |
| 216 * Intelligently toggles the visibility of the buddy list. If the buddy |
216 * Intelligently toggles the visibility of the buddy list. If the buddy |
| 217 * list is obscured, it is brought to the front. If it is not obscured, |
217 * list is obscured, it is brought to the front. If it is not obscured, |
| 218 * it is hidden. If it is hidden it is shown. |
218 * it is hidden. If it is hidden it is shown. |
| 258 |
258 |
| 259 /************************************************************************** |
259 /************************************************************************** |
| 260 * @name GTK+ Buddy List sorting functions |
260 * @name GTK+ Buddy List sorting functions |
| 261 **************************************************************************/ |
261 **************************************************************************/ |
| 262 |
262 |
| 263 typedef void (*pidgin_blist_sort_function)(PurpleBlistNode *new, PurpleBuddyList *blist, GtkTreeIter group, GtkTreeIter *cur, GtkTreeIter *iter); |
263 typedef void (*pidgin_blist_sort_function)(PurpleBListNode *new, PurpleBuddyList *blist, GtkTreeIter group, GtkTreeIter *cur, GtkTreeIter *iter); |
| 264 |
264 |
| 265 /** |
265 /** |
| 266 * Gets the current list of sort methods. |
266 * Gets the current list of sort methods. |
| 267 * |
267 * |
| 268 * @return A GSlist of sort methods |
268 * @return A GSlist of sort methods |
| 333 * Shows the join chat dialog. |
333 * Shows the join chat dialog. |
| 334 */ |
334 */ |
| 335 void pidgin_blist_joinchat_show(void); |
335 void pidgin_blist_joinchat_show(void); |
| 336 |
336 |
| 337 /** |
337 /** |
| 338 * Appends the privacy menu items for a PurpleBlistNode |
338 * Appends the privacy menu items for a PurpleBListNode |
| 339 * TODO: Rename these. |
339 * TODO: Rename these. |
| 340 */ |
340 */ |
| 341 void pidgin_append_blist_node_privacy_menu(GtkWidget *menu, PurpleBlistNode *node); |
341 void pidgin_append_blist_node_privacy_menu(GtkWidget *menu, PurpleBListNode *node); |
| 342 |
342 |
| 343 /** |
343 /** |
| 344 * Appends the protocol specific menu items for a PurpleBlistNode |
344 * Appends the protocol specific menu items for a PurpleBListNode |
| 345 * TODO: Rename these. |
345 * TODO: Rename these. |
| 346 */ |
346 */ |
| 347 void pidgin_append_blist_node_proto_menu (GtkWidget *menu, PurpleConnection *gc, PurpleBlistNode *node); |
347 void pidgin_append_blist_node_proto_menu (GtkWidget *menu, PurpleConnection *gc, PurpleBListNode *node); |
| 348 |
348 |
| 349 /** |
349 /** |
| 350 * Appends the extended menu items for a PurpleBlistNode |
350 * Appends the extended menu items for a PurpleBListNode |
| 351 * TODO: Rename these. |
351 * TODO: Rename these. |
| 352 */ |
352 */ |
| 353 void pidgin_append_blist_node_extended_menu(GtkWidget *menu, PurpleBlistNode *node); |
353 void pidgin_append_blist_node_extended_menu(GtkWidget *menu, PurpleBListNode *node); |
| 354 |
354 |
| 355 /** |
355 /** |
| 356 * Sets a headline notification |
356 * Sets a headline notification |
| 357 * |
357 * |
| 358 * This is currently used for mail notification, but could theoretically be used for anything. |
358 * This is currently used for mail notification, but could theoretically be used for anything. |
| 384 * is called |
384 * is called |
| 385 * |
385 * |
| 386 * @param node The buddy list node to show a tooltip for |
386 * @param node The buddy list node to show a tooltip for |
| 387 * @param widget The widget to draw the tooltip on |
387 * @param widget The widget to draw the tooltip on |
| 388 */ |
388 */ |
| 389 void pidgin_blist_draw_tooltip(PurpleBlistNode *node, GtkWidget *widget); |
389 void pidgin_blist_draw_tooltip(PurpleBListNode *node, GtkWidget *widget); |
| 390 |
390 |
| 391 /** |
391 /** |
| 392 * Destroys the current (if any) Buddy List tooltip |
392 * Destroys the current (if any) Buddy List tooltip |
| 393 */ |
393 */ |
| 394 void pidgin_blist_tooltip_destroy(void); |
394 void pidgin_blist_tooltip_destroy(void); |