Fri, 11 Oct 2013 01:26:38 +0530
Backed out the previous 4 changesets. GSignals do not seem feasible with pidgin's architecture using any method.
I think we should keep using purple signals for class events and use gsignals for instance events.
| 5437 | 1 | /** |
| 2 | * @file notify.c Notification API | |
| 3 | * @ingroup core | |
|
20330
650a7af9c238
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@pidgin.im>
parents:
19859
diff
changeset
|
4 | */ |
|
650a7af9c238
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@pidgin.im>
parents:
19859
diff
changeset
|
5 | |
|
650a7af9c238
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@pidgin.im>
parents:
19859
diff
changeset
|
6 | /* purple |
| 5437 | 7 | * |
| 15884 | 8 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 10 | * source distribution. | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
11 | * |
| 5437 | 12 | * This program is free software; you can redistribute it and/or modify |
| 13 | * it under the terms of the GNU General Public License as published by | |
| 14 | * the Free Software Foundation; either version 2 of the License, or | |
| 15 | * (at your option) any later version. | |
| 16 | * | |
| 17 | * This program is distributed in the hope that it will be useful, | |
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 20 | * GNU General Public License for more details. | |
| 21 | * | |
| 22 | * You should have received a copy of the GNU General Public License | |
| 23 | * 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:
18976
diff
changeset
|
24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 5437 | 25 | */ |
|
24569
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23346
diff
changeset
|
26 | #define _PURPLE_NOTIFY_C_ |
|
5dbd0617a27d
Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@pidgin.im>
parents:
23346
diff
changeset
|
27 | |
|
17111
d7ecc0f69a5c
DBusify userinfo stuff.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16667
diff
changeset
|
28 | #include "internal.h" |
|
d7ecc0f69a5c
DBusify userinfo stuff.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16667
diff
changeset
|
29 | #include "dbus-maybe.h" |
| 5437 | 30 | #include "notify.h" |
| 31 | ||
| 15884 | 32 | static PurpleNotifyUiOps *notify_ui_ops = NULL; |
| 5437 | 33 | static GList *handles = NULL; |
| 34 | ||
| 35 | typedef struct | |
| 36 | { | |
| 15884 | 37 | PurpleNotifyType type; |
| 5437 | 38 | void *handle; |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
39 | void *ui_handle; |
| 15884 | 40 | PurpleNotifyCloseCallback cb; |
|
12242
e7fc1748eb56
[gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents:
12220
diff
changeset
|
41 | gpointer cb_user_data; |
| 15884 | 42 | } PurpleNotifyInfo; |
| 5437 | 43 | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
44 | /** |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
45 | * Definition of a user info entry |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
46 | */ |
| 15884 | 47 | struct _PurpleNotifyUserInfoEntry |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
48 | { |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
49 | char *label; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
50 | char *value; |
| 15884 | 51 | PurpleNotifyUserInfoEntryType type; |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
52 | }; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
53 | |
| 15884 | 54 | struct _PurpleNotifyUserInfo |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
55 | { |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
56 | GQueue entries; |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
57 | }; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
58 | |
|
32438
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
59 | /** |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
60 | * Single column of a search result. |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
61 | */ |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
62 | struct _PurpleNotifySearchColumn |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
63 | { |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
64 | char *title; /**< Title of the column. */ |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
65 | gboolean visible; /**< Should the column be visible to the user. Defaults to TRUE. */ |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
66 | |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
67 | }; |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
68 | |
| 5437 | 69 | void * |
|
34449
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33527
diff
changeset
|
70 | purple_notify_message(void *handle, PurpleNotifyMsgType type, const char *title, |
|
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33527
diff
changeset
|
71 | const char *primary, const char *secondary, |
|
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33527
diff
changeset
|
72 | PurpleRequestCommonParameters *cpar, PurpleNotifyCloseCallback cb, |
|
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33527
diff
changeset
|
73 | gpointer user_data) |
| 5437 | 74 | { |
| 15884 | 75 | PurpleNotifyUiOps *ops; |
| 5437 | 76 | |
| 77 | g_return_val_if_fail(primary != NULL, NULL); | |
| 78 | ||
| 15884 | 79 | ops = purple_notify_get_ui_ops(); |
| 5437 | 80 | |
| 81 | if (ops != NULL && ops->notify_message != NULL) { | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
82 | void *ui_handle = ops->notify_message(type, title, primary, |
|
34449
bbcb198650b7
Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33527
diff
changeset
|
83 | secondary, cpar); |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
84 | if (ui_handle != NULL) { |
| 5437 | 85 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
86 | PurpleNotifyInfo *info = g_new0(PurpleNotifyInfo, 1); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
87 | info->type = PURPLE_NOTIFY_MESSAGE; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
88 | info->handle = handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
89 | info->ui_handle = ui_handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
90 | info->cb = cb; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
91 | info->cb_user_data = user_data; |
| 5437 | 92 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
93 | handles = g_list_append(handles, info); |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14064
diff
changeset
|
94 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
95 | return info->ui_handle; |
|
14064
0d17cfaf530d
[gaim-migrate @ 16587]
Evan Schoenberg <evands@pidgin.im>
parents:
14063
diff
changeset
|
96 | } |
|
0d17cfaf530d
[gaim-migrate @ 16587]
Evan Schoenberg <evands@pidgin.im>
parents:
14063
diff
changeset
|
97 | |
| 5437 | 98 | } |
| 99 | ||
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
100 | if (cb != NULL) |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
101 | cb(user_data); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
102 | |
| 5437 | 103 | return NULL; |
| 104 | } | |
| 105 | ||
| 106 | void * | |
| 15884 | 107 | purple_notify_email(void *handle, const char *subject, const char *from, |
| 108 | const char *to, const char *url, PurpleNotifyCloseCallback cb, | |
| 12220 | 109 | gpointer user_data) |
| 5437 | 110 | { |
| 15884 | 111 | PurpleNotifyUiOps *ops; |
| 5437 | 112 | |
| 15884 | 113 | ops = purple_notify_get_ui_ops(); |
| 5437 | 114 | |
| 115 | if (ops != NULL && ops->notify_email != NULL) { | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
116 | void *ui_handle; |
|
18976
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
117 | |
|
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
118 | purple_signal_emit(purple_notify_get_handle(), "displaying-email-notification", |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
119 | subject, from, to, url); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
120 | |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
121 | ui_handle = ops->notify_email(handle, subject, from, to, url); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
122 | |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
123 | if (ui_handle != NULL) { |
|
18976
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
124 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
125 | PurpleNotifyInfo *info = g_new0(PurpleNotifyInfo, 1); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
126 | info->type = PURPLE_NOTIFY_EMAIL; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
127 | info->handle = handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
128 | info->ui_handle = ui_handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
129 | info->cb = cb; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
130 | info->cb_user_data = user_data; |
| 5437 | 131 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
132 | handles = g_list_append(handles, info); |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
133 | |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
134 | return info->ui_handle; |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
135 | } |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
136 | } |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
137 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
138 | if (cb != NULL) |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
139 | cb(user_data); |
| 5437 | 140 | |
| 141 | return NULL; | |
| 142 | } | |
| 143 | ||
| 144 | void * | |
| 15884 | 145 | purple_notify_emails(void *handle, size_t count, gboolean detailed, |
|
5522
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
146 | const char **subjects, const char **froms, |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
147 | const char **tos, const char **urls, |
| 15884 | 148 | PurpleNotifyCloseCallback cb, gpointer user_data) |
| 5437 | 149 | { |
| 15884 | 150 | PurpleNotifyUiOps *ops; |
| 5437 | 151 | |
|
5522
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
152 | if (count == 1) { |
| 15884 | 153 | return purple_notify_email(handle, |
|
5522
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
154 | (subjects == NULL ? NULL : *subjects), |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
155 | (froms == NULL ? NULL : *froms), |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
156 | (tos == NULL ? NULL : *tos), |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
157 | (urls == NULL ? NULL : *urls), |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
158 | cb, user_data); |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
159 | } |
|
faa69c8f503d
[gaim-migrate @ 5922]
Christian Hammond <chipx86@chipx86.com>
parents:
5476
diff
changeset
|
160 | |
| 15884 | 161 | ops = purple_notify_get_ui_ops(); |
| 5437 | 162 | |
| 163 | if (ops != NULL && ops->notify_emails != NULL) { | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
164 | void *ui_handle; |
|
18976
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
165 | |
|
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
166 | purple_signal_emit(purple_notify_get_handle(), "displaying-emails-notification", |
|
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
167 | subjects, froms, tos, urls, count); |
|
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
168 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
169 | ui_handle = ops->notify_emails(handle, count, detailed, subjects, |
|
12242
e7fc1748eb56
[gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents:
12220
diff
changeset
|
170 | froms, tos, urls); |
| 5437 | 171 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
172 | if (ui_handle != NULL) { |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
173 | PurpleNotifyInfo *info = g_new0(PurpleNotifyInfo, 1); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
174 | info->type = PURPLE_NOTIFY_EMAILS; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
175 | info->handle = handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
176 | info->ui_handle = ui_handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
177 | info->cb = cb; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
178 | info->cb_user_data = user_data; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
179 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
180 | handles = g_list_append(handles, info); |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
181 | |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
182 | return info->ui_handle; |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
183 | } |
|
14064
0d17cfaf530d
[gaim-migrate @ 16587]
Evan Schoenberg <evands@pidgin.im>
parents:
14063
diff
changeset
|
184 | |
| 5437 | 185 | } |
| 186 | ||
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
187 | if (cb != NULL) |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
188 | cb(user_data); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
189 | |
| 5437 | 190 | return NULL; |
| 191 | } | |
| 192 | ||
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
193 | void * |
| 15884 | 194 | purple_notify_formatted(void *handle, const char *title, const char *primary, |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
195 | const char *secondary, const char *text, |
| 15884 | 196 | PurpleNotifyCloseCallback cb, gpointer user_data) |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
197 | { |
| 15884 | 198 | PurpleNotifyUiOps *ops; |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
199 | |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
200 | g_return_val_if_fail(primary != NULL, NULL); |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
201 | |
| 15884 | 202 | ops = purple_notify_get_ui_ops(); |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
203 | |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
204 | if (ops != NULL && ops->notify_formatted != NULL) { |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
205 | void *ui_handle = ops->notify_formatted(title, primary, secondary, text); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
206 | |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
207 | if (ui_handle != NULL) { |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
208 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
209 | PurpleNotifyInfo *info = g_new0(PurpleNotifyInfo, 1); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
210 | info->type = PURPLE_NOTIFY_FORMATTED; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
211 | info->handle = handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
212 | info->ui_handle = ui_handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
213 | info->cb = cb; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
214 | info->cb_user_data = user_data; |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
215 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
216 | handles = g_list_append(handles, info); |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14064
diff
changeset
|
217 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
218 | return info->ui_handle; |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
219 | } |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
220 | } |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
221 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
222 | if (cb != NULL) |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
223 | cb(user_data); |
|
6381
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
224 | return NULL; |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
225 | } |
|
53203c44c731
[gaim-migrate @ 6886]
Christian Hammond <chipx86@chipx86.com>
parents:
6356
diff
changeset
|
226 | |
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
227 | void * |
| 15884 | 228 | purple_notify_searchresults(PurpleConnection *gc, const char *title, |
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
229 | const char *primary, const char *secondary, |
| 15884 | 230 | PurpleNotifySearchResults *results, PurpleNotifyCloseCallback cb, |
| 13641 | 231 | gpointer user_data) |
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
232 | { |
| 15884 | 233 | PurpleNotifyUiOps *ops; |
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
234 | |
| 15884 | 235 | ops = purple_notify_get_ui_ops(); |
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
236 | |
|
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
237 | if (ops != NULL && ops->notify_searchresults != NULL) { |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
238 | void *ui_handle = ops->notify_searchresults(gc, title, primary, |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
239 | secondary, results, user_data); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
240 | if (ui_handle != NULL) { |
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
241 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
242 | PurpleNotifyInfo *info = g_new0(PurpleNotifyInfo, 1); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
243 | info->type = PURPLE_NOTIFY_SEARCHRESULTS; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
244 | info->handle = gc; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
245 | info->ui_handle = ui_handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
246 | info->cb = cb; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
247 | info->cb_user_data = user_data; |
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
248 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
249 | handles = g_list_append(handles, info); |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
250 | |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
251 | return info->ui_handle; |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
252 | } |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
253 | } |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
254 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
255 | if (cb != NULL) |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
256 | cb(user_data); |
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
257 | |
|
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
258 | return NULL; |
|
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
259 | } |
|
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
260 | |
| 11359 | 261 | void |
| 15884 | 262 | purple_notify_searchresults_free(PurpleNotifySearchResults *results) |
| 11359 | 263 | { |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
264 | GList *l; |
| 11359 | 265 | |
| 266 | g_return_if_fail(results != NULL); | |
| 267 | ||
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
268 | for (l = results->buttons; l; l = g_list_delete_link(l, l)) { |
| 15884 | 269 | PurpleNotifySearchButton *button = l->data; |
|
14038
3b7740b778ad
[gaim-migrate @ 16534]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13641
diff
changeset
|
270 | g_free(button->label); |
| 11359 | 271 | g_free(button); |
| 272 | } | |
| 273 | ||
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
274 | for (l = results->rows; l; l = g_list_delete_link(l, l)) { |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
275 | GList *row = l->data; |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14064
diff
changeset
|
276 | g_list_foreach(row, (GFunc)g_free, NULL); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14064
diff
changeset
|
277 | g_list_free(row); |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
278 | } |
| 11359 | 279 | |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
280 | for (l = results->columns; l; l = g_list_delete_link(l, l)) { |
| 15884 | 281 | PurpleNotifySearchColumn *column = l->data; |
| 11359 | 282 | g_free(column->title); |
| 283 | g_free(column); | |
| 284 | } | |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
285 | |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
286 | g_free(results); |
| 11359 | 287 | } |
| 288 | ||
| 289 | void | |
| 15884 | 290 | purple_notify_searchresults_new_rows(PurpleConnection *gc, |
| 291 | PurpleNotifySearchResults *results, | |
| 13641 | 292 | void *data) |
| 11359 | 293 | { |
| 15884 | 294 | PurpleNotifyUiOps *ops; |
| 11359 | 295 | |
| 15884 | 296 | ops = purple_notify_get_ui_ops(); |
| 11359 | 297 | |
| 298 | if (ops != NULL && ops->notify_searchresults != NULL) { | |
| 13641 | 299 | ops->notify_searchresults_new_rows(gc, results, data); |
| 11359 | 300 | } |
| 301 | } | |
| 302 | ||
| 303 | void | |
| 15884 | 304 | purple_notify_searchresults_button_add(PurpleNotifySearchResults *results, |
| 305 | PurpleNotifySearchButtonType type, | |
| 306 | PurpleNotifySearchResultsCallback cb) | |
| 11359 | 307 | { |
| 15884 | 308 | PurpleNotifySearchButton *button; |
| 11359 | 309 | |
| 310 | g_return_if_fail(results != NULL); | |
| 311 | g_return_if_fail(cb != NULL); | |
| 312 | ||
| 15884 | 313 | button = g_new0(PurpleNotifySearchButton, 1); |
| 11359 | 314 | button->callback = cb; |
| 315 | button->type = type; | |
| 316 | ||
| 317 | results->buttons = g_list_append(results->buttons, button); | |
| 318 | } | |
| 319 | ||
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
320 | |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
321 | void |
| 15884 | 322 | purple_notify_searchresults_button_add_labeled(PurpleNotifySearchResults *results, |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
323 | const char *label, |
| 15884 | 324 | PurpleNotifySearchResultsCallback cb) { |
| 325 | PurpleNotifySearchButton *button; | |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
326 | |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
327 | g_return_if_fail(results != NULL); |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
328 | g_return_if_fail(cb != NULL); |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
329 | g_return_if_fail(label != NULL); |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
330 | g_return_if_fail(*label != '\0'); |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
331 | |
| 15884 | 332 | button = g_new0(PurpleNotifySearchButton, 1); |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
333 | button->callback = cb; |
| 15884 | 334 | button->type = PURPLE_NOTIFY_BUTTON_LABELED; |
|
12624
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
335 | button->label = g_strdup(label); |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
336 | |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
337 | results->buttons = g_list_append(results->buttons, button); |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
338 | } |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
339 | |
|
c1c92f08976b
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12257
diff
changeset
|
340 | |
| 15884 | 341 | PurpleNotifySearchResults * |
| 342 | purple_notify_searchresults_new() | |
| 11359 | 343 | { |
| 15884 | 344 | PurpleNotifySearchResults *rs = g_new0(PurpleNotifySearchResults, 1); |
| 11359 | 345 | |
| 346 | return rs; | |
| 347 | } | |
| 348 | ||
| 349 | void | |
| 15884 | 350 | purple_notify_searchresults_column_add(PurpleNotifySearchResults *results, |
| 351 | PurpleNotifySearchColumn *column) | |
| 11359 | 352 | { |
| 353 | g_return_if_fail(results != NULL); | |
| 354 | g_return_if_fail(column != NULL); | |
| 355 | ||
| 356 | results->columns = g_list_append(results->columns, column); | |
| 357 | } | |
| 358 | ||
| 15884 | 359 | void purple_notify_searchresults_row_add(PurpleNotifySearchResults *results, |
| 11359 | 360 | GList *row) |
| 361 | { | |
| 362 | g_return_if_fail(results != NULL); | |
| 363 | g_return_if_fail(row != NULL); | |
| 364 | ||
| 365 | results->rows = g_list_append(results->rows, row); | |
| 366 | } | |
| 367 | ||
| 15884 | 368 | PurpleNotifySearchColumn * |
| 369 | purple_notify_searchresults_column_new(const char *title) | |
| 11359 | 370 | { |
| 15884 | 371 | PurpleNotifySearchColumn *sc; |
| 11359 | 372 | |
| 373 | g_return_val_if_fail(title != NULL, NULL); | |
| 374 | ||
| 15884 | 375 | sc = g_new0(PurpleNotifySearchColumn, 1); |
| 11359 | 376 | sc->title = g_strdup(title); |
| 31696 | 377 | sc->visible = TRUE; |
| 11359 | 378 | |
| 379 | return sc; | |
| 380 | } | |
| 381 | ||
|
32438
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
382 | const char *purple_notify_searchresult_column_get_title(const PurpleNotifySearchColumn *column) |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
383 | { |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
384 | g_return_val_if_fail(column != NULL, NULL); |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
385 | |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
386 | return column->title; |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
387 | } |
|
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32204
diff
changeset
|
388 | |
| 31696 | 389 | void purple_notify_searchresult_column_set_visible(PurpleNotifySearchColumn *column, gboolean visible) |
| 390 | { | |
| 391 | g_return_if_fail(column != NULL); | |
| 392 | ||
| 393 | column->visible = visible; | |
| 394 | } | |
| 395 | ||
| 396 | gboolean | |
| 397 | purple_notify_searchresult_column_is_visible(const PurpleNotifySearchColumn *column) | |
| 398 | { | |
| 399 | g_return_val_if_fail(column != NULL, FALSE); | |
| 400 | ||
| 401 | return column->visible; | |
| 402 | } | |
| 403 | ||
|
10439
5868d8f55fb1
[gaim-migrate @ 11697]
Alex Converse <alex.converse@gmail.com>
parents:
10240
diff
changeset
|
404 | void * |
| 15884 | 405 | purple_notify_userinfo(PurpleConnection *gc, const char *who, |
| 406 | PurpleNotifyUserInfo *user_info, PurpleNotifyCloseCallback cb, gpointer user_data) | |
| 9797 | 407 | { |
| 15884 | 408 | PurpleNotifyUiOps *ops; |
|
11531
63c017cfd8d2
[gaim-migrate @ 13780]
Luke Schierer <lschiere@pidgin.im>
parents:
11359
diff
changeset
|
409 | |
|
11533
f58436975d44
[gaim-migrate @ 13782]
Richard Laager <rlaager@pidgin.im>
parents:
11531
diff
changeset
|
410 | g_return_val_if_fail(who != NULL, NULL); |
| 9797 | 411 | |
| 15884 | 412 | ops = purple_notify_get_ui_ops(); |
| 9797 | 413 | |
| 414 | if (ops != NULL && ops->notify_userinfo != NULL) { | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
415 | void *ui_handle; |
| 12129 | 416 | |
| 15884 | 417 | purple_signal_emit(purple_notify_get_handle(), "displaying-userinfo", |
| 418 | purple_connection_get_account(gc), who, user_info); | |
| 12129 | 419 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
420 | ui_handle = ops->notify_userinfo(gc, who, user_info); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
421 | |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
422 | if (ui_handle != NULL) { |
| 9797 | 423 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
424 | PurpleNotifyInfo *info = g_new0(PurpleNotifyInfo, 1); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
425 | info->type = PURPLE_NOTIFY_USERINFO; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
426 | info->handle = gc; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
427 | info->ui_handle = ui_handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
428 | info->cb = cb; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
429 | info->cb_user_data = user_data; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
430 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
431 | handles = g_list_append(handles, info); |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
432 | |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
433 | return info->ui_handle; |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
434 | } |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
435 | } |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
436 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
437 | if (cb != NULL) |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
438 | cb(user_data); |
| 9797 | 439 | |
| 440 | return NULL; | |
| 441 | } | |
| 442 | ||
| 15884 | 443 | PurpleNotifyUserInfoEntry * |
| 444 | purple_notify_user_info_entry_new(const char *label, const char *value) | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
445 | { |
| 15884 | 446 | PurpleNotifyUserInfoEntry *user_info_entry; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
447 | |
| 15884 | 448 | user_info_entry = g_new0(PurpleNotifyUserInfoEntry, 1); |
|
17111
d7ecc0f69a5c
DBusify userinfo stuff.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16667
diff
changeset
|
449 | PURPLE_DBUS_REGISTER_POINTER(user_info_entry, PurpleNotifyUserInfoEntry); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
450 | user_info_entry->label = g_strdup(label); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
451 | user_info_entry->value = g_strdup(value); |
| 15884 | 452 | user_info_entry->type = PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR; |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
453 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
454 | return user_info_entry; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
455 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
456 | |
|
34795
979a2d8fb770
Made purple_notify_user_info_entry_destroy() public, so entries can be free'd after calling remove_entry
Ankit Vani <a@nevitus.org>
parents:
34793
diff
changeset
|
457 | void |
| 15884 | 458 | purple_notify_user_info_entry_destroy(PurpleNotifyUserInfoEntry *user_info_entry) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
459 | { |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
460 | g_return_if_fail(user_info_entry != NULL); |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
461 | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
462 | g_free(user_info_entry->label); |
|
20655
66f2dfd94949
Clear out the mail notifications for an account when we receive a notification of 0 emails.
Daniel Atallah <datallah@pidgin.im>
parents:
20330
diff
changeset
|
463 | g_free(user_info_entry->value); |
|
17111
d7ecc0f69a5c
DBusify userinfo stuff.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16667
diff
changeset
|
464 | PURPLE_DBUS_UNREGISTER_POINTER(user_info_entry); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
465 | g_free(user_info_entry); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
466 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
467 | |
| 15884 | 468 | PurpleNotifyUserInfo * |
| 469 | purple_notify_user_info_new() | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
470 | { |
| 15884 | 471 | PurpleNotifyUserInfo *user_info; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
472 | |
| 15884 | 473 | user_info = g_new0(PurpleNotifyUserInfo, 1); |
|
17111
d7ecc0f69a5c
DBusify userinfo stuff.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16667
diff
changeset
|
474 | PURPLE_DBUS_REGISTER_POINTER(user_info, PurpleNotifyUserInfo); |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
475 | g_queue_init(&user_info->entries); |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
476 | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
477 | return user_info; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
478 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
479 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
480 | void |
| 15884 | 481 | purple_notify_user_info_destroy(PurpleNotifyUserInfo *user_info) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
482 | { |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
483 | GList *l; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
484 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
485 | for (l = user_info->entries.head; l != NULL; l = l->next) { |
| 15884 | 486 | PurpleNotifyUserInfoEntry *user_info_entry = l->data; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
487 | |
| 15884 | 488 | purple_notify_user_info_entry_destroy(user_info_entry); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
489 | } |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
490 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
491 | g_queue_clear(&user_info->entries); |
|
17111
d7ecc0f69a5c
DBusify userinfo stuff.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16667
diff
changeset
|
492 | PURPLE_DBUS_UNREGISTER_POINTER(user_info); |
| 16667 | 493 | g_free(user_info); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
494 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
495 | |
|
32193
42173d1c1317
Change PurpleNotifyUserInfo->user_info_entries from a GList to a GQueue.
Mark Doliner <markdoliner@pidgin.im>
parents:
32191
diff
changeset
|
496 | GQueue * |
| 15884 | 497 | purple_notify_user_info_get_entries(PurpleNotifyUserInfo *user_info) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
498 | { |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
499 | g_return_val_if_fail(user_info != NULL, NULL); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
500 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
501 | return &user_info->entries; |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
502 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
503 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
504 | char * |
| 15884 | 505 | purple_notify_user_info_get_text_with_newline(PurpleNotifyUserInfo *user_info, const char *newline) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
506 | { |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
507 | GList *l; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
508 | GString *text; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
509 | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
510 | text = g_string_new(""); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
511 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
512 | for (l = user_info->entries.head; l != NULL; l = l->next) { |
| 15884 | 513 | PurpleNotifyUserInfoEntry *user_info_entry = l->data; |
|
15211
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
514 | /* Add a newline before a section header */ |
| 15884 | 515 | if (user_info_entry->type == PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
516 | g_string_append(text, newline); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
517 | |
|
15211
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
518 | /* Handle the label/value pair itself */ |
|
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
519 | /* XXX Todo: Use a larger size for a section header? */ |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
520 | if (user_info_entry->label) |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
521 | g_string_append_printf(text, "<b>%s</b>", user_info_entry->label); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
522 | if (user_info_entry->label && user_info_entry->value) |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
523 | g_string_append(text, ": "); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
524 | if (user_info_entry->value) |
|
20655
66f2dfd94949
Clear out the mail notifications for an account when we receive a notification of 0 emails.
Daniel Atallah <datallah@pidgin.im>
parents:
20330
diff
changeset
|
525 | g_string_append(text, user_info_entry->value); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
526 | |
|
15211
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
527 | /* Display a section break as a horizontal line */ |
| 15884 | 528 | if (user_info_entry->type == PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK) |
|
15211
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
529 | g_string_append(text, "<HR>"); |
|
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
530 | |
|
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
531 | /* Don't insert a new line before or after a section break; <HR> does that for us */ |
| 15884 | 532 | if ((user_info_entry->type != PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK) && |
| 533 | (l->next && ((((PurpleNotifyUserInfoEntry *)(l->next->data))->type != PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK)))) | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
534 | g_string_append(text, newline); |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
535 | |
|
15211
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
536 | /* Add an extra newline after a section header */ |
| 15884 | 537 | if (user_info_entry->type == PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
538 | g_string_append(text, newline); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
539 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
540 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
541 | return g_string_free(text, FALSE); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
542 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
543 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
544 | |
|
22762
7f13bec07bad
constify the return value from purple_notify_user_info_entry_get_label
Mark Doliner <markdoliner@pidgin.im>
parents:
21076
diff
changeset
|
545 | const gchar * |
| 15884 | 546 | purple_notify_user_info_entry_get_label(PurpleNotifyUserInfoEntry *user_info_entry) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
547 | { |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
548 | g_return_val_if_fail(user_info_entry != NULL, NULL); |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
549 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
550 | return user_info_entry->label; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
551 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
552 | |
|
15325
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
553 | void |
| 15884 | 554 | purple_notify_user_info_entry_set_label(PurpleNotifyUserInfoEntry *user_info_entry, const char *label) |
|
15325
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
555 | { |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
556 | g_return_if_fail(user_info_entry != NULL); |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
557 | |
|
15330
2a5ca291262f
[gaim-migrate @ 18058]
Evan Schoenberg <evands@pidgin.im>
parents:
15329
diff
changeset
|
558 | g_free(user_info_entry->label); |
|
2a5ca291262f
[gaim-migrate @ 18058]
Evan Schoenberg <evands@pidgin.im>
parents:
15329
diff
changeset
|
559 | user_info_entry->label = g_strdup(label); |
|
15325
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
560 | } |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
561 | |
|
22762
7f13bec07bad
constify the return value from purple_notify_user_info_entry_get_label
Mark Doliner <markdoliner@pidgin.im>
parents:
21076
diff
changeset
|
562 | const gchar * |
| 15884 | 563 | purple_notify_user_info_entry_get_value(PurpleNotifyUserInfoEntry *user_info_entry) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
564 | { |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
565 | g_return_val_if_fail(user_info_entry != NULL, NULL); |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
566 | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
567 | return user_info_entry->value; |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
568 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
569 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
570 | void |
| 15884 | 571 | purple_notify_user_info_entry_set_value(PurpleNotifyUserInfoEntry *user_info_entry, const char *value) |
|
15325
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
572 | { |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
573 | g_return_if_fail(user_info_entry != NULL); |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
574 | |
|
15330
2a5ca291262f
[gaim-migrate @ 18058]
Evan Schoenberg <evands@pidgin.im>
parents:
15329
diff
changeset
|
575 | g_free(user_info_entry->value); |
|
2a5ca291262f
[gaim-migrate @ 18058]
Evan Schoenberg <evands@pidgin.im>
parents:
15329
diff
changeset
|
576 | user_info_entry->value = g_strdup(value); |
|
15325
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
577 | } |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
578 | |
| 15884 | 579 | PurpleNotifyUserInfoEntryType |
| 580 | purple_notify_user_info_entry_get_type(PurpleNotifyUserInfoEntry *user_info_entry) | |
|
15325
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
581 | { |
| 15884 | 582 | g_return_val_if_fail(user_info_entry != NULL, PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR); |
|
15330
2a5ca291262f
[gaim-migrate @ 18058]
Evan Schoenberg <evands@pidgin.im>
parents:
15329
diff
changeset
|
583 | |
|
15325
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
584 | return user_info_entry->type; |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
585 | } |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
586 | |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
587 | void |
| 15884 | 588 | purple_notify_user_info_entry_set_type(PurpleNotifyUserInfoEntry *user_info_entry, PurpleNotifyUserInfoEntryType type) |
|
15325
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
589 | { |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
590 | g_return_if_fail(user_info_entry != NULL); |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
591 | |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
592 | user_info_entry->type = type; |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
593 | } |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
594 | |
|
d1dcb41d845b
[gaim-migrate @ 18053]
Evan Schoenberg <evands@pidgin.im>
parents:
15211
diff
changeset
|
595 | void |
|
32191
a4668d9dc8d1
Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents:
32143
diff
changeset
|
596 | purple_notify_user_info_add_pair_html(PurpleNotifyUserInfo *user_info, const char *label, const char *value) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
597 | { |
| 15884 | 598 | PurpleNotifyUserInfoEntry *entry; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
599 | |
| 15884 | 600 | entry = purple_notify_user_info_entry_new(label, value); |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
601 | g_queue_push_tail(&user_info->entries, entry); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
602 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
603 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
604 | void |
|
30537
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
605 | purple_notify_user_info_add_pair_plaintext(PurpleNotifyUserInfo *user_info, const char *label, const char *value) |
|
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
606 | { |
|
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
607 | gchar *escaped; |
|
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
608 | |
|
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
609 | escaped = g_markup_escape_text(value, -1); |
|
32191
a4668d9dc8d1
Rename purple_notify_user_info_add_pair to
Mark Doliner <markdoliner@pidgin.im>
parents:
32143
diff
changeset
|
610 | purple_notify_user_info_add_pair_html(user_info, label, escaped); |
|
30537
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
611 | g_free(escaped); |
|
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
612 | } |
|
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
613 | |
|
9f833935ecd7
Add a purple_notify_user_info_add_pair_plaintext function that accepts a
Mark Doliner <markdoliner@pidgin.im>
parents:
25888
diff
changeset
|
614 | void |
|
32204
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
615 | purple_notify_user_info_prepend_pair_html(PurpleNotifyUserInfo *user_info, const char *label, const char *value) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
616 | { |
| 15884 | 617 | PurpleNotifyUserInfoEntry *entry; |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
618 | |
| 15884 | 619 | entry = purple_notify_user_info_entry_new(label, value); |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
620 | g_queue_push_head(&user_info->entries, entry); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
621 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
622 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
623 | void |
|
32204
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
624 | purple_notify_user_info_prepend_pair_plaintext(PurpleNotifyUserInfo *user_info, const char *label, const char *value) |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
625 | { |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
626 | gchar *escaped; |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
627 | |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
628 | escaped = g_markup_escape_text(value, -1); |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
629 | purple_notify_user_info_prepend_pair_html(user_info, label, escaped); |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
630 | g_free(escaped); |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
631 | } |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
632 | |
|
2a09624616c3
Actually commit the purple_notify_user_info_prepend_pair_plaintext
Mark Doliner <markdoliner@pidgin.im>
parents:
32194
diff
changeset
|
633 | void |
| 15884 | 634 | purple_notify_user_info_remove_entry(PurpleNotifyUserInfo *user_info, PurpleNotifyUserInfoEntry *entry) |
|
15328
113b0b520010
[gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents:
15325
diff
changeset
|
635 | { |
|
113b0b520010
[gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents:
15325
diff
changeset
|
636 | g_return_if_fail(user_info != NULL); |
|
15329
52e77528c005
[gaim-migrate @ 18057]
Evan Schoenberg <evands@pidgin.im>
parents:
15328
diff
changeset
|
637 | g_return_if_fail(entry != NULL); |
|
15328
113b0b520010
[gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents:
15325
diff
changeset
|
638 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
639 | g_queue_remove(&user_info->entries, entry); |
|
15328
113b0b520010
[gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents:
15325
diff
changeset
|
640 | } |
|
113b0b520010
[gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents:
15325
diff
changeset
|
641 | |
|
113b0b520010
[gaim-migrate @ 18056]
Evan Schoenberg <evands@pidgin.im>
parents:
15325
diff
changeset
|
642 | void |
| 15884 | 643 | purple_notify_user_info_add_section_header(PurpleNotifyUserInfo *user_info, const char *label) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
644 | { |
| 15884 | 645 | PurpleNotifyUserInfoEntry *entry; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
646 | |
| 15884 | 647 | entry = purple_notify_user_info_entry_new(label, NULL); |
| 648 | entry->type = PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER; | |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
649 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
650 | g_queue_push_tail(&user_info->entries, entry); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
651 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
652 | |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
653 | void |
|
23346
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
654 | purple_notify_user_info_prepend_section_header(PurpleNotifyUserInfo *user_info, const char *label) |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
655 | { |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
656 | PurpleNotifyUserInfoEntry *entry; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
657 | |
|
23346
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
658 | entry = purple_notify_user_info_entry_new(label, NULL); |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
659 | entry->type = PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
660 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
661 | g_queue_push_head(&user_info->entries, entry); |
|
23346
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
662 | } |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
663 | |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
664 | void |
| 15884 | 665 | purple_notify_user_info_add_section_break(PurpleNotifyUserInfo *user_info) |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
666 | { |
| 15884 | 667 | PurpleNotifyUserInfoEntry *entry; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
668 | |
| 15884 | 669 | entry = purple_notify_user_info_entry_new(NULL, NULL); |
| 670 | entry->type = PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK; | |
|
15211
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
671 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
672 | g_queue_push_tail(&user_info->entries, entry); |
|
15211
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
673 | } |
|
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
674 | |
|
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
675 | void |
|
23346
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
676 | purple_notify_user_info_prepend_section_break(PurpleNotifyUserInfo *user_info) |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
677 | { |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
678 | PurpleNotifyUserInfoEntry *entry; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
679 | |
|
23346
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
680 | entry = purple_notify_user_info_entry_new(NULL, NULL); |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
681 | entry->type = PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK; |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
24569
diff
changeset
|
682 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
683 | g_queue_push_head(&user_info->entries, entry); |
|
23346
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
684 | } |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
685 | |
|
fceca7f4710f
Added prepend functions for notify_user_info section headers and breaks
Evan Schoenberg <evands@pidgin.im>
parents:
22968
diff
changeset
|
686 | void |
| 15884 | 687 | purple_notify_user_info_remove_last_item(PurpleNotifyUserInfo *user_info) |
|
15211
bb75b7bc10a8
[gaim-migrate @ 17935]
Evan Schoenberg <evands@pidgin.im>
parents:
15205
diff
changeset
|
688 | { |
|
32193
42173d1c1317
Change PurpleNotifyUserInfo->user_info_entries from a GList to a GQueue.
Mark Doliner <markdoliner@pidgin.im>
parents:
32191
diff
changeset
|
689 | PurpleNotifyUserInfoEntry *entry; |
|
42173d1c1317
Change PurpleNotifyUserInfo->user_info_entries from a GList to a GQueue.
Mark Doliner <markdoliner@pidgin.im>
parents:
32191
diff
changeset
|
690 | |
|
32194
44368fa4f040
user_info->user_info_entries is redundant. Let's call it
Mark Doliner <markdoliner@pidgin.im>
parents:
32193
diff
changeset
|
691 | entry = g_queue_pop_tail(&user_info->entries); |
|
32193
42173d1c1317
Change PurpleNotifyUserInfo->user_info_entries from a GList to a GQueue.
Mark Doliner <markdoliner@pidgin.im>
parents:
32191
diff
changeset
|
692 | if (entry) |
|
42173d1c1317
Change PurpleNotifyUserInfo->user_info_entries from a GList to a GQueue.
Mark Doliner <markdoliner@pidgin.im>
parents:
32191
diff
changeset
|
693 | purple_notify_user_info_entry_destroy(entry); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
694 | } |
|
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
14254
diff
changeset
|
695 | |
|
34793
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
696 | static PurpleNotifyUserInfo * |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
697 | purple_notify_user_info_copy(PurpleNotifyUserInfo *user_info) |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
698 | { |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
699 | PurpleNotifyUserInfo *user_info_copy; |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
700 | GList *l; |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
701 | |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
702 | g_return_val_if_fail(user_info != NULL, NULL); |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
703 | |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
704 | user_info_copy = purple_notify_user_info_new(); |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
705 | |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
706 | for (l = user_info->entries.head; l != NULL; l = l->next) { |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
707 | PurpleNotifyUserInfoEntry *new_entry, *user_info_entry = l->data; |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
708 | |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
709 | new_entry = purple_notify_user_info_entry_new(user_info_entry->label, |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
710 | user_info_entry->value); |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
711 | new_entry->type = user_info_entry->type; |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
712 | g_queue_push_tail(&user_info_copy->entries, new_entry); |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
713 | } |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
714 | |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
715 | return user_info_copy; |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
716 | } |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
717 | |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
718 | GType |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
719 | purple_notify_user_info_get_type(void) |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
720 | { |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
721 | static GType type = 0; |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
722 | |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
723 | if (type == 0) { |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
724 | type = g_boxed_type_register_static("PurpleNotifyUserInfo", |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
725 | (GBoxedCopyFunc)purple_notify_user_info_copy, |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
726 | (GBoxedFreeFunc)purple_notify_user_info_destroy); |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
727 | } |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
728 | |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
729 | return type; |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
730 | } |
|
07f8ceb4e690
Added GBoxed for PurpleNotifyUserInfo
Ankit Vani <a@nevitus.org>
parents:
33527
diff
changeset
|
731 | |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
732 | void * |
| 15884 | 733 | purple_notify_uri(void *handle, const char *uri) |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
734 | { |
| 15884 | 735 | PurpleNotifyUiOps *ops; |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
736 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
737 | g_return_val_if_fail(uri != NULL, NULL); |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
738 | |
| 15884 | 739 | ops = purple_notify_get_ui_ops(); |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
740 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
741 | if (ops != NULL && ops->notify_uri != NULL) { |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
742 | |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
743 | void *ui_handle = ops->notify_uri(uri); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
744 | |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
745 | if (ui_handle != NULL) { |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
746 | |
|
22968
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
747 | PurpleNotifyInfo *info = g_new0(PurpleNotifyInfo, 1); |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
748 | info->type = PURPLE_NOTIFY_URI; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
749 | info->handle = handle; |
|
06b1d79e09f6
Cleanup and avoid unnecessary alloc/free.
Daniel Atallah <datallah@pidgin.im>
parents:
22762
diff
changeset
|
750 | info->ui_handle = ui_handle; |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
751 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
752 | handles = g_list_append(handles, info); |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
14064
diff
changeset
|
753 | |
|
14063
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
754 | return info->ui_handle; |
|
884ee51b28e9
[gaim-migrate @ 16586]
Evan Schoenberg <evands@pidgin.im>
parents:
14038
diff
changeset
|
755 | } |
|
6465
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
756 | } |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
757 | |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
758 | return NULL; |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
759 | } |
|
bd201d637ff4
[gaim-migrate @ 6974]
Christian Hammond <chipx86@chipx86.com>
parents:
6381
diff
changeset
|
760 | |
|
34451
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
761 | gboolean |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
762 | purple_notify_is_valid_ui_handle(void *ui_handle, PurpleNotifyType *type) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
763 | { |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
764 | GList *it; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
765 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
766 | if (ui_handle == NULL) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
767 | return FALSE; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
768 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
769 | for (it = handles; it != NULL; it = g_list_next(it)) { |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
770 | PurpleNotifyInfo *info = it->data; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
771 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
772 | if (info->ui_handle != ui_handle) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
773 | continue; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
774 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
775 | if (type != NULL) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
776 | *type = info->type; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
777 | return TRUE; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
778 | } |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
779 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
780 | return FALSE; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
781 | } |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34449
diff
changeset
|
782 | |
| 5437 | 783 | void |
| 15884 | 784 | purple_notify_close(PurpleNotifyType type, void *ui_handle) |
| 5437 | 785 | { |
| 786 | GList *l; | |
| 15884 | 787 | PurpleNotifyUiOps *ops; |
| 5437 | 788 | |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
789 | g_return_if_fail(ui_handle != NULL); |
| 5437 | 790 | |
| 15884 | 791 | ops = purple_notify_get_ui_ops(); |
| 5437 | 792 | |
| 793 | for (l = handles; l != NULL; l = l->next) { | |
| 15884 | 794 | PurpleNotifyInfo *info = l->data; |
| 5437 | 795 | |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
796 | if (info->ui_handle == ui_handle) { |
| 5437 | 797 | handles = g_list_remove(handles, info); |
| 798 | ||
| 799 | if (ops != NULL && ops->close_notify != NULL) | |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
800 | ops->close_notify(info->type, ui_handle); |
| 5437 | 801 | |
|
12242
e7fc1748eb56
[gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents:
12220
diff
changeset
|
802 | if (info->cb != NULL) |
|
e7fc1748eb56
[gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents:
12220
diff
changeset
|
803 | info->cb(info->cb_user_data); |
|
e7fc1748eb56
[gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents:
12220
diff
changeset
|
804 | |
| 5437 | 805 | g_free(info); |
| 806 | ||
| 807 | break; | |
| 808 | } | |
| 809 | } | |
| 810 | } | |
| 811 | ||
| 812 | void | |
| 15884 | 813 | purple_notify_close_with_handle(void *handle) |
| 5437 | 814 | { |
|
17728
323b1481c2bc
sadrul's fix for the userinfo notify crash on disconnect that was caused by
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17111
diff
changeset
|
815 | GList *l, *prev = NULL; |
| 15884 | 816 | PurpleNotifyUiOps *ops; |
| 5437 | 817 | |
| 818 | g_return_if_fail(handle != NULL); | |
| 819 | ||
| 15884 | 820 | ops = purple_notify_get_ui_ops(); |
| 5437 | 821 | |
|
17728
323b1481c2bc
sadrul's fix for the userinfo notify crash on disconnect that was caused by
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17111
diff
changeset
|
822 | for (l = handles; l != NULL; l = prev ? prev->next : handles) { |
| 15884 | 823 | PurpleNotifyInfo *info = l->data; |
| 5437 | 824 | |
| 825 | if (info->handle == handle) { | |
| 826 | handles = g_list_remove(handles, info); | |
| 827 | ||
| 828 | if (ops != NULL && ops->close_notify != NULL) | |
|
5476
6f863ea68018
[gaim-migrate @ 5872]
Christian Hammond <chipx86@chipx86.com>
parents:
5437
diff
changeset
|
829 | ops->close_notify(info->type, info->ui_handle); |
| 5437 | 830 | |
|
12242
e7fc1748eb56
[gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents:
12220
diff
changeset
|
831 | if (info->cb != NULL) |
|
e7fc1748eb56
[gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents:
12220
diff
changeset
|
832 | info->cb(info->cb_user_data); |
|
e7fc1748eb56
[gaim-migrate @ 14544]
Richard Laager <rlaager@pidgin.im>
parents:
12220
diff
changeset
|
833 | |
| 5437 | 834 | g_free(info); |
|
17728
323b1481c2bc
sadrul's fix for the userinfo notify crash on disconnect that was caused by
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17111
diff
changeset
|
835 | } else |
|
323b1481c2bc
sadrul's fix for the userinfo notify crash on disconnect that was caused by
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17111
diff
changeset
|
836 | prev = l; |
| 5437 | 837 | } |
| 838 | } | |
| 839 | ||
| 840 | void | |
| 15884 | 841 | purple_notify_set_ui_ops(PurpleNotifyUiOps *ops) |
| 5437 | 842 | { |
| 843 | notify_ui_ops = ops; | |
| 844 | } | |
| 845 | ||
| 15884 | 846 | PurpleNotifyUiOps * |
| 847 | purple_notify_get_ui_ops(void) | |
| 5437 | 848 | { |
| 849 | return notify_ui_ops; | |
| 850 | } | |
| 12129 | 851 | |
| 852 | void * | |
| 15884 | 853 | purple_notify_get_handle(void) |
| 12129 | 854 | { |
| 855 | static int handle; | |
| 856 | ||
| 857 | return &handle; | |
| 858 | } | |
| 859 | ||
| 860 | void | |
| 15884 | 861 | purple_notify_init(void) |
| 12129 | 862 | { |
| 15884 | 863 | gpointer handle = purple_notify_get_handle(); |
| 12129 | 864 | |
|
18976
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
865 | purple_signal_register(handle, "displaying-email-notification", |
|
34820
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
866 | purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER, |
|
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
867 | G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, |
|
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
868 | G_TYPE_STRING, G_TYPE_STRING); |
|
18976
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
869 | |
|
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
870 | purple_signal_register(handle, "displaying-emails-notification", |
|
34820
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
871 | purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT, |
|
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
872 | G_TYPE_NONE, 5, G_TYPE_POINTER, G_TYPE_POINTER, |
|
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
873 | G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_UINT); |
|
18976
fcf071533791
Email notification signals from charkins. Fixes #1324
Sean Egan <seanegan@pidgin.im>
parents:
18191
diff
changeset
|
874 | |
|
33527
c51c70f5545a
Add email notification in the docklet area.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
32438
diff
changeset
|
875 | purple_signal_register(handle, "displaying-emails-clear", |
|
34820
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
876 | purple_marshal_VOID, G_TYPE_NONE, 0); |
|
33527
c51c70f5545a
Add email notification in the docklet area.
Jorge Villaseñor <salinasv@pidgin.im>
parents:
32438
diff
changeset
|
877 | |
| 15884 | 878 | purple_signal_register(handle, "displaying-userinfo", |
|
34820
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
879 | purple_marshal_VOID__POINTER_POINTER_POINTER, |
|
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
880 | G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, |
|
7a89045601ae
Refactored log, network, notify to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34795
diff
changeset
|
881 | PURPLE_TYPE_NOTIFY_USER_INFO); |
| 12129 | 882 | } |
| 883 | ||
| 884 | void | |
| 15884 | 885 | purple_notify_uninit(void) |
| 12129 | 886 | { |
| 15884 | 887 | purple_signals_unregister_by_instance(purple_notify_get_handle()); |
| 12129 | 888 | } |