annotate src/gtkconv.h @ 13977:96947ec79828

[gaim-migrate @ 16536] Eliminated some nested function declarations. committer: Tailor Script <tailor@pidgin.im>
author Mark Huetsch <markhuetsch>
date Sat, 22 Jul 2006 11:44:46 +0000
parents df0dba522147
children 626977ae8869
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file gtkconv.h GTK+ Conversation API
5034
4691c5936c01 [gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents: 4736
diff changeset
3 * @ingroup gtkui
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 * gaim
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
8046
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7996
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7996
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
fa6395637e2c [gaim-migrate @ 8730]
Sean Egan <seanegan@gmail.com>
parents: 7996
diff changeset
9 * source distribution.
7326
00a9ab26d607 [gaim-migrate @ 7912]
Christian Hammond <chipx86@chipx86.com>
parents: 7295
diff changeset
10 *
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
5fb47ec9bfe4 [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
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 */
9713
db62420a53a2 [gaim-migrate @ 10574]
Mark Doliner <mark@kingant.net>
parents: 9709
diff changeset
25 #ifndef _GAIM_GTKCONVERSATION_H_
db62420a53a2 [gaim-migrate @ 10574]
Mark Doliner <mark@kingant.net>
parents: 9709
diff changeset
26 #define _GAIM_GTKCONVERSATION_H_
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
10008
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
28 typedef struct _GaimGtkImPane GaimGtkImPane;
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
29 typedef struct _GaimGtkChatPane GaimGtkChatPane;
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
30 typedef struct _GaimGtkConversation GaimGtkConversation;
9709
4d05b6e9e9cd [gaim-migrate @ 10570]
Mark Doliner <mark@kingant.net>
parents: 9687
diff changeset
31
11664
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
32 /**
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
33 * Unseen text states.
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
34 */
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
35 typedef enum
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
36 {
12132
95bffda9b762 [gaim-migrate @ 14432]
Richard Laager <rlaager@wiktel.com>
parents: 12117
diff changeset
37 GAIM_UNSEEN_NONE, /**< No unseen text in the conversation. */
95bffda9b762 [gaim-migrate @ 14432]
Richard Laager <rlaager@wiktel.com>
parents: 12117
diff changeset
38 GAIM_UNSEEN_EVENT, /**< Unseen events in the conversation. */
95bffda9b762 [gaim-migrate @ 14432]
Richard Laager <rlaager@wiktel.com>
parents: 12117
diff changeset
39 GAIM_UNSEEN_NO_LOG, /**< Unseen text with NO_LOG flag. */
95bffda9b762 [gaim-migrate @ 14432]
Richard Laager <rlaager@wiktel.com>
parents: 12117
diff changeset
40 GAIM_UNSEEN_TEXT, /**< Unseen text in the conversation. */
95bffda9b762 [gaim-migrate @ 14432]
Richard Laager <rlaager@wiktel.com>
parents: 12117
diff changeset
41 GAIM_UNSEEN_NICK /**< Unseen text and the nick was said. */
11664
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
42 } GaimUnseenState;
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
43
9498
6f9bedacac3b [gaim-migrate @ 10324]
Luke Schierer <lschiere@pidgin.im>
parents: 9497
diff changeset
44 enum {
6f9bedacac3b [gaim-migrate @ 10324]
Luke Schierer <lschiere@pidgin.im>
parents: 9497
diff changeset
45 CHAT_USERS_ICON_COLUMN,
11454
201617d49573 [gaim-migrate @ 13693]
Richard Laager <rlaager@wiktel.com>
parents: 11280
diff changeset
46 CHAT_USERS_ALIAS_COLUMN,
13965
df0dba522147 [gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon>
parents: 13838
diff changeset
47 CHAT_USERS_ALIAS_KEY_COLUMN,
9498
6f9bedacac3b [gaim-migrate @ 10324]
Luke Schierer <lschiere@pidgin.im>
parents: 9497
diff changeset
48 CHAT_USERS_NAME_COLUMN,
9554
8b2451878e26 [gaim-migrate @ 10387]
Luke Schierer <lschiere@pidgin.im>
parents: 9508
diff changeset
49 CHAT_USERS_FLAGS_COLUMN,
11454
201617d49573 [gaim-migrate @ 13693]
Richard Laager <rlaager@wiktel.com>
parents: 11280
diff changeset
50 CHAT_USERS_COLOR_COLUMN,
201617d49573 [gaim-migrate @ 13693]
Richard Laager <rlaager@wiktel.com>
parents: 11280
diff changeset
51 CHAT_USERS_BUDDY_COLUMN,
9498
6f9bedacac3b [gaim-migrate @ 10324]
Luke Schierer <lschiere@pidgin.im>
parents: 9497
diff changeset
52 CHAT_USERS_COLUMNS
6f9bedacac3b [gaim-migrate @ 10324]
Luke Schierer <lschiere@pidgin.im>
parents: 9497
diff changeset
53 };
6f9bedacac3b [gaim-migrate @ 10324]
Luke Schierer <lschiere@pidgin.im>
parents: 9497
diff changeset
54
10008
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
55 #define GAIM_GTK_CONVERSATION(conv) \
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
56 ((GaimGtkConversation *)(conv)->ui_data)
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
57
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
58 #define GAIM_IS_GTK_CONVERSATION(conv) \
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
59 (gaim_conversation_get_ui_ops(conv) == \
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
60 gaim_gtk_conversations_get_conv_ui_ops())
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
61
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
62 #include "gtkgaim.h"
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
63 #include "conversation.h"
11581
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
64 #include "gtkconvwin.h"
10008
50c1724d5e59 [gaim-migrate @ 10925]
Mark Doliner <mark@kingant.net>
parents: 9885
diff changeset
65
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 /**************************************************************************
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 * @name Structures
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 **************************************************************************/
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
69 /*@{*/
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 /**
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 * A GTK+ representation of a graphical window containing one or more
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 * conversations.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 */
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 /**
7820
8e60ddc28a22 [gaim-migrate @ 8472]
Mark Doliner <mark@kingant.net>
parents: 7650
diff changeset
77 * A GTK+ Instant Message pane.
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78 */
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
79 struct _GaimGtkImPane
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 {
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81 GtkWidget *block;
9468
4d0b0d5485e6 [gaim-migrate @ 10293]
Luke Schierer <lschiere@pidgin.im>
parents: 9339
diff changeset
82 GtkWidget *send_file;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 GtkWidget *sep1;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 GtkWidget *sep2;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 GtkWidget *check;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 GtkWidget *progress;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 /* Buddy icon stuff */
9885
4d3a61dcb942 [gaim-migrate @ 10767]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
89 GtkWidget *icon_container;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
90 GtkWidget *icon;
9687
1769cb1261be [gaim-migrate @ 10539]
Sean Egan <seanegan@gmail.com>
parents: 9554
diff changeset
91 gboolean show_icon;
8189
b75fa309b2c6 [gaim-migrate @ 8910]
Mark Doliner <mark@kingant.net>
parents: 8046
diff changeset
92 gboolean animate;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
93 GdkPixbufAnimation *anim;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
94 GdkPixbufAnimationIter *iter;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
95 guint32 icon_timer;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
96 };
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
97
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
98 /**
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
99 * GTK+ Chat panes.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
100 */
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
101 struct _GaimGtkChatPane
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
102 {
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
103 GtkWidget *count;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
104 GtkWidget *list;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
105 GtkWidget *topic_text;
10500
6ec5da82ef41 [gaim-migrate @ 11792]
Mark Doliner <mark@kingant.net>
parents: 10456
diff changeset
106 GtkWidget *userlist_im;
6ec5da82ef41 [gaim-migrate @ 11792]
Mark Doliner <mark@kingant.net>
parents: 10456
diff changeset
107 GtkWidget *userlist_ignore;
6ec5da82ef41 [gaim-migrate @ 11792]
Mark Doliner <mark@kingant.net>
parents: 10456
diff changeset
108 GtkWidget *userlist_info;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
109 };
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
110
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
111 /**
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
112 * A GTK+ conversation pane.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
113 */
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
114 struct _GaimGtkConversation
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
115 {
10810
9a1ced2bc585 [gaim-migrate @ 12463]
Tim Ringenbach <marv@pidgin.im>
parents: 10500
diff changeset
116 GaimConversation *active_conv;
9a1ced2bc585 [gaim-migrate @ 12463]
Tim Ringenbach <marv@pidgin.im>
parents: 10500
diff changeset
117 GList *convs;
13838
dd00149f6f9b [gaim-migrate @ 16287]
Richard Laager <rlaager@wiktel.com>
parents: 12832
diff changeset
118 GList *send_history;
11581
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
119
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
120 GaimGtkWindow *win;
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
121
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122 gboolean make_sound;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
123
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124 GtkTooltips *tooltips;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126 GtkWidget *tab_cont;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127 GtkWidget *tabby;
6771
8eebba08b44b [gaim-migrate @ 7308]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
128 GtkWidget *menu_tabby;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
129
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130 GtkWidget *imhtml;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131 GtkTextBuffer *entry_buffer;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
132 GtkWidget *entry;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
133
7930
68f70cf074d0 [gaim-migrate @ 8601]
Mark Doliner <mark@kingant.net>
parents: 7887
diff changeset
134 GtkWidget *close; /* "x" on the tab */
6392
e9974608b319 [gaim-migrate @ 6897]
Christian Hammond <chipx86@chipx86.com>
parents: 5908
diff changeset
135 GtkWidget *icon;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
136 GtkWidget *tab_label;
6771
8eebba08b44b [gaim-migrate @ 7308]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
137 GtkWidget *menu_icon;
8eebba08b44b [gaim-migrate @ 7308]
Christian Hammond <chipx86@chipx86.com>
parents: 6392
diff changeset
138 GtkWidget *menu_label;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
139 GtkSizeGroup *sg;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
140
9332
222eb83af4d3 [gaim-migrate @ 10140]
Nathan Walp <nwalp@pidgin.im>
parents: 9188
diff changeset
141 GtkWidget *lower_hbox;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
142
8317
6f549c1d0829 [gaim-migrate @ 9041]
Sean Egan <seanegan@gmail.com>
parents: 8290
diff changeset
143 GtkWidget *toolbar;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
144
11664
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
145 GaimUnseenState unseen_state;
12175
a655bdeb561d [gaim-migrate @ 14477]
Richard Laager <rlaager@wiktel.com>
parents: 12132
diff changeset
146 guint unseen_count;
11664
38bbb0f15453 [gaim-migrate @ 13949]
Luke Schierer <lschiere@pidgin.im>
parents: 11614
diff changeset
147
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
148 struct
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
149 {
5106
7b218dde1d73 [gaim-migrate @ 5469]
Mark Doliner <mark@kingant.net>
parents: 5049
diff changeset
150 GtkWidget *image;
7295
c7f0a4397d9e [gaim-migrate @ 7879]
Sean Egan <seanegan@gmail.com>
parents: 7118
diff changeset
151 GtkWidget *search;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
152
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
153 } dialogs;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
154
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
155 union
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
156 {
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
157 GaimGtkImPane *im;
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
158 GaimGtkChatPane *chat;
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
159
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
160 } u;
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
161 };
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
162
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
163 /*@}*/
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
164
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
165 /**************************************************************************
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
166 * @name GTK+ Conversation API
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
167 **************************************************************************/
5673
62f57ec16f29 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
168 /*@{*/
62f57ec16f29 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
169
62f57ec16f29 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
170 /**
10814
364a2ef907ae [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10810
diff changeset
171 * Returns the UI operations structure for GTK+ conversations.
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
172 *
10814
364a2ef907ae [gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents: 10810
diff changeset
173 * @return The GTK+ conversation operations structure.
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
174 */
7035
feb3d21a7794 [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6771
diff changeset
175 GaimConversationUiOps *gaim_gtk_conversations_get_conv_ui_ops(void);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
176
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
177 /**
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
178 * Updates the buddy icon on a conversation.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
179 *
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
180 * @param conv The conversation.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181 */
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
182 void gaim_gtkconv_update_buddy_icon(GaimConversation *conv);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
183
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
184 /**
11911
fe12abd6b879 [gaim-migrate @ 14202]
Richard Laager <rlaager@wiktel.com>
parents: 11690
diff changeset
185 * Sets the active conversation within a GTK-conversation.
fe12abd6b879 [gaim-migrate @ 14202]
Richard Laager <rlaager@wiktel.com>
parents: 11690
diff changeset
186 *
fe12abd6b879 [gaim-migrate @ 14202]
Richard Laager <rlaager@wiktel.com>
parents: 11690
diff changeset
187 * @param conv The conversation
fe12abd6b879 [gaim-migrate @ 14202]
Richard Laager <rlaager@wiktel.com>
parents: 11690
diff changeset
188 */
fe12abd6b879 [gaim-migrate @ 14202]
Richard Laager <rlaager@wiktel.com>
parents: 11690
diff changeset
189 void gaim_gtkconv_switch_active_conversation(GaimConversation *conv);
fe12abd6b879 [gaim-migrate @ 14202]
Richard Laager <rlaager@wiktel.com>
parents: 11690
diff changeset
190
fe12abd6b879 [gaim-migrate @ 14202]
Richard Laager <rlaager@wiktel.com>
parents: 11690
diff changeset
191 /**
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
192 * Updates the tab positions on all conversation windows to reflect any
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
193 * changed preferences.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
194 */
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
195 void gaim_gtkconv_update_tabs(void);
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
196
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
197 /**
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
198 * Updates conversation buttons by protocol.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
199 *
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
200 * @param conv The conversation.
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
201 */
5676
dae79aefac8d [gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents: 5674
diff changeset
202 void gaim_gtkconv_update_buttons_by_protocol(GaimConversation *conv);
4359
5fb47ec9bfe4 [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
203
12021
1a86417abfc8 [gaim-migrate @ 14314]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11911
diff changeset
204 /**
12468
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
205 * Returns a list of conversations of the given type which have an unseen
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
206 * state greater than or equal to the specified minimum state. Using the
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
207 * hidden_only parameter, this search can be limited to hidden
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
208 * conversations. The max_count parameter will limit the total number of
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
209 * converations returned if greater than zero. The returned list should
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
210 * be freed by the caller.
12021
1a86417abfc8 [gaim-migrate @ 14314]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11911
diff changeset
211 *
12468
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
212 * @param type The type of conversation.
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
213 * @param min_state The minimum unseen state.
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
214 * @param hidden_only If TRUE, only consider hidden conversations.
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
215 * @param max_count Maximum number of conversations to return, or 0 for
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
216 * no maximum.
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
217 * @return List of GaimConversation matching criteria, or NULL.
12021
1a86417abfc8 [gaim-migrate @ 14314]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11911
diff changeset
218 */
12468
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
219 GList *
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
220 gaim_gtk_conversations_find_unseen_list(GaimConversationType type,
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
221 GaimUnseenState min_state,
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
222 gboolean hidden_only,
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
223 guint max_count);
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
224
12175
a655bdeb561d [gaim-migrate @ 14477]
Richard Laager <rlaager@wiktel.com>
parents: 12132
diff changeset
225 /**
12468
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
226 * Fill a menu with a list of conversations. Clicking the conversation
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
227 * menu item will present that conversation to the user.
12175
a655bdeb561d [gaim-migrate @ 14477]
Richard Laager <rlaager@wiktel.com>
parents: 12132
diff changeset
228 *
12468
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
229 * @param menu Menu widget to add items to.
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
230 * @param convs List of GaimConversation to add to menu.
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
231 * @return Number of conversations added to menu.
12175
a655bdeb561d [gaim-migrate @ 14477]
Richard Laager <rlaager@wiktel.com>
parents: 12132
diff changeset
232 */
a655bdeb561d [gaim-migrate @ 14477]
Richard Laager <rlaager@wiktel.com>
parents: 12132
diff changeset
233 guint
12468
6faefbebcd24 [gaim-migrate @ 14778]
Richard Laager <rlaager@wiktel.com>
parents: 12239
diff changeset
234 gaim_gtk_conversations_fill_menu(GtkWidget *menu, GList *convs);
12021
1a86417abfc8 [gaim-migrate @ 14314]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 11911
diff changeset
235
12116
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12021
diff changeset
236 /**
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12021
diff changeset
237 * Presents a gaim conversation to the user.
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12021
diff changeset
238 *
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12021
diff changeset
239 * @param conv The conversation.
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12021
diff changeset
240 */
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12021
diff changeset
241 void gaim_gtkconv_present_conversation(GaimConversation *conv);
e75ef7aa913e [gaim-migrate @ 14416]
Luke Schierer <lschiere@pidgin.im>
parents: 12021
diff changeset
242
11581
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
243 GaimGtkWindow *gaim_gtkconv_get_window(GaimGtkConversation *gtkconv);
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
244 GdkPixbuf *gaim_gtkconv_get_tab_icon(GaimConversation *conv, gboolean small_icon);
9b3833da6840 [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11554
diff changeset
245 void gaim_gtkconv_new(GaimConversation *conv);
11614
f72607814e4a [gaim-migrate @ 13888]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
246 int gaim_gtkconv_get_tab_at_xy(GaimGtkWindow *win, int x, int y, gboolean *to_right);
12239
36d3b1eaf20e [gaim-migrate @ 14541]
Nathan Walp <nwalp@pidgin.im>
parents: 12188
diff changeset
247 gboolean gaim_gtkconv_is_hidden(GaimGtkConversation *gtkconv);
5673
62f57ec16f29 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
248 /*@}*/
62f57ec16f29 [gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents: 5167
diff changeset
249
8582
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
250 /**************************************************************************/
12832
0c6a0362a48f [gaim-migrate @ 15180]
Richard Laager <rlaager@wiktel.com>
parents: 12468
diff changeset
251 /** @name GTK+ Conversations Subsystem */
8582
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
252 /**************************************************************************/
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
253 /*@{*/
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
254
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
255 /**
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
256 * Returns the gtk conversations subsystem handle.
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
257 *
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
258 * @return The conversations subsystem handle.
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
259 */
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
260 void *gaim_gtk_conversations_get_handle(void);
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
261
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
262 /**
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
263 * Initializes the GTK+ conversations subsystem.
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
264 */
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
265 void gaim_gtk_conversations_init(void);
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
266
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
267 /**
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
268 * Uninitialized the GTK+ conversation subsystem.
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
269 */
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
270 void gaim_gtk_conversations_uninit(void);
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
271
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
272 /*@}*/
d7c85220c685 [gaim-migrate @ 9332]
Christian Hammond <chipx86@chipx86.com>
parents: 8317
diff changeset
273
9713
db62420a53a2 [gaim-migrate @ 10574]
Mark Doliner <mark@kingant.net>
parents: 9709
diff changeset
274 #endif /* _GAIM_GTKCONVERSATION_H_ */