src/gtkconv.h

Sat, 12 Nov 2005 15:27:41 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Sat, 12 Nov 2005 15:27:41 +0000
changeset 12050
a7d5a2430722
parent 12021
dff8a2336172
child 12116
17bf39d2678f
permissions
-rw-r--r--

[gaim-migrate @ 14345]
One parts doxygen one parts whitespace

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
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 {
12021
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
37 GAIM_UNSEEN_NONE = 0, /**< No unseen text in the conversation. */
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
38 GAIM_UNSEEN_EVENT = 1, /**< Unseen events in the conversation. */
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
39 GAIM_UNSEEN_NOLOG = 2, /**< Unseen text with NO_LOG flag. */
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
40 GAIM_UNSEEN_TEXT = 3, /**< Unseen text in the conversation. */
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
41 GAIM_UNSEEN_NICK = 4 /**< Unseen text and the nick was said. */
11664
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
42 } GaimUnseenState;
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,
9498
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
47 CHAT_USERS_NAME_COLUMN,
9554
1609ba3612c3 [gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9508
diff changeset
48 CHAT_USERS_FLAGS_COLUMN,
11454
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11280
diff changeset
49 CHAT_USERS_COLOR_COLUMN,
a604c2097a6e [gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents: 11280
diff changeset
50 CHAT_USERS_BUDDY_COLUMN,
9498
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
51 CHAT_USERS_COLUMNS
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
52 };
432fc90c7e22 [gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9497
diff changeset
53
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
54 #define GAIM_GTK_CONVERSATION(conv) \
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
55 ((GaimGtkConversation *)(conv)->ui_data)
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
56
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
57 #define GAIM_IS_GTK_CONVERSATION(conv) \
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
58 (gaim_conversation_get_ui_ops(conv) == \
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
59 gaim_gtk_conversations_get_conv_ui_ops())
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
60
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
61 #include "gtkgaim.h"
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
62 #include "conversation.h"
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
63 #include "gtkconvwin.h"
10008
1de3454a0dca [gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents: 9885
diff changeset
64
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 /**************************************************************************
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 * @name Structures
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 **************************************************************************/
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
68 /*@{*/
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69
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 * A GTK+ representation of a graphical window containing one or more
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 * conversations.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 */
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 /**
7820
06fc9f66d2cb [gaim-migrate @ 8472]
Mark Doliner <markdoliner@pidgin.im>
parents: 7650
diff changeset
76 * A GTK+ Instant Message pane.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
78 struct _GaimGtkImPane
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 GtkWidget *block;
9468
f2108802d596 [gaim-migrate @ 10293]
Daniel Atallah <datallah@pidgin.im>
parents: 9339
diff changeset
81 GtkWidget *send_file;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 GtkWidget *sep1;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 GtkWidget *sep2;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 GtkWidget *check;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 GtkWidget *progress;
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 /* Buddy icon stuff */
9885
af0d918e9262 [gaim-migrate @ 10767]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
88 GtkWidget *icon_container;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
89 GtkWidget *icon;
9687
489b6b200876 [gaim-migrate @ 10539]
Sean Egan <seanegan@pidgin.im>
parents: 9554
diff changeset
90 gboolean show_icon;
8189
dedf9efe2a1e [gaim-migrate @ 8910]
MBG <chromakode@gmail.com>
parents: 8046
diff changeset
91 gboolean animate;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
92 GdkPixbufAnimation *anim;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 GdkPixbufAnimationIter *iter;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 guint32 icon_timer;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96
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 * GTK+ Chat panes.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
99 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
100 struct _GaimGtkChatPane
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
101 {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102 GtkWidget *count;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
103 GtkWidget *list;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
104 GtkWidget *topic_text;
10500
b1d1b55682d7 [gaim-migrate @ 11792]
Mark Doliner <markdoliner@pidgin.im>
parents: 10456
diff changeset
105 GtkWidget *userlist_im;
b1d1b55682d7 [gaim-migrate @ 11792]
Mark Doliner <markdoliner@pidgin.im>
parents: 10456
diff changeset
106 GtkWidget *userlist_ignore;
b1d1b55682d7 [gaim-migrate @ 11792]
Mark Doliner <markdoliner@pidgin.im>
parents: 10456
diff changeset
107 GtkWidget *userlist_info;
4359
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 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
111 * A GTK+ conversation pane.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
112 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
113 struct _GaimGtkConversation
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
114 {
10810
076e608db319 [gaim-migrate @ 12463]
Tim Ringenbach <marv@pidgin.im>
parents: 10500
diff changeset
115 GaimConversation *active_conv;
076e608db319 [gaim-migrate @ 12463]
Tim Ringenbach <marv@pidgin.im>
parents: 10500
diff changeset
116 GList *convs;
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
117
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
118 GaimGtkWindow *win;
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;
7326
599c9e8c9da4 [gaim-migrate @ 7912]
Nathan Fredrickson <nathan@silverorange.com>
parents: 7295
diff changeset
121 gboolean show_formatting_toolbar;
9188
a399de5ce807 [gaim-migrate @ 9983]
Mark Doliner <markdoliner@pidgin.im>
parents: 9025
diff changeset
122 gboolean show_timestamps;
4359
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 GtkTooltips *tooltips;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 GtkWidget *tab_cont;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127 GtkWidget *tabby;
6771
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
128 GtkWidget *menu_tabby;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
129
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130 GtkWidget *imhtml;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131 GtkTextBuffer *entry_buffer;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
132 GtkWidget *entry;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
133
7930
3005873ac411 [gaim-migrate @ 8601]
Mark Doliner <markdoliner@pidgin.im>
parents: 7887
diff changeset
134 GtkWidget *close; /* "x" on the tab */
6392
3db2b3c7b5aa [gaim-migrate @ 6897]
Christian Hammond <chipx86@chipx86.com>
parents: 5908
diff changeset
135 GtkWidget *icon;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
136 GtkWidget *tab_label;
6771
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
137 GtkWidget *menu_icon;
06048ac9eb49 [gaim-migrate @ 7308]
Jesse Farmer
parents: 6392
diff changeset
138 GtkWidget *menu_label;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
139 GtkSizeGroup *sg;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
140
9332
9452c2623bd5 [gaim-migrate @ 10140]
Nathan Walp <nwalp@pidgin.im>
parents: 9188
diff changeset
141 GtkWidget *lower_hbox;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
142
8317
fd4cf67705df [gaim-migrate @ 9041]
Sean Egan <seanegan@pidgin.im>
parents: 8290
diff changeset
143 GtkWidget *toolbar;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
144
11664
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
145 GaimUnseenState unseen_state;
050d0caa0832 [gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11614
diff changeset
146
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
147 struct
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
148 {
5106
37a446bb9501 [gaim-migrate @ 5469]
Ka-Hing Cheung <khc@pidgin.im>
parents: 5049
diff changeset
149 GtkWidget *image;
7295
4b40d35a6b25 [gaim-migrate @ 7879]
Sean Egan <seanegan@pidgin.im>
parents: 7118
diff changeset
150 GtkWidget *search;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
151
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
152 } dialogs;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
153
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
154 union
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
155 {
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
156 GaimGtkImPane *im;
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
157 GaimGtkChatPane *chat;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
158
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
159 } u;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
160 };
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
162 /*@}*/
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
163
4359
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 * @name GTK+ Conversation API
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
166 **************************************************************************/
5673
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
167 /*@{*/
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
168
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
169 /**
10814
7e17cb56b019 [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10810
diff changeset
170 * Returns the UI operations structure for GTK+ conversations.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
171 *
10814
7e17cb56b019 [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10810
diff changeset
172 * @return The GTK+ conversation operations structure.
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
173 */
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6771
diff changeset
174 GaimConversationUiOps *gaim_gtk_conversations_get_conv_ui_ops(void);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
175
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 * Updates the buddy icon on a conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
179 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
181 void gaim_gtkconv_update_buddy_icon(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
182
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183 /**
11911
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
184 * Sets the active conversation within a GTK-conversation.
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
185 *
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
186 * @param conv The conversation
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
187 */
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
188 void gaim_gtkconv_switch_active_conversation(GaimConversation *conv);
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
189
797cf405943c [gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11690
diff changeset
190 /**
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
191 * Updates the tab positions on all conversation windows to reflect any
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
192 * changed preferences.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
193 */
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
194 void gaim_gtkconv_update_tabs(void);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
195
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196 /**
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
197 * Updates conversation buttons by protocol.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
198 *
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
199 * @param conv The conversation.
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
200 */
5676
d3c2fdaf4821 [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
201 void gaim_gtkconv_update_buttons_by_protocol(GaimConversation *conv);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
202
12021
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
203 /**
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
204 * Finds the first conversation of the given type which has an unseen
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
205 * state greater than or equal to the specified minimum state.
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
206 *
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
207 * @param type The type of conversation.
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
208 * @param min_state The minimum unseen state.
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
209 * @return First conversation matching criteria, or NULL.
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
210 */
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
211 GaimConversation *
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
212 gaim_gtk_conversations_get_first_unseen(GaimConversationType type,
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
213 GaimUnseenState min_state);
dff8a2336172 [gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents: 11911
diff changeset
214
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
215 GaimGtkWindow *gaim_gtkconv_get_window(GaimGtkConversation *gtkconv);
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
216 GdkPixbuf *gaim_gtkconv_get_tab_icon(GaimConversation *conv, gboolean small_icon);
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
217 void gaim_gtkconv_new(GaimConversation *conv);
11614
47ced44a7707 [gaim-migrate @ 13888]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11581
diff changeset
218 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
219 /*@}*/
47f654fb5134 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
220
8582
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
221 /**************************************************************************/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
222 /** @name GTK+ Conversations Subsystem */
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
223 /**************************************************************************/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
224 /*@{*/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
225
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
226 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
227 * Returns the gtk conversations subsystem handle.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
228 *
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
229 * @return The conversations subsystem handle.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
230 */
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
231 void *gaim_gtk_conversations_get_handle(void);
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
232
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
233 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
234 * Initializes the GTK+ conversations subsystem.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
235 */
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
236 void gaim_gtk_conversations_init(void);
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
237
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
238 /**
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
239 * Uninitialized the GTK+ conversation subsystem.
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
240 */
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
241 void gaim_gtk_conversations_uninit(void);
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
242
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
243 /*@}*/
7d573742efc5 [gaim-migrate @ 9332]
Etan Reisner <deryni@pidgin.im>
parents: 8317
diff changeset
244
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9709
diff changeset
245 #endif /* _GAIM_GTKCONVERSATION_H_ */

mercurial