src/gtkconv.h

Mon, 10 Oct 2005 17:59:48 +0000

author
Stu Tomlinson <nosnilmot@pidgin.im>
date
Mon, 10 Oct 2005 17:59:48 +0000
changeset 11638
1821b40269a3
parent 11614
47ced44a7707
child 11664
050d0caa0832
permissions
-rw-r--r--

[gaim-migrate @ 13914]
Some bits'n'pieces:

A bunch of memory leak fixes

Fix newly created accounts to connect in the currently active global
status

Fix the modify account dialog to only show relevant user options etc.

Update sametime to use some more of the new status stuff, it still
needs more love though.

Some s/online/available/ for consistency across prpls

Fix a racyness in disconnecting connections that want to die (fixes
the Yahoo crash when signing on somewhere else)

Sorry if I caused any conflicts!

4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file gtkconv.h GTK+ Conversation API
5034
077678f7b048 [gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents: 4736
diff changeset
3 * @ingroup gtkui
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7996
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7996
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7996
diff changeset
9 * source distribution.
7326
599c9e8c9da4 [gaim-migrate @ 7912]
Nathan Fredrickson <nathan@silverorange.com>
parents: 7295
diff changeset
10 *
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 */
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9709
diff changeset
25 #ifndef _GAIM_GTKCONVERSATION_H_
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9709
diff changeset
26 #define _GAIM_GTKCONVERSATION_H_
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
28 typedef struct _GaimGtkImPane GaimGtkImPane;
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
29 typedef struct _GaimGtkChatPane GaimGtkChatPane;
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
30 typedef struct _GaimGtkConversation GaimGtkConversation;
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents: 9687
diff changeset
31
9498
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
32 enum {
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
33 CHAT_USERS_ICON_COLUMN,
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11280
diff changeset
34 CHAT_USERS_ALIAS_COLUMN,
9498
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
35 CHAT_USERS_NAME_COLUMN,
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9508
diff changeset
36 CHAT_USERS_FLAGS_COLUMN,
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11280
diff changeset
37 CHAT_USERS_COLOR_COLUMN,
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11280
diff changeset
38 CHAT_USERS_BUDDY_COLUMN,
9498
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
39 CHAT_USERS_COLUMNS
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
40 };
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
41
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
42 #define GAIM_GTK_CONVERSATION(conv) \
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
43 ((GaimGtkConversation *)(conv)->ui_data)
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
44
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
45 #define GAIM_IS_GTK_CONVERSATION(conv) \
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
46 (gaim_conversation_get_ui_ops(conv) == \
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
47 gaim_gtk_conversations_get_conv_ui_ops())
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
48
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
49 #include "gtkgaim.h"
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
50 #include "conversation.h"
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
51 #include "gtkconvwin.h"
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
52
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 /**************************************************************************
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 * @name Structures
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 **************************************************************************/
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
56 /*@{*/
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 * A GTK+ representation of a graphical window containing one or more
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60 * conversations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 /**
7820
06fc9f66d2cb [gaim-migrate @ 8472]
Mark Doliner <markdoliner@pidgin.im>
parents: 7650
diff changeset
64 * A GTK+ Instant Message pane.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
66 struct _GaimGtkImPane
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 GtkWidget *block;
9468
f2108802d596 [gaim-migrate @ 10293]
Daniel Atallah <datallah@pidgin.im>
parents: 9339
diff changeset
69 GtkWidget *send_file;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70 GtkWidget *sep1;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 GtkWidget *sep2;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 GtkWidget *check;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 GtkWidget *progress;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 gboolean a_virgin;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 /* Buddy icon stuff */
9885
af0d918e9262 [gaim-migrate @ 10767]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
78 GtkWidget *icon_container;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 GtkWidget *icon;
9687
489b6b200876 [gaim-migrate @ 10539]
Sean Egan <seanegan@pidgin.im>
parents: 9554
diff changeset
80 gboolean show_icon;
8189
dedf9efe2a1e [gaim-migrate @ 8910]
MBG <chromakode@gmail.com>
parents: 8046
diff changeset
81 gboolean animate;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 GdkPixbufAnimation *anim;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 GdkPixbufAnimationIter *iter;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 guint32 icon_timer;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 * GTK+ Chat panes.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
90 struct _GaimGtkChatPane
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
92 GtkWidget *count;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 GtkWidget *list;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 GtkWidget *topic_text;
10500
b1d1b55682d7 [gaim-migrate @ 11792]
Mark Doliner <markdoliner@pidgin.im>
parents: 10456
diff changeset
95 GtkWidget *userlist_im;
b1d1b55682d7 [gaim-migrate @ 11792]
Mark Doliner <markdoliner@pidgin.im>
parents: 10456
diff changeset
96 GtkWidget *userlist_ignore;
b1d1b55682d7 [gaim-migrate @ 11792]
Mark Doliner <markdoliner@pidgin.im>
parents: 10456
diff changeset
97 GtkWidget *userlist_info;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
98 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
99
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
100 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
101 * A GTK+ conversation pane.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
103 struct _GaimGtkConversation
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
104 {
10810
076e608db319 [gaim-migrate @ 12463]
Tim Ringenbach <marv@pidgin.im>
parents: 10500
diff changeset
105 GaimConversation *active_conv;
076e608db319 [gaim-migrate @ 12463]
Tim Ringenbach <marv@pidgin.im>
parents: 10500
diff changeset
106 GList *convs;
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
107
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
108 GaimGtkWindow *win;
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
109
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
110 gboolean make_sound;
7326
599c9e8c9da4 [gaim-migrate @ 7912]
Nathan Fredrickson <nathan@silverorange.com>
parents: 7295
diff changeset
111 gboolean show_formatting_toolbar;
9188
a399de5ce807 [gaim-migrate @ 9983]
Mark Doliner <markdoliner@pidgin.im>
parents: 9025
diff changeset
112 gboolean show_timestamps;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
113
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
114 GtkTooltips *tooltips;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
115
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
116 GtkWidget *tab_cont;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
117 GtkWidget *tabby;
6771
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
118 GtkWidget *menu_tabby;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
119
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120 GtkWidget *imhtml;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
121 GtkTextBuffer *entry_buffer;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122 GtkWidget *entry;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
123
7930
3005873ac411 [gaim-migrate @ 8601]
Mark Doliner <markdoliner@pidgin.im>
parents: 7887
diff changeset
124 GtkWidget *close; /* "x" on the tab */
6392
3db2b3c7b5aa [gaim-migrate @ 6897]
Christian Hammond <chipx86@chipx86.com>
parents: 5908
diff changeset
125 GtkWidget *icon;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 GtkWidget *tab_label;
6771
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
127 GtkWidget *menu_icon;
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
128 GtkWidget *menu_label;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
129 GtkSizeGroup *sg;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130
9332
9452c2623bd5 [gaim-migrate @ 10140]
Nathan Walp <nwalp@pidgin.im>
parents: 9188
diff changeset
131 GtkWidget *lower_hbox;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
132
8317
fd4cf67705df [gaim-migrate @ 9041]
Sean Egan <seanegan@pidgin.im>
parents: 8290
diff changeset
133 GtkWidget *toolbar;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
134
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
135 struct
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
136 {
5106
37a446bb9501 [gaim-migrate @ 5469]
Ka-Hing Cheung <khc@pidgin.im>
parents: 5049
diff changeset
137 GtkWidget *image;
7295
4b40d35a6b25 [gaim-migrate @ 7879]
Sean Egan <seanegan@pidgin.im>
parents: 7118
diff changeset
138 GtkWidget *search;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
139
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
140 } dialogs;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
141
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
142 union
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
143 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
144 GaimGtkImPane *im;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
145 GaimGtkChatPane *chat;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
146
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
147 } u;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
148 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
149
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
150 /*@}*/
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
151
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
152 /**************************************************************************
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
153 * @name GTK+ Conversation API
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
154 **************************************************************************/
5673
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
155 /*@{*/
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
156
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
157 /**
10814
7e17cb56b019 [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10810
diff changeset
158 * Returns the UI operations structure for GTK+ conversations.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
159 *
10814
7e17cb56b019 [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10810
diff changeset
160 * @return The GTK+ conversation operations structure.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161 */
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6771
diff changeset
162 GaimConversationUiOps *gaim_gtk_conversations_get_conv_ui_ops(void);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
163
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
164 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165 * Updates the buddy icon on a conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
166 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
167 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
168 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
169 void gaim_gtkconv_update_buddy_icon(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
170
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
171 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
172 * Updates the tab positions on all conversation windows to reflect any
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173 * changed preferences.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
174 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
175 void gaim_gtkconv_update_tabs(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
176
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178 * Updates conversation buttons by protocol.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
179 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
182 void gaim_gtkconv_update_buttons_by_protocol(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
184 GaimGtkWindow *gaim_gtkconv_get_window(GaimGtkConversation *gtkconv);
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
185 GdkPixbuf *gaim_gtkconv_get_tab_icon(GaimConversation *conv, gboolean small_icon);
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
186 void gaim_gtkconv_new(GaimConversation *conv);
11614
47ced44a7707 [gaim-migrate @ 13888]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11581
diff changeset
187 int gaim_gtkconv_get_tab_at_xy(GaimGtkWindow *win, int x, int y, gboolean *to_right);
5673
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
188 /*@}*/
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
189
8582
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
190 /**************************************************************************/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
191 /** @name GTK+ Conversations Subsystem */
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
192 /**************************************************************************/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
193 /*@{*/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
194
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
195 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
196 * Returns the gtk conversations subsystem handle.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
197 *
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
198 * @return The conversations subsystem handle.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
199 */
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
200 void *gaim_gtk_conversations_get_handle(void);
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
201
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
202 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
203 * Initializes the GTK+ conversations subsystem.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
204 */
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
205 void gaim_gtk_conversations_init(void);
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
206
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
207 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
208 * Uninitialized the GTK+ conversation subsystem.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
209 */
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
210 void gaim_gtk_conversations_uninit(void);
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
211
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
212 /*@}*/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
213
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9709
diff changeset
214 #endif /* _GAIM_GTKCONVERSATION_H_ */

mercurial