libpurple/notify.c

Fri, 20 Oct 2023 01:09:45 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 20 Oct 2023 01:09:45 -0500
changeset 42375
8e61249e9b10
parent 41960
c8a4853205e3
child 42594
eddde70cedd8
permissions
-rw-r--r--

Implement ProtocolFileTransfer

Testing Done:
Ran the unit tests under valgrind.

Bugs closed: PIDGIN-17833

Reviewed at https://reviews.imfreedom.org/r/2643/

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

mercurial