Fri, 23 Dec 2011 08:21:58 +0000
A boring and large patch so I can merge heads.
| 4359 | 1 | /** |
| 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 |
|
20890
c4253dc37ac0
ChangeLog by resiak@soc.pidgin.im:
Will Thompson <resiak@pidgin.im>
parents:
20147
diff
changeset
|
4 | * @see @ref gtkconv-signals |
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
5 | */ |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
6 | |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
7 | /* pidgin |
| 4359 | 8 | * |
| 15572 | 9 | * Pidgin is the legal property of its developers, whose names are too numerous |
| 8046 | 10 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 11 | * source distribution. | |
|
7326
599c9e8c9da4
[gaim-migrate @ 7912]
Nathan Fredrickson <nathan@silverorange.com>
parents:
7295
diff
changeset
|
12 | * |
| 4359 | 13 | * This program is free software; you can redistribute it and/or modify |
| 14 | * it under the terms of the GNU General Public License as published by | |
| 15 | * the Free Software Foundation; either version 2 of the License, or | |
| 16 | * (at your option) any later version. | |
| 17 | * | |
| 18 | * This program is distributed in the hope that it will be useful, | |
| 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 21 | * GNU General Public License for more details. | |
| 22 | * | |
| 23 | * You should have received a copy of the GNU General Public License | |
| 24 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19721
diff
changeset
|
25 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 4359 | 26 | */ |
| 15563 | 27 | #ifndef _PIDGIN_CONVERSATION_H_ |
| 28 | #define _PIDGIN_CONVERSATION_H_ | |
| 4359 | 29 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
30 | typedef struct _PidginImPane PidginImPane; |
|
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
31 | typedef struct _PidginChatPane PidginChatPane; |
|
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
32 | typedef struct _PidginConversation PidginConversation; |
|
9709
2e73f176cc80
[gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
9687
diff
changeset
|
33 | |
|
11664
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 | * Unseen text states. |
|
050d0caa0832
[gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11614
diff
changeset
|
36 | */ |
|
050d0caa0832
[gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11614
diff
changeset
|
37 | typedef enum |
|
050d0caa0832
[gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11614
diff
changeset
|
38 | { |
|
15566
ce486027d329
GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents:
15563
diff
changeset
|
39 | PIDGIN_UNSEEN_NONE, /**< No unseen text in the conversation. */ |
|
ce486027d329
GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents:
15563
diff
changeset
|
40 | PIDGIN_UNSEEN_EVENT, /**< Unseen events in the conversation. */ |
|
ce486027d329
GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents:
15563
diff
changeset
|
41 | 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
|
42 | PIDGIN_UNSEEN_TEXT, /**< Unseen text in the conversation. */ |
|
ce486027d329
GAIM_UNSEEN to PIDGIN_UNSEEN
Sean Egan <seanegan@pidgin.im>
parents:
15563
diff
changeset
|
43 | PIDGIN_UNSEEN_NICK /**< Unseen text and the nick was said. */ |
| 15882 | 44 | } PidginUnseenState; |
|
11664
050d0caa0832
[gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11614
diff
changeset
|
45 | |
|
9498
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
46 | enum { |
|
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
47 | CHAT_USERS_ICON_COLUMN, |
|
11454
a604c2097a6e
[gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents:
11280
diff
changeset
|
48 | CHAT_USERS_ALIAS_COLUMN, |
|
14027
708c2047424f
[gaim-migrate @ 16521]
Aaron Sheldon <aaronsheldon@users.sourceforge.net>
parents:
13840
diff
changeset
|
49 | CHAT_USERS_ALIAS_KEY_COLUMN, |
|
9498
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
50 | CHAT_USERS_NAME_COLUMN, |
|
9554
1609ba3612c3
[gaim-migrate @ 10387]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9508
diff
changeset
|
51 | CHAT_USERS_FLAGS_COLUMN, |
|
11454
a604c2097a6e
[gaim-migrate @ 13693]
Richard Laager <rlaager@pidgin.im>
parents:
11280
diff
changeset
|
52 | CHAT_USERS_COLOR_COLUMN, |
|
14645
71ccf40ee43b
[gaim-migrate @ 17307]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14510
diff
changeset
|
53 | CHAT_USERS_WEIGHT_COLUMN, |
|
32438
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32433
diff
changeset
|
54 | CHAT_USERS_ICON_STOCK_COLUMN, |
|
9498
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
55 | CHAT_USERS_COLUMNS |
|
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
56 | }; |
|
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
57 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
58 | #define PIDGIN_CONVERSATION(conv) \ |
|
32438
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32433
diff
changeset
|
59 | ((PidginConversation *)purple_conversation_get_ui_data(conv)) |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9885
diff
changeset
|
60 | |
|
15692
ecda27df58b9
Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents:
15578
diff
changeset
|
61 | #define PIDGIN_IS_PIDGIN_CONVERSATION(conv) \ |
| 15884 | 62 | (purple_conversation_get_ui_ops(conv) == \ |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
63 | pidgin_conversations_get_conv_ui_ops()) |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9885
diff
changeset
|
64 | |
| 15577 | 65 | #include "pidgin.h" |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9885
diff
changeset
|
66 | #include "conversation.h" |
| 11581 | 67 | #include "gtkconvwin.h" |
|
32438
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32433
diff
changeset
|
68 | #include "gtkconv-theme.h" |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9885
diff
changeset
|
69 | |
| 4359 | 70 | /************************************************************************** |
| 71 | * @name Structures | |
| 72 | **************************************************************************/ | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5674
diff
changeset
|
73 | /*@{*/ |
| 4359 | 74 | |
| 75 | /** | |
| 76 | * A GTK+ representation of a graphical window containing one or more | |
| 77 | * conversations. | |
| 78 | */ | |
| 79 | ||
| 80 | /** | |
| 81 | * A GTK+ conversation pane. | |
| 82 | */ | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
83 | struct _PidginConversation |
| 4359 | 84 | { |
| 15884 | 85 | PurpleConversation *active_conv; |
| 10810 | 86 | GList *convs; |
|
13840
8ea0f9070d3a
[gaim-migrate @ 16287]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12832
diff
changeset
|
87 | GList *send_history; |
| 11581 | 88 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
89 | PidginWindow *win; |
| 11581 | 90 | |
| 4359 | 91 | gboolean make_sound; |
| 92 | ||
|
26929
2a8ade936729
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24569
diff
changeset
|
93 | #if GTK_CHECK_VERSION(2,12,0) |
|
2a8ade936729
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24569
diff
changeset
|
94 | gpointer depr2; |
|
2a8ade936729
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24569
diff
changeset
|
95 | #else |
| 4359 | 96 | GtkTooltips *tooltips; |
|
26929
2a8ade936729
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24569
diff
changeset
|
97 | #endif |
| 4359 | 98 | |
| 99 | GtkWidget *tab_cont; | |
| 100 | GtkWidget *tabby; | |
| 6771 | 101 | GtkWidget *menu_tabby; |
| 4359 | 102 | |
|
32438
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32433
diff
changeset
|
103 | PidginConvTheme *theme; |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32433
diff
changeset
|
104 | PurpleMessageFlags last_flags; |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32433
diff
changeset
|
105 | GtkWidget *webview; |
| 4359 | 106 | GtkTextBuffer *entry_buffer; |
| 107 | GtkWidget *entry; | |
| 14654 | 108 | gboolean auto_resize; /* this is set to TRUE if the conversation |
|
32148
73329b082d7d
Remove some deprecated stuff
Mark Doliner <markdoliner@pidgin.im>
parents:
31546
diff
changeset
|
109 | * is being resized by a non-user-initiated |
|
73329b082d7d
Remove some deprecated stuff
Mark Doliner <markdoliner@pidgin.im>
parents:
31546
diff
changeset
|
110 | * event, such as the buddy icon appearing |
| 14654 | 111 | */ |
| 15416 | 112 | gboolean entry_growing; /* True if the size of the entry was set |
| 113 | * automatically by typing too much to fit | |
| 114 | * in one line */ | |
|
15692
ecda27df58b9
Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents:
15578
diff
changeset
|
115 | |
|
7930
3005873ac411
[gaim-migrate @ 8601]
Mark Doliner <markdoliner@pidgin.im>
parents:
7887
diff
changeset
|
116 | GtkWidget *close; /* "x" on the tab */ |
|
6392
3db2b3c7b5aa
[gaim-migrate @ 6897]
Christian Hammond <chipx86@chipx86.com>
parents:
5908
diff
changeset
|
117 | GtkWidget *icon; |
| 4359 | 118 | GtkWidget *tab_label; |
| 6771 | 119 | GtkWidget *menu_icon; |
| 120 | GtkWidget *menu_label; | |
| 4359 | 121 | |
| 9332 | 122 | GtkWidget *lower_hbox; |
| 4359 | 123 | |
| 8317 | 124 | GtkWidget *toolbar; |
| 4359 | 125 | |
| 15882 | 126 | PidginUnseenState unseen_state; |
|
12175
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
127 | guint unseen_count; |
|
11664
050d0caa0832
[gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11614
diff
changeset
|
128 | |
| 4359 | 129 | union |
| 130 | { | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
131 | PidginImPane *im; |
|
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
132 | PidginChatPane *chat; |
| 4359 | 133 | |
| 134 | } 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
|
135 | |
|
bd1e13b63e4b
In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents:
15572
diff
changeset
|
136 | 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
|
137 | 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
|
138 | GtkWidget *infopane; |
|
18277
51a0f13284cd
properly scale buddy icons in infopane to preserve aspect ratio
Sean Egan <seanegan@pidgin.im>
parents:
18253
diff
changeset
|
139 | 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
|
140 | GtkTreeIter infopane_iter; |
|
19598
86dfc5613674
Adding all the message from history in GtkIMHtml takes a bit long causing
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19594
diff
changeset
|
141 | |
|
86dfc5613674
Adding all the message from history in GtkIMHtml takes a bit long causing
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19594
diff
changeset
|
142 | /* Used when attaching a PidginConversation to a PurpleConversation |
|
86dfc5613674
Adding all the message from history in GtkIMHtml takes a bit long causing
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19594
diff
changeset
|
143 | * with message history */ |
|
86dfc5613674
Adding all the message from history in GtkIMHtml takes a bit long causing
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19594
diff
changeset
|
144 | struct { |
|
86dfc5613674
Adding all the message from history in GtkIMHtml takes a bit long causing
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19594
diff
changeset
|
145 | int timer; |
|
86dfc5613674
Adding all the message from history in GtkIMHtml takes a bit long causing
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19594
diff
changeset
|
146 | GList *current; |
|
86dfc5613674
Adding all the message from history in GtkIMHtml takes a bit long causing
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19594
diff
changeset
|
147 | } attach; |
|
29660
443bb7d278ae
Use an unobtrusive search dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26842
diff
changeset
|
148 | |
|
31546
f65482e7e8c5
Use the @since doxygen comment for this note
Mark Doliner <markdoliner@pidgin.im>
parents:
29660
diff
changeset
|
149 | /** |
|
f65482e7e8c5
Use the @since doxygen comment for this note
Mark Doliner <markdoliner@pidgin.im>
parents:
29660
diff
changeset
|
150 | * Quick Find. |
|
f65482e7e8c5
Use the @since doxygen comment for this note
Mark Doliner <markdoliner@pidgin.im>
parents:
29660
diff
changeset
|
151 | */ |
|
29660
443bb7d278ae
Use an unobtrusive search dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26842
diff
changeset
|
152 | struct { |
|
443bb7d278ae
Use an unobtrusive search dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26842
diff
changeset
|
153 | GtkWidget *entry; |
|
443bb7d278ae
Use an unobtrusive search dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26842
diff
changeset
|
154 | GtkWidget *container; |
|
443bb7d278ae
Use an unobtrusive search dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26842
diff
changeset
|
155 | } quickfind; |
| 4359 | 156 | }; |
| 157 | ||
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5674
diff
changeset
|
158 | /*@}*/ |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5674
diff
changeset
|
159 | |
| 4359 | 160 | /************************************************************************** |
| 161 | * @name GTK+ Conversation API | |
| 162 | **************************************************************************/ | |
|
5673
47f654fb5134
[gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents:
5167
diff
changeset
|
163 | /*@{*/ |
|
47f654fb5134
[gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents:
5167
diff
changeset
|
164 | |
|
47f654fb5134
[gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents:
5167
diff
changeset
|
165 | /** |
|
10814
7e17cb56b019
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10810
diff
changeset
|
166 | * Returns the UI operations structure for GTK+ conversations. |
| 4359 | 167 | * |
|
10814
7e17cb56b019
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10810
diff
changeset
|
168 | * @return The GTK+ conversation operations structure. |
| 4359 | 169 | */ |
| 15884 | 170 | PurpleConversationUiOps *pidgin_conversations_get_conv_ui_ops(void); |
| 4359 | 171 | |
| 172 | /** | |
| 173 | * Updates the buddy icon on a conversation. | |
| 174 | * | |
| 175 | * @param conv The conversation. | |
| 176 | */ | |
| 15884 | 177 | void pidgin_conv_update_buddy_icon(PurpleConversation *conv); |
| 4359 | 178 | |
| 179 | /** | |
|
11911
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
180 | * Sets the active conversation within a GTK-conversation. |
|
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
181 | * |
|
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
182 | * @param conv The conversation |
|
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
183 | */ |
| 15884 | 184 | void pidgin_conv_switch_active_conversation(PurpleConversation *conv); |
|
11911
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 | /** |
| 4359 | 187 | * Updates conversation buttons by protocol. |
| 188 | * | |
| 189 | * @param conv The conversation. | |
| 190 | */ | |
| 15884 | 191 | void pidgin_conv_update_buttons_by_protocol(PurpleConversation *conv); |
| 4359 | 192 | |
|
12021
dff8a2336172
[gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents:
11911
diff
changeset
|
193 | /** |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
194 | * 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
|
195 | * 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
|
196 | * hidden_only parameter, this search can be limited to hidden |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
197 | * conversations. The max_count parameter will limit the total number of |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
198 | * converations returned if greater than zero. The returned list should |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
199 | * be freed by the caller. |
|
12021
dff8a2336172
[gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents:
11911
diff
changeset
|
200 | * |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
201 | * @param type The type of conversation. |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
202 | * @param min_state The minimum unseen state. |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
203 | * @param hidden_only If TRUE, only consider hidden conversations. |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
204 | * @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
|
205 | * no maximum. |
| 15884 | 206 | * @return List of PurpleConversation matching criteria, or NULL. |
|
12021
dff8a2336172
[gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents:
11911
diff
changeset
|
207 | */ |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
208 | GList * |
| 15884 | 209 | pidgin_conversations_find_unseen_list(PurpleConversationType type, |
| 15882 | 210 | PidginUnseenState min_state, |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
211 | gboolean hidden_only, |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
212 | guint max_count); |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
213 | |
|
12175
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
214 | /** |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
215 | * Fill a menu with a list of conversations. Clicking the conversation |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
216 | * menu item will present that conversation to the user. |
|
12175
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
217 | * |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
218 | * @param menu Menu widget to add items to. |
| 15884 | 219 | * @param convs List of PurpleConversation to add to menu. |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
220 | * @return Number of conversations added to menu. |
|
12175
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
221 | */ |
|
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
222 | guint |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
223 | pidgin_conversations_fill_menu(GtkWidget *menu, GList *convs); |
|
12021
dff8a2336172
[gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents:
11911
diff
changeset
|
224 | |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
225 | /** |
| 15884 | 226 | * Presents a purple conversation to the user. |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
227 | * |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
228 | * @param conv The conversation. |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
229 | */ |
| 15884 | 230 | void pidgin_conv_present_conversation(PurpleConversation *conv); |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
231 | |
|
19721
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
232 | /** |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
233 | * Reattach Pidgin UI to a conversation. |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
234 | * |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
235 | * @param conv The conversation. |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
236 | * |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
237 | * @return Wheter Pidgin UI was successfully attached. |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
238 | */ |
|
19594
339d370c27f0
API to reattach a conversation to gtk UI. Use the new
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18277
diff
changeset
|
239 | gboolean pidgin_conv_attach_to_conversation(PurpleConversation *conv); |
|
339d370c27f0
API to reattach a conversation to gtk UI. Use the new
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18277
diff
changeset
|
240 | |
| 15563 | 241 | PidginWindow *pidgin_conv_get_window(PidginConversation *gtkconv); |
| 15884 | 242 | GdkPixbuf *pidgin_conv_get_tab_icon(PurpleConversation *conv, gboolean small_icon); |
| 243 | void pidgin_conv_new(PurpleConversation *conv); | |
| 15563 | 244 | int pidgin_conv_get_tab_at_xy(PidginWindow *win, int x, int y, gboolean *to_right); |
| 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 | 248 | /**************************************************************************/ |
|
12832
e5eb305a240d
[gaim-migrate @ 15180]
Richard Laager <rlaager@pidgin.im>
parents:
12468
diff
changeset
|
249 | /** @name GTK+ Conversations Subsystem */ |
| 8582 | 250 | /**************************************************************************/ |
| 251 | /*@{*/ | |
| 252 | ||
| 253 | /** | |
| 254 | * Returns the gtk conversations subsystem handle. | |
| 255 | * | |
| 256 | * @return The conversations subsystem handle. | |
| 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 | 259 | |
| 260 | /** | |
| 261 | * Initializes the GTK+ conversations subsystem. | |
| 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 | 264 | |
| 265 | /** | |
| 266 | * Uninitialized the GTK+ conversation subsystem. | |
| 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 | 269 | |
| 270 | /*@}*/ | |
| 271 | ||
| 15563 | 272 | #endif /* _PIDGIN_CONVERSATION_H_ */ |