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