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