pidgin/gtkconv.h

Fri, 17 Aug 2007 22:31:32 +0000

author
Gabriel Schulhof <nix@go-nix.ca>
date
Fri, 17 Aug 2007 22:31:32 +0000
changeset 19423
dede4373f3af
parent 18277
51a0f13284cd
child 19594
339d370c27f0
child 19885
593613a22e57
permissions
-rw-r--r--

merge of '30c77768cc4dbba021390714da0fc1ec359755c8'
and '21a340d06c40726fc2e0e7262984c5f39a3626af'

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
16254
eeb2bba4dc94 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@pidgin.im>
parents: 15931
diff changeset
3 * @ingroup pidgin
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
5 * pidgin
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
15572
e069b22c1fc4 headers to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15566
diff changeset
7 * Pidgin is the legal property of its developers, whose names are too numerous
8046
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 */
15563
9eea2b8c2846 pidginconv to pidgin_conv
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
25 #ifndef _PIDGIN_CONVERSATION_H_
9eea2b8c2846 pidginconv to pidgin_conv
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
26 #define _PIDGIN_CONVERSATION_H_
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
28 typedef struct _PidginImPane PidginImPane;
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
29 typedef struct _PidginChatPane PidginChatPane;
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
30 typedef struct _PidginConversation PidginConversation;
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents: 9687
diff changeset
31
11664
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
32 /**
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
33 * Unseen text states.
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
34 */
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
35 typedef enum
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
36 {
15566
ce486027d329 GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
37 PIDGIN_UNSEEN_NONE, /**< No unseen text in the conversation. */
ce486027d329 GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
38 PIDGIN_UNSEEN_EVENT, /**< Unseen events in the conversation. */
ce486027d329 GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
39 PIDGIN_UNSEEN_NO_LOG, /**< Unseen text with NO_LOG flag. */
ce486027d329 GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
40 PIDGIN_UNSEEN_TEXT, /**< Unseen text in the conversation. */
ce486027d329 GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
41 PIDGIN_UNSEEN_NICK /**< Unseen text and the nick was said. */
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15797
diff changeset
42 } PidginUnseenState;
11664
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
43
9498
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
44 enum {
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
45 CHAT_USERS_ICON_COLUMN,
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11280
diff changeset
46 CHAT_USERS_ALIAS_COLUMN,
14027
708c2047424f [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents: 13840
diff changeset
47 CHAT_USERS_ALIAS_KEY_COLUMN,
9498
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
48 CHAT_USERS_NAME_COLUMN,
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9508
diff changeset
49 CHAT_USERS_FLAGS_COLUMN,
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11280
diff changeset
50 CHAT_USERS_COLOR_COLUMN,
14645
71ccf40ee43b [gaim-migrate @ 17307]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14510
diff changeset
51 CHAT_USERS_WEIGHT_COLUMN,
9498
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
52 CHAT_USERS_COLUMNS
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
53 };
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
54
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
55 #define PIDGIN_CONVERSATION(conv) \
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
56 ((PidginConversation *)(conv)->ui_data)
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
57
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15578
diff changeset
58 #define PIDGIN_IS_PIDGIN_CONVERSATION(conv) \
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
59 (purple_conversation_get_ui_ops(conv) == \
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
60 pidgin_conversations_get_conv_ui_ops())
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
61
15577
b8129373f65e More pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15572
diff changeset
62 #include "pidgin.h"
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
63 #include "conversation.h"
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
64 #include "gtkconvwin.h"
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
65
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 /**************************************************************************
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 * @name Structures
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 **************************************************************************/
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
69 /*@{*/
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 * A GTK+ representation of a graphical window containing one or more
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 * conversations.
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
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 /**
7820
06fc9f66d2cb [gaim-migrate @ 8472]
Mark Doliner <markdoliner@pidgin.im>
parents: 7650
diff changeset
77 * A GTK+ Instant Message pane.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
79 struct _PidginImPane
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 GtkWidget *block;
9468
f2108802d596 [gaim-migrate @ 10293]
Daniel Atallah <datallah@pidgin.im>
parents: 9339
diff changeset
82 GtkWidget *send_file;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 GtkWidget *sep1;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 GtkWidget *sep2;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 GtkWidget *check;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 GtkWidget *progress;
15797
ce93036c4e95 Typing notification icon
Sean Egan <seanegan@pidgin.im>
parents: 15692
diff changeset
87 guint32 typing_timer;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 /* Buddy icon stuff */
9885
af0d918e9262 [gaim-migrate @ 10767]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
90 GtkWidget *icon_container;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
91 GtkWidget *icon;
9687
489b6b200876 [gaim-migrate @ 10539]
Sean Egan <seanegan@pidgin.im>
parents: 9554
diff changeset
92 gboolean show_icon;
8189
dedf9efe2a1e [gaim-migrate @ 8910]
MBG <chromakode@gmail.com>
parents: 8046
diff changeset
93 gboolean animate;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 GdkPixbufAnimation *anim;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 GdkPixbufAnimationIter *iter;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 guint32 icon_timer;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97 };
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 * GTK+ Chat panes.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
101 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
102 struct _PidginChatPane
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
103 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
104 GtkWidget *count;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
105 GtkWidget *list;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
106 GtkWidget *topic_text;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
107 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
108
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
109 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
110 * A GTK+ conversation pane.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
111 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
112 struct _PidginConversation
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
113 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
114 PurpleConversation *active_conv;
10810
076e608db319 [gaim-migrate @ 12463]
Tim Ringenbach <marv@pidgin.im>
parents: 10500
diff changeset
115 GList *convs;
13840
8ea0f9070d3a [gaim-migrate @ 16287]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12832
diff changeset
116 GList *send_history;
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
117
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
118 PidginWindow *win;
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
119
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120 gboolean make_sound;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
121
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122 GtkTooltips *tooltips;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
123
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124 GtkWidget *tab_cont;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125 GtkWidget *tabby;
6771
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
126 GtkWidget *menu_tabby;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
128 GtkWidget *imhtml;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
129 GtkTextBuffer *entry_buffer;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130 GtkWidget *entry;
14654
dbf687a008dc [gaim-migrate @ 17316]
Sean Egan <seanegan@pidgin.im>
parents: 14645
diff changeset
131 gboolean auto_resize; /* this is set to TRUE if the conversation
dbf687a008dc [gaim-migrate @ 17316]
Sean Egan <seanegan@pidgin.im>
parents: 14645
diff changeset
132 * is being resized by a non-user-initiated
dbf687a008dc [gaim-migrate @ 17316]
Sean Egan <seanegan@pidgin.im>
parents: 14645
diff changeset
133 * event, such as the buddy icon appearing
dbf687a008dc [gaim-migrate @ 17316]
Sean Egan <seanegan@pidgin.im>
parents: 14645
diff changeset
134 */
15416
2b1b922f804a [gaim-migrate @ 18147]
Sean Egan <seanegan@pidgin.im>
parents: 14654
diff changeset
135 gboolean entry_growing; /* True if the size of the entry was set
2b1b922f804a [gaim-migrate @ 18147]
Sean Egan <seanegan@pidgin.im>
parents: 14654
diff changeset
136 * automatically by typing too much to fit
2b1b922f804a [gaim-migrate @ 18147]
Sean Egan <seanegan@pidgin.im>
parents: 14654
diff changeset
137 * in one line */
15692
ecda27df58b9 Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents: 15578
diff changeset
138
7930
3005873ac411 [gaim-migrate @ 8601]
Mark Doliner <markdoliner@pidgin.im>
parents: 7887
diff changeset
139 GtkWidget *close; /* "x" on the tab */
6392
3db2b3c7b5aa [gaim-migrate @ 6897]
Christian Hammond <chipx86@chipx86.com>
parents: 5908
diff changeset
140 GtkWidget *icon;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
141 GtkWidget *tab_label;
6771
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
142 GtkWidget *menu_icon;
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
143 GtkWidget *menu_label;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
144 GtkSizeGroup *sg;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
145
9332
9452c2623bd5 [gaim-migrate @ 10140]
Nathan Walp <nwalp@pidgin.im>
parents: 9188
diff changeset
146 GtkWidget *lower_hbox;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
147
8317
fd4cf67705df [gaim-migrate @ 9041]
Sean Egan <seanegan@pidgin.im>
parents: 8290
diff changeset
148 GtkWidget *toolbar;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
149
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15797
diff changeset
150 PidginUnseenState unseen_state;
12175
3e790a58d906 [gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents: 12132
diff changeset
151 guint unseen_count;
11664
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
152
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
153 union
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
154 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
155 PidginImPane *im;
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
156 PidginChatPane *chat;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
157
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
158 } u;
15575
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15572
diff changeset
159
bd1e13b63e4b In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents: 15572
diff changeset
160 time_t newday;
18253
e25dd002e0be Start work on blist pane in conversation. Looks like: http://pidgin.im/~seanegan/infopane.png Certainly much to be done yet.
Sean Egan <seanegan@pidgin.im>
parents: 16254
diff changeset
161 GtkWidget *infopane_hbox;
e25dd002e0be Start work on blist pane in conversation. Looks like: http://pidgin.im/~seanegan/infopane.png Certainly much to be done yet.
Sean Egan <seanegan@pidgin.im>
parents: 16254
diff changeset
162 GtkWidget *infopane;
18277
51a0f13284cd properly scale buddy icons in infopane to preserve aspect ratio
Sean Egan <seanegan@pidgin.im>
parents: 18253
diff changeset
163 GtkListStore *infopane_model;
18253
e25dd002e0be Start work on blist pane in conversation. Looks like: http://pidgin.im/~seanegan/infopane.png Certainly much to be done yet.
Sean Egan <seanegan@pidgin.im>
parents: 16254
diff changeset
164 GtkTreeIter infopane_iter;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
166
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
167 /*@}*/
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
168
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
169 /**************************************************************************
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
170 * @name GTK+ Conversation API
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
171 **************************************************************************/
5673
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
172 /*@{*/
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
173
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
174 /**
10814
7e17cb56b019 [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10810
diff changeset
175 * Returns the UI operations structure for GTK+ conversations.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
176 *
10814
7e17cb56b019 [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10810
diff changeset
177 * @return The GTK+ conversation operations structure.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
179 PurpleConversationUiOps *pidgin_conversations_get_conv_ui_ops(void);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
182 * Updates the buddy icon on a conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
184 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
185 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
186 void pidgin_conv_update_buddy_icon(PurpleConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
187
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
188 /**
11911
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
189 * Sets the active conversation within a GTK-conversation.
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
190 *
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
191 * @param conv The conversation
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
192 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
193 void pidgin_conv_switch_active_conversation(PurpleConversation *conv);
11911
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
194
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
195 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 * Updates conversation buttons by protocol.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
197 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
198 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
199 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
200 void pidgin_conv_update_buttons_by_protocol(PurpleConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
201
12021
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
202 /**
12468
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
203 * Returns a list of conversations of the given type which have an unseen
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
204 * state greater than or equal to the specified minimum state. Using the
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
205 * hidden_only parameter, this search can be limited to hidden
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
206 * conversations. The max_count parameter will limit the total number of
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
207 * converations returned if greater than zero. The returned list should
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
208 * be freed by the caller.
12021
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
209 *
12468
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
210 * @param type The type of conversation.
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
211 * @param min_state The minimum unseen state.
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
212 * @param hidden_only If TRUE, only consider hidden conversations.
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
213 * @param max_count Maximum number of conversations to return, or 0 for
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
214 * no maximum.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
215 * @return List of PurpleConversation matching criteria, or NULL.
12021
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
216 */
12468
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
217 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
218 pidgin_conversations_find_unseen_list(PurpleConversationType type,
15882
1dbd5756b7bf More Gaim to Pidgin stuff
Sean Egan <seanegan@pidgin.im>
parents: 15797
diff changeset
219 PidginUnseenState min_state,
12468
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
220 gboolean hidden_only,
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
221 guint max_count);
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
222
12175
3e790a58d906 [gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents: 12132
diff changeset
223 /**
12468
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
224 * Fill a menu with a list of conversations. Clicking the conversation
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
225 * menu item will present that conversation to the user.
12175
3e790a58d906 [gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents: 12132
diff changeset
226 *
12468
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
227 * @param menu Menu widget to add items to.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
228 * @param convs List of PurpleConversation to add to menu.
12468
fe558afb01b4 [gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents: 12239
diff changeset
229 * @return Number of conversations added to menu.
12175
3e790a58d906 [gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents: 12132
diff changeset
230 */
3e790a58d906 [gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents: 12132
diff changeset
231 guint
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
232 pidgin_conversations_fill_menu(GtkWidget *menu, GList *convs);
12021
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
233
12116
17bf39d2678f [gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents: 12021
diff changeset
234 /**
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
235 * Presents a purple conversation to the user.
12116
17bf39d2678f [gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents: 12021
diff changeset
236 *
17bf39d2678f [gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents: 12021
diff changeset
237 * @param conv The conversation.
17bf39d2678f [gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents: 12021
diff changeset
238 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
239 void pidgin_conv_present_conversation(PurpleConversation *conv);
12116
17bf39d2678f [gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents: 12021
diff changeset
240
15563
9eea2b8c2846 pidginconv to pidgin_conv
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
241 PidginWindow *pidgin_conv_get_window(PidginConversation *gtkconv);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
242 GdkPixbuf *pidgin_conv_get_tab_icon(PurpleConversation *conv, gboolean small_icon);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15882
diff changeset
243 void pidgin_conv_new(PurpleConversation *conv);
15563
9eea2b8c2846 pidginconv to pidgin_conv
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
244 int pidgin_conv_get_tab_at_xy(PidginWindow *win, int x, int y, gboolean *to_right);
9eea2b8c2846 pidginconv to pidgin_conv
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
245 gboolean pidgin_conv_is_hidden(PidginConversation *gtkconv);
5673
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
246 /*@}*/
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
247
8582
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
248 /**************************************************************************/
12832
e5eb305a240d [gaim-migrate @ 15180]
Richard Laager <rlaager@pidgin.im>
parents: 12468
diff changeset
249 /** @name GTK+ Conversations Subsystem */
8582
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
250 /**************************************************************************/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
251 /*@{*/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
252
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
253 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
254 * Returns the gtk conversations subsystem handle.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
255 *
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
256 * @return The conversations subsystem handle.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
257 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
258 void *pidgin_conversations_get_handle(void);
8582
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
259
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
260 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
261 * Initializes the GTK+ conversations subsystem.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
262 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
263 void pidgin_conversations_init(void);
8582
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
264
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
265 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
266 * Uninitialized the GTK+ conversation subsystem.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
267 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
268 void pidgin_conversations_uninit(void);
8582
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
269
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
270 /*@}*/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
271
15563
9eea2b8c2846 pidginconv to pidgin_conv
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
272 #endif /* _PIDGIN_CONVERSATION_H_ */

mercurial