annotate src/gtkblist.h @ 12116:e75ef7aa913e

[gaim-migrate @ 14416] " This patch implements a replacement for the queuing system from 1.x. It also obsoletes a previous patch [#1338873] I submitted to prioritize the unseen states in gtk conversations. The attached envelope.png is ripped from the msgunread.png already included in gaim. It should be dropped in the pixmaps directory (Makefile.am is updated accordingly in this patch). The two separate queuing preferences from 1.x, queuing messages while away and queuing all new messages (from docklet), are replaced with a single 3-way preference for conversations. The new preference is "Hide new IM conversations". This preference can be set to never, away and always. When a gtk conversation is created, it may be placed in a hidden conversation window instead of being placed normally. This decision is based upon the preference and possibly the away state of the account the conversation is being created for. This *will* effect conversations the user explicitly requests to be created, so in these cases the caller must be sure to present the conversation to the user, using gaim_gtkconv_present_conversation(). This is done already in gtkdialogs.c which handles creating conversations requested by the user from gaim proper (menus, double-clicking on budy in blist, etc.). The main advantage to not queuing messages is that the conversations exist, the message is written to the conversation (and logged if appropriate) and the unseen state is set on the conversation. This means no additional features are needed to track whether there are queued messages or not, just use the unseen state on conversations. Since conversations may not be visible (messages "queued"), gaim proper needs some notification that there are messages waiting. I opted for a menutray icon that shows up when an im conversation has an unseen message. Clicking this icon will focus (and show if hidden) the first conversation with an unseen message. This is essentially the same behavior of the docklet in cvs right now, except that the icon is only visible when there is a conversation with an unread message. The api that is added is flexible enough to allow either the docklet or the new blist menutray icon to be visible for conversations of any/all types and for unseen messages >= any state. Currently they are set to only IM conversations and only unseen states >= TEXT (system messages and no log messages will not trigger blinking the docklet or showing the blist tray icon), but these could be made preferences relatively easily in the future. Other plugins could probably benefit as well: gaim_gtk_conversations_get_first_unseen(). There is probably some limit to comment size, so I'll stop rambling now. If anyone has more questions/comments, catch me in #gaim, here or on gaim-devel." committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 16 Nov 2005 18:17:01 +0000
parents 3b52d94437f3
children 370f9d7868f9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
5248
d635e8fe2fba [gaim-migrate @ 5620]
Mark Doliner <mark@kingant.net>
parents: 5234
diff changeset
2 * @file gtkblist.h GTK+ Buddy List API
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup gtkui
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
8046
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7636
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7636
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7636
diff changeset
9 * source distribution.
5906
390d32a6b130 [gaim-migrate @ 6338]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
10 *
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 */
9713
db62420a53a2 [gaim-migrate @ 10574]
Mark Doliner <mark@kingant.net>
parents: 9051
diff changeset
25 #ifndef _GAIM_GTKBLIST_H_
db62420a53a2 [gaim-migrate @ 10574]
Mark Doliner <mark@kingant.net>
parents: 9051
diff changeset
26 #define _GAIM_GTKBLIST_H_
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
10008
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9791
diff changeset
28 typedef struct _GaimGtkBuddyList GaimGtkBuddyList;
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5631
diff changeset
29
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 enum {
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 STATUS_ICON_COLUMN,
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 STATUS_ICON_VISIBLE_COLUMN,
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 NAME_COLUMN,
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 IDLE_COLUMN,
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 BUDDY_ICON_COLUMN,
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 NODE_COLUMN,
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 BLIST_COLUMNS
10008
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9791
diff changeset
38
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9791
diff changeset
39 };
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 typedef enum {
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42 GAIM_STATUS_ICON_LARGE,
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 GAIM_STATUS_ICON_SMALL
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
44
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 } GaimStatusIconSize;
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
46
10008
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9791
diff changeset
47 #include "gtkgaim.h"
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9791
diff changeset
48 #include "blist.h"
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9791
diff changeset
49
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 /**************************************************************************
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 * @name Structures
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 **************************************************************************/
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 /**
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 * Like, everything you need to know about the gtk buddy list
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 */
10008
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9791
diff changeset
56 struct _GaimGtkBuddyList {
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57 GtkWidget *window;
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58 GtkWidget *vbox; /**< This is the vbox that everything gets packed into. Your plugin might
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 want to pack something in it itself. Go, plugins! */
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61 GtkWidget *treeview; /**< It's a treeview... d'uh. */
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62 GtkTreeStore *treemodel; /**< This is the treemodel. */
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 5936
diff changeset
63 GtkTreeViewColumn *idle_column,
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 5936
diff changeset
64 *warning_column,
11016
6417b2f5de4e [gaim-migrate @ 12885]
Sean Egan <seanegan@gmail.com>
parents: 10884
diff changeset
65 *buddy_icon_column,
6417b2f5de4e [gaim-migrate @ 12885]
Sean Egan <seanegan@gmail.com>
parents: 10884
diff changeset
66 *text_column;
6417b2f5de4e [gaim-migrate @ 12885]
Sean Egan <seanegan@gmail.com>
parents: 10884
diff changeset
67
6417b2f5de4e [gaim-migrate @ 12885]
Sean Egan <seanegan@gmail.com>
parents: 10884
diff changeset
68 GtkCellRenderer *text_rend;
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69
5427
04e1e40b99b0 [gaim-migrate @ 5806]
Mark Doliner <mark@kingant.net>
parents: 5422
diff changeset
70 GtkItemFactory *ift;
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 GtkWidget *bpmenu; /**< The buddy pounce menu. */
12116
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12080
diff changeset
72 GtkWidget *menutray; /**< The menu tray widget. */
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12080
diff changeset
73 GtkWidget *menutrayicon; /**< The menu tray icon. */
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 guint refresh_timer; /**< The timer for refreshing every 30 seconds */
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 guint timeout; /**< The timeout for the tooltip. */
10354
0c985021a1d8 [gaim-migrate @ 11571]
Sean Egan <seanegan@gmail.com>
parents: 10079
diff changeset
78 guint drag_timeout; /**< The timeout for expanding contacts on drags */
7636
01c1b3ea70c6 [gaim-migrate @ 8278]
Sean Egan <seanegan@gmail.com>
parents: 7304
diff changeset
79 GdkRectangle tip_rect; /**< This is the bounding rectangle of the
01c1b3ea70c6 [gaim-migrate @ 8278]
Sean Egan <seanegan@gmail.com>
parents: 7304
diff changeset
80 cell we're currently hovering over. This is
01c1b3ea70c6 [gaim-migrate @ 8278]
Sean Egan <seanegan@gmail.com>
parents: 7304
diff changeset
81 used for tooltips. */
01c1b3ea70c6 [gaim-migrate @ 8278]
Sean Egan <seanegan@gmail.com>
parents: 7304
diff changeset
82 GdkRectangle contact_rect; /**< This is the bounding rectangle of the contact node
01c1b3ea70c6 [gaim-migrate @ 8278]
Sean Egan <seanegan@gmail.com>
parents: 7304
diff changeset
83 and its children. This is used for auto-expand on
01c1b3ea70c6 [gaim-migrate @ 8278]
Sean Egan <seanegan@gmail.com>
parents: 7304
diff changeset
84 mouseover. */
01c1b3ea70c6 [gaim-migrate @ 8278]
Sean Egan <seanegan@gmail.com>
parents: 7304
diff changeset
85 GaimBlistNode *mouseover_contact; /**< This is the contact currently mouse-over expanded */
01c1b3ea70c6 [gaim-migrate @ 8278]
Sean Egan <seanegan@gmail.com>
parents: 7304
diff changeset
86
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 GtkWidget *tipwindow; /**< The window used by the tooltip */
11890
fdb78734e2ae [gaim-migrate @ 14181]
Nathan Walp <nwalp@pidgin.im>
parents: 11796
diff changeset
88 GList *tooltipdata; /**< The data for each "chunk" of the tooltip */
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90 GaimBlistNode *selected_node; /**< The currently selected node */
10643
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
91 GtkWidget *statusbox; /**< The status selector dropdown */
11732
03c813a42c76 [gaim-migrate @ 14023]
Tim Ringenbach <marv@pidgin.im>
parents: 11709
diff changeset
92 GtkWidget *statusboxbox; /**< A box to hold per account status boxes */
03c813a42c76 [gaim-migrate @ 14023]
Tim Ringenbach <marv@pidgin.im>
parents: 11709
diff changeset
93 GList *statusboxes; /**< A list of the per account status boxes */
7304
52cf473a0103 [gaim-migrate @ 7888]
Sean Egan <seanegan@gmail.com>
parents: 7098
diff changeset
94 GdkPixbuf *east, *south; /**< Drop shadow stuff */
52cf473a0103 [gaim-migrate @ 7888]
Sean Egan <seanegan@gmail.com>
parents: 7098
diff changeset
95 GdkWindow *east_shadow, *south_shadow; /**< Drop shadow stuff */
52cf473a0103 [gaim-migrate @ 7888]
Sean Egan <seanegan@gmail.com>
parents: 7098
diff changeset
96
10008
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9791
diff changeset
97 };
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
98
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
99 #define GAIM_GTK_BLIST(list) ((GaimGtkBuddyList *)(list)->ui_data)
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
100 #define GAIM_IS_GTK_BLIST(list) \
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
101 ((list)->ui_ops == gaim_gtk_blist_get_ui_ops())
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
103 /**************************************************************************
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
104 * @name GTK+ Buddy List API
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
105 **************************************************************************/
5906
390d32a6b130 [gaim-migrate @ 6338]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
106
390d32a6b130 [gaim-migrate @ 6338]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
107 /**
8815
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
108 * Get the handle for the GTK+ blist system.
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
109 *
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
110 * @return the handle to the blist system
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
111 */
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
112 void *gaim_gtk_blist_get_handle();
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
113
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
114 /**
5906
390d32a6b130 [gaim-migrate @ 6338]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
115 * Initializes the GTK+ blist system.
390d32a6b130 [gaim-migrate @ 6338]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
116 */
390d32a6b130 [gaim-migrate @ 6338]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
117 void gaim_gtk_blist_init(void);
390d32a6b130 [gaim-migrate @ 6338]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
118
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
119 /**
8815
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
120 * Uninitializes the GTK+ blist system.
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
121 */
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
122 void gaim_gtk_blist_uninit(void);
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
123
ada0cf2f49fe [gaim-migrate @ 9577]
Luke Schierer <lschiere@pidgin.im>
parents: 8305
diff changeset
124 /**
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125 * Returns the UI operations structure for the buddy list.
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 *
10814
364a2ef907ae [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10643
diff changeset
127 * @return The GTK+ list operations structure.
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
128 */
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
129 GaimBlistUiOps *gaim_gtk_blist_get_ui_ops(void);
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131 /**
10643
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
132 * Returns the default gtk buddy list
11732
03c813a42c76 [gaim-migrate @ 14023]
Tim Ringenbach <marv@pidgin.im>
parents: 11709
diff changeset
133 *
10643
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
134 * There's normally only one buddy list window, but that isn't a necessity. This function
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
135 * returns the GaimGtkBuddyList we're most likely wanting to work with. This is slightly
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
136 * cleaner than an externed global.
11732
03c813a42c76 [gaim-migrate @ 14023]
Tim Ringenbach <marv@pidgin.im>
parents: 11709
diff changeset
137 *
10814
364a2ef907ae [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10643
diff changeset
138 * @return The default GTK+ buddy list
10643
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
139 */
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
140 GaimGtkBuddyList *gaim_gtk_blist_get_default_gtk_blist();
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
141
868aafbe859b [gaim-migrate @ 12153]
Sean Egan <seanegan@gmail.com>
parents: 10484
diff changeset
142 /**
9774
ec6ff57d7b06 [gaim-migrate @ 10642]
Luke Schierer <lschiere@pidgin.im>
parents: 9713
diff changeset
143 * Populates a menu with the items shown on the buddy list for a buddy.
ec6ff57d7b06 [gaim-migrate @ 10642]
Luke Schierer <lschiere@pidgin.im>
parents: 9713
diff changeset
144 *
ec6ff57d7b06 [gaim-migrate @ 10642]
Luke Schierer <lschiere@pidgin.im>
parents: 9713
diff changeset
145 * @param menu The menu to populate
ec6ff57d7b06 [gaim-migrate @ 10642]
Luke Schierer <lschiere@pidgin.im>
parents: 9713
diff changeset
146 * @param buddy The buddy who's menu to get
10484
ec82cbb21fe8 [gaim-migrate @ 11774]
Nathan Walp <nwalp@pidgin.im>
parents: 10354
diff changeset
147 * @param sub TRUE if this is a sub-menu, FALSE otherwise
9774
ec6ff57d7b06 [gaim-migrate @ 10642]
Luke Schierer <lschiere@pidgin.im>
parents: 9713
diff changeset
148 */
10484
ec82cbb21fe8 [gaim-migrate @ 11774]
Nathan Walp <nwalp@pidgin.im>
parents: 10354
diff changeset
149 void gaim_gtk_blist_make_buddy_menu(GtkWidget *menu, GaimBuddy *buddy, gboolean sub);
9774
ec6ff57d7b06 [gaim-migrate @ 10642]
Luke Schierer <lschiere@pidgin.im>
parents: 9713
diff changeset
150
ec6ff57d7b06 [gaim-migrate @ 10642]
Luke Schierer <lschiere@pidgin.im>
parents: 9713
diff changeset
151 /**
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
152 * Refreshes all the nodes of the buddy list.
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
153 * This should only be called when something changes to affect most of the nodes (such as a ui preference changing)
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
154 *
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
155 * @param list This is the core list that gets updated from
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
156 */
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
157 void gaim_gtk_blist_refresh(GaimBuddyList *list);
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
158
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
159 /**
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
160 * Tells the buddy list to update its toolbar based on the preferences
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161 *
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
162 */
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
163 void gaim_gtk_blist_update_toolbar();
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
164
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165 void gaim_gtk_blist_update_columns();
5411
2c4188300aba [gaim-migrate @ 5787]
Mark Doliner <mark@kingant.net>
parents: 5248
diff changeset
166 void gaim_gtk_blist_update_refresh_timeout();
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
167
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
168 /**
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
169 * Useful for the buddy ticker
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
170 */
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5228
diff changeset
171 GdkPixbuf *gaim_gtk_blist_get_status_icon(GaimBlistNode *node,
5228
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
172 GaimStatusIconSize size);
1a53330dfd34 [gaim-migrate @ 5598]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173
11018
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
174 /**
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
175 * Returns a boolean indicating if @a node is part of an expanded contact.
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
176 *
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
177 * This only makes sense for contact and buddy nodes. @c FALSE is returned
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
178 * for other types of nodes.
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
179 *
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
180 * @param node The node in question.
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
181 * @return A boolean indicating if @a node is part of an expanded contact.
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
182 */
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
183 gboolean gaim_gtk_blist_node_is_contact_expanded(GaimBlistNode *node);
04f280376f06 [gaim-migrate @ 12888]
Mark Doliner <mark@kingant.net>
parents: 11016
diff changeset
184
12017
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
185 /**
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
186 * Intelligently toggles the visibility of the buddy list. If the buddy
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
187 * list is obscured, it is brought to the front. If it is not obscured,
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
188 * it is hidden. If it is hidden it is shown.
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
189 */
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
190 void gaim_gtk_blist_toggle_visibility();
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
191
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
192 /**
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
193 * Increases the reference count of visibility managers. Callers should
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
194 * call the complementary remove function when no longer managing
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
195 * visibility.
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
196 *
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
197 * A visibility manager is something that provides some method for
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
198 * showing the buddy list after it is hidden (e.g. docklet plugin).
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
199 */
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
200 void gaim_gtk_blist_visibility_manager_add();
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
201
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
202 /**
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
203 * Decreases the reference count of visibility managers. If the count
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
204 * drops below zero, the buddy list is shown.
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
205 */
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
206 void gaim_gtk_blist_visibility_manager_remove();
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
207
2b6e0be024fb [gaim-migrate @ 14310]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11890
diff changeset
208
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
209 /**************************************************************************
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
210 * @name GTK+ Buddy List sorting functions
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
211 **************************************************************************/
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
212
7098
770233dad86c [gaim-migrate @ 7663]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
213 typedef GtkTreeIter (*gaim_gtk_blist_sort_function)(GaimBlistNode *new, GaimBuddyList *blist, GtkTreeIter group, GtkTreeIter *cur);
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
214
11796
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
215 /**
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
216 * Gets the current list of sort methods.
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
217 *
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
218 * @return A GSlist of sort methods
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
219 */
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
220 GList *gaim_gtk_blist_get_sort_methods();
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
221
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
222 struct gaim_gtk_blist_sort_method {
5631
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5563
diff changeset
223 char *id;
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
224 char *name;
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
225 gaim_gtk_blist_sort_function func;
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
226 };
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
227
11796
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
228 typedef struct gaim_gtk_blist_sort_method GaimGtkBlistSortMethod;
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
229
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
230 /**
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
231 * Registers a buddy list sorting method.
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
232 *
5631
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5563
diff changeset
233 * @param id The unique ID of the sorting method
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
234 * @param name The method's name.
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
235 * @param func A pointer to the function.
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
236 *
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
237 */
5631
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5563
diff changeset
238 void gaim_gtk_blist_sort_method_reg(const char *id, const char *name, gaim_gtk_blist_sort_function func);
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
239
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
240 /**
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
241 * Unregisters a buddy list sorting method.
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
242 *
5631
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5563
diff changeset
243 * @param id The method's id
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
244 */
5631
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5563
diff changeset
245 void gaim_gtk_blist_sort_method_unreg(const char *id);
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
246
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
247 /**
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
248 * Sets a buddy list sorting method.
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
249 *
5631
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5563
diff changeset
250 * @param id The method's id.
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
251 */
5631
960fe32ea9b7 [gaim-migrate @ 6038]
Nathan Walp <nwalp@pidgin.im>
parents: 5563
diff changeset
252 void gaim_gtk_blist_sort_method_set(const char *id);
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
253
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
254 /**
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
255 * Sets up the programs default sort methods
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
256 */
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
257 void gaim_gtk_blist_setup_sort_methods();
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
258
5936
1b56a833d665 [gaim-migrate @ 6376]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
259 /**
1b56a833d665 [gaim-migrate @ 6376]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
260 * Updates the protocol actions menu on the GTK+ buddy list window.
1b56a833d665 [gaim-migrate @ 6376]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
261 */
1b56a833d665 [gaim-migrate @ 6376]
Christian Hammond <chipx86@chipx86.com>
parents: 5906
diff changeset
262 void gaim_gtk_blist_update_protocol_actions();
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
263
8305
57bdd25752c1 [gaim-migrate @ 9029]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
264 /**
8986
8cf32769ba1b [gaim-migrate @ 9761]
Luke Schierer <lschiere@pidgin.im>
parents: 8940
diff changeset
265 * Updates the plugin actions menu on the GTK+ buddy list window.
8cf32769ba1b [gaim-migrate @ 9761]
Luke Schierer <lschiere@pidgin.im>
parents: 8940
diff changeset
266 */
8cf32769ba1b [gaim-migrate @ 9761]
Luke Schierer <lschiere@pidgin.im>
parents: 8940
diff changeset
267 void gaim_gtk_blist_update_plugin_actions();
8cf32769ba1b [gaim-migrate @ 9761]
Luke Schierer <lschiere@pidgin.im>
parents: 8940
diff changeset
268
8cf32769ba1b [gaim-migrate @ 9761]
Luke Schierer <lschiere@pidgin.im>
parents: 8940
diff changeset
269 /**
11796
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
270 * Updates the Sorting menu on the GTK+ buddy list window.
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
271 */
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
272 void gaim_gtk_blist_update_sort_methods();
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
273
b9b7a010b043 [gaim-migrate @ 14087]
Sean Egan <seanegan@gmail.com>
parents: 11732
diff changeset
274 /**
8940
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
275 * Determines if showing the join chat dialog is a valid action.
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
276 *
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
277 * @return Returns TRUE if there are accounts online capable of
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
278 * joining chat rooms. Otherwise returns FALSE.
8305
57bdd25752c1 [gaim-migrate @ 9029]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
279 */
8940
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
280 gboolean gaim_gtk_blist_joinchat_is_showable(void);
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
281
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
282 /**
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
283 * Shows the join chat dialog.
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
284 */
b875f5d57b81 [gaim-migrate @ 9710]
Mark Doliner <mark@kingant.net>
parents: 8815
diff changeset
285 void gaim_gtk_blist_joinchat_show(void);
5422
af62169c74fd [gaim-migrate @ 5801]
Sean Egan <seanegan@gmail.com>
parents: 5411
diff changeset
286
9051
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
287 /**
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
288 * Appends the protocol specific menu items for a GaimBlistNode
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
289 */
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
290 void gaim_gtk_append_blist_node_proto_menu (GtkWidget *menu, GaimConnection *gc, GaimBlistNode *node);
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
291
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
292 /**
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
293 * Appends the extended menu items for a GaimBlistNode
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
294 */
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
295 void gaim_gtk_append_blist_node_extended_menu(GtkWidget *menu, GaimBlistNode *node);
826013efffcb [gaim-migrate @ 9827]
Luke Schierer <lschiere@pidgin.im>
parents: 8986
diff changeset
296
9713
db62420a53a2 [gaim-migrate @ 10574]
Mark Doliner <mark@kingant.net>
parents: 9051
diff changeset
297 #endif /* _GAIM_GTKBLIST_H_ */