Mon, 09 Jun 2008 19:31:43 +0000
Do not disable default smileys with dupliate shortcuts if custom smileys
are not supported by the prpl. Also, show the text of the disabled smiley
in the tooltip.
And use _prepend and _reverse, instead of _append for GLists, since some
people apparently have hundreds of custom smileys.
Closes #6057.
committer: Sadrul Habib Chowdhury <sadrul@pidgin.im>
| 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, |
|
9498
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
54 | CHAT_USERS_COLUMNS |
|
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
55 | }; |
|
432fc90c7e22
[gaim-migrate @ 10324]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9497
diff
changeset
|
56 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
57 | #define PIDGIN_CONVERSATION(conv) \ |
|
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
58 | ((PidginConversation *)(conv)->ui_data) |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9885
diff
changeset
|
59 | |
|
15692
ecda27df58b9
Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents:
15578
diff
changeset
|
60 | #define PIDGIN_IS_PIDGIN_CONVERSATION(conv) \ |
| 15884 | 61 | (purple_conversation_get_ui_ops(conv) == \ |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
62 | pidgin_conversations_get_conv_ui_ops()) |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9885
diff
changeset
|
63 | |
| 15577 | 64 | #include "pidgin.h" |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9885
diff
changeset
|
65 | #include "conversation.h" |
| 11581 | 66 | #include "gtkconvwin.h" |
|
10008
1de3454a0dca
[gaim-migrate @ 10925]
Mark Doliner <markdoliner@pidgin.im>
parents:
9885
diff
changeset
|
67 | |
| 4359 | 68 | /************************************************************************** |
| 69 | * @name Structures | |
| 70 | **************************************************************************/ | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5674
diff
changeset
|
71 | /*@{*/ |
| 4359 | 72 | |
| 73 | /** | |
| 74 | * A GTK+ representation of a graphical window containing one or more | |
| 75 | * conversations. | |
| 76 | */ | |
| 77 | ||
| 78 | /** | |
|
7820
06fc9f66d2cb
[gaim-migrate @ 8472]
Mark Doliner <markdoliner@pidgin.im>
parents:
7650
diff
changeset
|
79 | * A GTK+ Instant Message pane. |
| 4359 | 80 | */ |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
81 | struct _PidginImPane |
| 4359 | 82 | { |
| 83 | GtkWidget *block; | |
|
9468
f2108802d596
[gaim-migrate @ 10293]
Daniel Atallah <datallah@pidgin.im>
parents:
9339
diff
changeset
|
84 | GtkWidget *send_file; |
| 4359 | 85 | GtkWidget *sep1; |
| 86 | GtkWidget *sep2; | |
| 87 | GtkWidget *check; | |
| 88 | GtkWidget *progress; | |
| 15797 | 89 | guint32 typing_timer; |
| 4359 | 90 | |
| 91 | /* Buddy icon stuff */ | |
| 9885 | 92 | GtkWidget *icon_container; |
| 4359 | 93 | GtkWidget *icon; |
| 9687 | 94 | gboolean show_icon; |
| 8189 | 95 | gboolean animate; |
| 4359 | 96 | GdkPixbufAnimation *anim; |
| 97 | GdkPixbufAnimationIter *iter; | |
| 98 | guint32 icon_timer; | |
| 99 | }; | |
| 100 | ||
| 101 | /** | |
| 102 | * GTK+ Chat panes. | |
| 103 | */ | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
104 | struct _PidginChatPane |
| 4359 | 105 | { |
| 106 | GtkWidget *count; | |
| 107 | GtkWidget *list; | |
| 108 | GtkWidget *topic_text; | |
| 109 | }; | |
| 110 | ||
| 111 | /** | |
| 112 | * A GTK+ conversation pane. | |
| 113 | */ | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
114 | struct _PidginConversation |
| 4359 | 115 | { |
| 15884 | 116 | PurpleConversation *active_conv; |
| 10810 | 117 | GList *convs; |
|
13840
8ea0f9070d3a
[gaim-migrate @ 16287]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12832
diff
changeset
|
118 | GList *send_history; |
| 11581 | 119 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
120 | PidginWindow *win; |
| 11581 | 121 | |
| 4359 | 122 | gboolean make_sound; |
| 123 | ||
| 124 | GtkTooltips *tooltips; | |
| 125 | ||
| 126 | GtkWidget *tab_cont; | |
| 127 | GtkWidget *tabby; | |
| 6771 | 128 | GtkWidget *menu_tabby; |
| 4359 | 129 | |
| 130 | GtkWidget *imhtml; | |
| 131 | GtkTextBuffer *entry_buffer; | |
| 132 | GtkWidget *entry; | |
| 14654 | 133 | gboolean auto_resize; /* this is set to TRUE if the conversation |
| 134 | * is being resized by a non-user-initiated | |
| 135 | * event, such as the buddy icon appearing | |
| 136 | */ | |
| 15416 | 137 | gboolean entry_growing; /* True if the size of the entry was set |
| 138 | * automatically by typing too much to fit | |
| 139 | * in one line */ | |
|
15692
ecda27df58b9
Some more pidgininfication
Daniel Atallah <datallah@pidgin.im>
parents:
15578
diff
changeset
|
140 | |
|
7930
3005873ac411
[gaim-migrate @ 8601]
Mark Doliner <markdoliner@pidgin.im>
parents:
7887
diff
changeset
|
141 | GtkWidget *close; /* "x" on the tab */ |
|
6392
3db2b3c7b5aa
[gaim-migrate @ 6897]
Christian Hammond <chipx86@chipx86.com>
parents:
5908
diff
changeset
|
142 | GtkWidget *icon; |
| 4359 | 143 | GtkWidget *tab_label; |
| 6771 | 144 | GtkWidget *menu_icon; |
| 145 | GtkWidget *menu_label; | |
|
21121
3263d33e2838
Fix a leak of an unused GtkSizeGroup and deprecate the unused variable.
Daniel Atallah <datallah@pidgin.im>
parents:
20940
diff
changeset
|
146 | #ifndef PIDGIN_DISABLE_DEPRECATED |
|
3263d33e2838
Fix a leak of an unused GtkSizeGroup and deprecate the unused variable.
Daniel Atallah <datallah@pidgin.im>
parents:
20940
diff
changeset
|
147 | /** @deprecated */ |
| 4359 | 148 | GtkSizeGroup *sg; |
|
21121
3263d33e2838
Fix a leak of an unused GtkSizeGroup and deprecate the unused variable.
Daniel Atallah <datallah@pidgin.im>
parents:
20940
diff
changeset
|
149 | #else |
|
3263d33e2838
Fix a leak of an unused GtkSizeGroup and deprecate the unused variable.
Daniel Atallah <datallah@pidgin.im>
parents:
20940
diff
changeset
|
150 | gpointer depr1; |
|
3263d33e2838
Fix a leak of an unused GtkSizeGroup and deprecate the unused variable.
Daniel Atallah <datallah@pidgin.im>
parents:
20940
diff
changeset
|
151 | #endif |
| 4359 | 152 | |
| 9332 | 153 | GtkWidget *lower_hbox; |
| 4359 | 154 | |
| 8317 | 155 | GtkWidget *toolbar; |
| 4359 | 156 | |
| 15882 | 157 | PidginUnseenState unseen_state; |
|
12175
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
158 | guint unseen_count; |
|
11664
050d0caa0832
[gaim-migrate @ 13949]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11614
diff
changeset
|
159 | |
| 4359 | 160 | union |
| 161 | { | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
162 | PidginImPane *im; |
|
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
163 | PidginChatPane *chat; |
| 4359 | 164 | |
| 165 | } 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
|
166 | |
|
bd1e13b63e4b
In Pidgin, display a full date on the timestamp of the first message to
Richard Laager <rlaager@pidgin.im>
parents:
15572
diff
changeset
|
167 | 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
|
168 | 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
|
169 | GtkWidget *infopane; |
|
18277
51a0f13284cd
properly scale buddy icons in infopane to preserve aspect ratio
Sean Egan <seanegan@pidgin.im>
parents:
18253
diff
changeset
|
170 | 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
|
171 | 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
|
172 | |
|
86dfc5613674
Adding all the message from history in GtkIMHtml takes a bit long causing
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19594
diff
changeset
|
173 | /* 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
|
174 | * 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
|
175 | 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
|
176 | 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
|
177 | 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
|
178 | } attach; |
| 4359 | 179 | }; |
| 180 | ||
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5674
diff
changeset
|
181 | /*@}*/ |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5674
diff
changeset
|
182 | |
| 4359 | 183 | /************************************************************************** |
| 184 | * @name GTK+ Conversation API | |
| 185 | **************************************************************************/ | |
|
5673
47f654fb5134
[gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents:
5167
diff
changeset
|
186 | /*@{*/ |
|
47f654fb5134
[gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents:
5167
diff
changeset
|
187 | |
|
47f654fb5134
[gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents:
5167
diff
changeset
|
188 | /** |
|
10814
7e17cb56b019
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10810
diff
changeset
|
189 | * Returns the UI operations structure for GTK+ conversations. |
| 4359 | 190 | * |
|
10814
7e17cb56b019
[gaim-migrate @ 12468]
Luke Schierer <lschiere@pidgin.im>
parents:
10810
diff
changeset
|
191 | * @return The GTK+ conversation operations structure. |
| 4359 | 192 | */ |
| 15884 | 193 | PurpleConversationUiOps *pidgin_conversations_get_conv_ui_ops(void); |
| 4359 | 194 | |
| 195 | /** | |
| 196 | * Updates the buddy icon on a conversation. | |
| 197 | * | |
| 198 | * @param conv The conversation. | |
| 199 | */ | |
| 15884 | 200 | void pidgin_conv_update_buddy_icon(PurpleConversation *conv); |
| 4359 | 201 | |
| 202 | /** | |
|
11911
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
203 | * Sets the active conversation within a GTK-conversation. |
|
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
204 | * |
|
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
205 | * @param conv The conversation |
|
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
206 | */ |
| 15884 | 207 | void pidgin_conv_switch_active_conversation(PurpleConversation *conv); |
|
11911
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
208 | |
|
797cf405943c
[gaim-migrate @ 14202]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11690
diff
changeset
|
209 | /** |
| 4359 | 210 | * Updates conversation buttons by protocol. |
| 211 | * | |
| 212 | * @param conv The conversation. | |
| 213 | */ | |
| 15884 | 214 | void pidgin_conv_update_buttons_by_protocol(PurpleConversation *conv); |
| 4359 | 215 | |
|
12021
dff8a2336172
[gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents:
11911
diff
changeset
|
216 | /** |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
217 | * 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
|
218 | * 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
|
219 | * hidden_only parameter, this search can be limited to hidden |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
220 | * conversations. The max_count parameter will limit the total number of |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
221 | * converations returned if greater than zero. The returned list should |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
222 | * be freed by the caller. |
|
12021
dff8a2336172
[gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents:
11911
diff
changeset
|
223 | * |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
224 | * @param type The type of conversation. |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
225 | * @param min_state The minimum unseen state. |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
226 | * @param hidden_only If TRUE, only consider hidden conversations. |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
227 | * @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
|
228 | * no maximum. |
| 15884 | 229 | * @return List of PurpleConversation matching criteria, or NULL. |
|
12021
dff8a2336172
[gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents:
11911
diff
changeset
|
230 | */ |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
231 | GList * |
| 15884 | 232 | pidgin_conversations_find_unseen_list(PurpleConversationType type, |
| 15882 | 233 | PidginUnseenState min_state, |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
234 | gboolean hidden_only, |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
235 | guint max_count); |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
236 | |
|
12175
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
237 | /** |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
238 | * Fill a menu with a list of conversations. Clicking the conversation |
|
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
239 | * menu item will present that conversation to the user. |
|
12175
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
240 | * |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
241 | * @param menu Menu widget to add items to. |
| 15884 | 242 | * @param convs List of PurpleConversation to add to menu. |
|
12468
fe558afb01b4
[gaim-migrate @ 14778]
Casey Harkins <charkins@pidgin.im>
parents:
12239
diff
changeset
|
243 | * @return Number of conversations added to menu. |
|
12175
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
244 | */ |
|
3e790a58d906
[gaim-migrate @ 14477]
Casey Harkins <charkins@pidgin.im>
parents:
12132
diff
changeset
|
245 | guint |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
246 | pidgin_conversations_fill_menu(GtkWidget *menu, GList *convs); |
|
12021
dff8a2336172
[gaim-migrate @ 14314]
Casey Harkins <charkins@pidgin.im>
parents:
11911
diff
changeset
|
247 | |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
248 | /** |
| 15884 | 249 | * Presents a purple conversation to the user. |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
250 | * |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
251 | * @param conv The conversation. |
|
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
252 | */ |
| 15884 | 253 | void pidgin_conv_present_conversation(PurpleConversation *conv); |
|
12116
17bf39d2678f
[gaim-migrate @ 14416]
Casey Harkins <charkins@pidgin.im>
parents:
12021
diff
changeset
|
254 | |
|
19721
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
255 | /** |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
256 | * Reattach Pidgin UI to a conversation. |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
257 | * |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
258 | * @param conv The conversation. |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
259 | * |
|
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
260 | * @return Wheter Pidgin UI was successfully attached. |
|
20940
925d3d68b3af
Doxygen @since tags for libpurple and pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20890
diff
changeset
|
261 | * |
|
925d3d68b3af
Doxygen @since tags for libpurple and pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20890
diff
changeset
|
262 | * @since 2.2.0 |
|
19721
4aea7d4bd205
Document the function to reattach conv-ui.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19598
diff
changeset
|
263 | */ |
|
19594
339d370c27f0
API to reattach a conversation to gtk UI. Use the new
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18277
diff
changeset
|
264 | 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
|
265 | |
| 15563 | 266 | PidginWindow *pidgin_conv_get_window(PidginConversation *gtkconv); |
| 15884 | 267 | GdkPixbuf *pidgin_conv_get_tab_icon(PurpleConversation *conv, gboolean small_icon); |
| 268 | void pidgin_conv_new(PurpleConversation *conv); | |
| 15563 | 269 | int pidgin_conv_get_tab_at_xy(PidginWindow *win, int x, int y, gboolean *to_right); |
| 270 | gboolean pidgin_conv_is_hidden(PidginConversation *gtkconv); | |
|
5673
47f654fb5134
[gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents:
5167
diff
changeset
|
271 | /*@}*/ |
|
47f654fb5134
[gaim-migrate @ 6091]
Christian Hammond <chipx86@chipx86.com>
parents:
5167
diff
changeset
|
272 | |
| 8582 | 273 | /**************************************************************************/ |
|
12832
e5eb305a240d
[gaim-migrate @ 15180]
Richard Laager <rlaager@pidgin.im>
parents:
12468
diff
changeset
|
274 | /** @name GTK+ Conversations Subsystem */ |
| 8582 | 275 | /**************************************************************************/ |
| 276 | /*@{*/ | |
| 277 | ||
| 278 | /** | |
| 279 | * Returns the gtk conversations subsystem handle. | |
| 280 | * | |
| 281 | * @return The conversations subsystem handle. | |
| 282 | */ | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
283 | void *pidgin_conversations_get_handle(void); |
| 8582 | 284 | |
| 285 | /** | |
| 286 | * Initializes the GTK+ conversations subsystem. | |
| 287 | */ | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
288 | void pidgin_conversations_init(void); |
| 8582 | 289 | |
| 290 | /** | |
| 291 | * Uninitialized the GTK+ conversation subsystem. | |
| 292 | */ | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
293 | void pidgin_conversations_uninit(void); |
| 8582 | 294 | |
| 295 | /*@}*/ | |
| 296 | ||
| 15563 | 297 | #endif /* _PIDGIN_CONVERSATION_H_ */ |