Mon, 23 Apr 2018 16:37:00 +0100
Outbound screenshare window/monitor selection
Add a purple_request_screenshare_media() method. The UI will interact
with the user to select a monitor / window / region to share, depending
on the capabilities of the platform, and will invoke the callback with
a PurpleMediaElementInfo which represents the desired GStreamer src
element. If the UI request is cancelled, the callback is invoked with
NULL.
The PRPL can then use g_object_set_data(media, "src-element", info)
before calling purple_media_add_stream(media, …PURPLE_MEDIA_SEND_VIDEO…),
and the selected source element will be used for that session.
| 5477 | 1 | /** |
| 2 | * @file request.c Request API | |
| 3 | * @ingroup core | |
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
4 | */ |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
5 | |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
6 | /* purple |
| 5477 | 7 | * |
| 15884 | 8 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 10 | * source distribution. | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6325
diff
changeset
|
11 | * |
| 5477 | 12 | * This program is free software; you can redistribute it and/or modify |
| 13 | * it under the terms of the GNU General Public License as published by | |
| 14 | * the Free Software Foundation; either version 2 of the License, or | |
| 15 | * (at your option) any later version. | |
| 16 | * | |
| 17 | * This program is distributed in the hope that it will be useful, | |
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 20 | * GNU General Public License for more details. | |
| 21 | * | |
| 22 | * You should have received a copy of the GNU General Public License | |
| 23 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19585
diff
changeset
|
24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 5477 | 25 | */ |
|
24900
a19d983918c2
Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents:
24899
diff
changeset
|
26 | #define _PURPLE_REQUEST_C_ |
|
a19d983918c2
Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents:
24899
diff
changeset
|
27 | |
|
18265
9f26190d7f46
Move the define in internal.h instead.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18190
diff
changeset
|
28 | #include "internal.h" |
|
9f26190d7f46
Move the define in internal.h instead.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18190
diff
changeset
|
29 | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
30 | #include "notify.h" |
| 5477 | 31 | #include "request.h" |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
32 | #include "debug.h" |
| 5477 | 33 | |
| 15884 | 34 | static PurpleRequestUiOps *request_ui_ops = NULL; |
| 5477 | 35 | static GList *handles = NULL; |
| 36 | ||
| 37 | typedef struct | |
| 38 | { | |
| 15884 | 39 | PurpleRequestType type; |
| 5477 | 40 | void *handle; |
| 41 | void *ui_handle; | |
| 42 | ||
| 15884 | 43 | } PurpleRequestInfo; |
| 5477 | 44 | |
| 45 | ||
| 15884 | 46 | PurpleRequestFields * |
| 47 | purple_request_fields_new(void) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
48 | { |
| 15884 | 49 | PurpleRequestFields *fields; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
50 | |
| 15884 | 51 | fields = g_new0(PurpleRequestFields, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
52 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
53 | fields->fields = g_hash_table_new_full(g_str_hash, g_str_equal, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
54 | g_free, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
55 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
56 | return fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
57 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
58 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
59 | void |
| 15884 | 60 | purple_request_fields_destroy(PurpleRequestFields *fields) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
61 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
62 | g_return_if_fail(fields != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
63 | |
| 15884 | 64 | g_list_foreach(fields->groups, (GFunc)purple_request_field_group_destroy, NULL); |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
65 | g_list_free(fields->groups); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
66 | g_list_free(fields->required_fields); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
67 | g_hash_table_destroy(fields->fields); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
68 | g_free(fields); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
69 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
70 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
71 | void |
| 15884 | 72 | purple_request_fields_add_group(PurpleRequestFields *fields, |
| 73 | PurpleRequestFieldGroup *group) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
74 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
75 | GList *l; |
| 15884 | 76 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
77 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
78 | g_return_if_fail(fields != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
79 | g_return_if_fail(group != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
80 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
81 | fields->groups = g_list_append(fields->groups, group); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
82 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
83 | group->fields_list = fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
84 | |
| 15884 | 85 | for (l = purple_request_field_group_get_fields(group); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
86 | l != NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
87 | l = l->next) { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
88 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
89 | field = l->data; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
90 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
91 | g_hash_table_insert(fields->fields, |
| 15884 | 92 | g_strdup(purple_request_field_get_id(field)), field); |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
93 | |
| 15884 | 94 | if (purple_request_field_is_required(field)) { |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
95 | fields->required_fields = |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
96 | g_list_append(fields->required_fields, field); |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
97 | } |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
98 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
99 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
100 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
101 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
102 | GList * |
| 15884 | 103 | purple_request_fields_get_groups(const PurpleRequestFields *fields) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
104 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
105 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
106 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
107 | return fields->groups; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
108 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
109 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
110 | gboolean |
| 15884 | 111 | purple_request_fields_exists(const PurpleRequestFields *fields, const char *id) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
112 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
113 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
114 | g_return_val_if_fail(id != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
115 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
116 | return (g_hash_table_lookup(fields->fields, id) != NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
117 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
118 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
119 | GList * |
| 15884 | 120 | purple_request_fields_get_required(const PurpleRequestFields *fields) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
121 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
122 | g_return_val_if_fail(fields != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
123 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
124 | return fields->required_fields; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
125 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
126 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
127 | gboolean |
| 15884 | 128 | purple_request_fields_is_field_required(const PurpleRequestFields *fields, |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
129 | const char *id) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
130 | { |
| 15884 | 131 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
132 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
133 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
134 | g_return_val_if_fail(id != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
135 | |
| 15884 | 136 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
137 | return FALSE; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
138 | |
| 15884 | 139 | return purple_request_field_is_required(field); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
140 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
141 | |
|
24984
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
142 | gpointer |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
143 | purple_request_field_get_ui_data(const PurpleRequestField *field) |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
144 | { |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
145 | g_return_val_if_fail(field != NULL, NULL); |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
146 | |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
147 | return field->ui_data; |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
148 | } |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
149 | |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
150 | void |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
151 | purple_request_field_set_ui_data(PurpleRequestField *field, |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
152 | gpointer ui_data) |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
153 | { |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
154 | g_return_if_fail(field != NULL); |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
155 | |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
156 | field->ui_data = ui_data; |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
157 | } |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
158 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
159 | gboolean |
| 15884 | 160 | purple_request_fields_all_required_filled(const PurpleRequestFields *fields) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
161 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
162 | GList *l; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
163 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
164 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
165 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
166 | for (l = fields->required_fields; l != NULL; l = l->next) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
167 | { |
| 15884 | 168 | PurpleRequestField *field = (PurpleRequestField *)l->data; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
169 | |
| 15884 | 170 | switch (purple_request_field_get_type(field)) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
171 | { |
| 15884 | 172 | case PURPLE_REQUEST_FIELD_STRING: |
|
18384
a018c93324fd
Bug fix. Make 'all_required_fields_filled' understand that an empty string does not qualify as filled
Sean Egan <seanegan@pidgin.im>
parents:
18265
diff
changeset
|
173 | if (purple_request_field_string_get_value(field) == NULL || |
|
a018c93324fd
Bug fix. Make 'all_required_fields_filled' understand that an empty string does not qualify as filled
Sean Egan <seanegan@pidgin.im>
parents:
18265
diff
changeset
|
174 | *(purple_request_field_string_get_value(field)) == '\0') |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
175 | return FALSE; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
176 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
177 | break; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
178 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
179 | default: |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
180 | break; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
181 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
182 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
183 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
184 | return TRUE; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
185 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
186 | |
| 15884 | 187 | PurpleRequestField * |
| 188 | purple_request_fields_get_field(const PurpleRequestFields *fields, const char *id) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
189 | { |
| 15884 | 190 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
191 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
192 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
193 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
194 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
195 | field = g_hash_table_lookup(fields->fields, id); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
196 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
197 | g_return_val_if_fail(field != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
198 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
199 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
200 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
201 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
202 | const char * |
| 15884 | 203 | purple_request_fields_get_string(const PurpleRequestFields *fields, const char *id) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
204 | { |
| 15884 | 205 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
206 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
207 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
208 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
209 | |
| 15884 | 210 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
211 | return NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
212 | |
| 15884 | 213 | return purple_request_field_string_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
214 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
215 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
216 | int |
| 15884 | 217 | purple_request_fields_get_integer(const PurpleRequestFields *fields, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
218 | const char *id) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
219 | { |
| 15884 | 220 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
221 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
222 | g_return_val_if_fail(fields != NULL, 0); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
223 | g_return_val_if_fail(id != NULL, 0); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
224 | |
| 15884 | 225 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
226 | return 0; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
227 | |
| 15884 | 228 | return purple_request_field_int_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
229 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
230 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
231 | gboolean |
| 15884 | 232 | purple_request_fields_get_bool(const PurpleRequestFields *fields, const char *id) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
233 | { |
| 15884 | 234 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
235 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
236 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
237 | g_return_val_if_fail(id != NULL, FALSE); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
238 | |
| 15884 | 239 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
240 | return FALSE; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
241 | |
| 15884 | 242 | return purple_request_field_bool_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
243 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
244 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
245 | int |
| 15884 | 246 | purple_request_fields_get_choice(const PurpleRequestFields *fields, const char *id) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
247 | { |
| 15884 | 248 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
249 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
250 | g_return_val_if_fail(fields != NULL, -1); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
251 | g_return_val_if_fail(id != NULL, -1); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
252 | |
| 15884 | 253 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
254 | return -1; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
255 | |
| 15884 | 256 | return purple_request_field_choice_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
257 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
258 | |
| 15884 | 259 | PurpleAccount * |
| 260 | purple_request_fields_get_account(const PurpleRequestFields *fields, | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
261 | const char *id) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
262 | { |
| 15884 | 263 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
264 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
265 | g_return_val_if_fail(fields != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
266 | g_return_val_if_fail(id != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
267 | |
| 15884 | 268 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
269 | return NULL; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
270 | |
| 15884 | 271 | return purple_request_field_account_get_value(field); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
272 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
273 | |
| 15884 | 274 | PurpleRequestFieldGroup * |
| 275 | purple_request_field_group_new(const char *title) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
276 | { |
| 15884 | 277 | PurpleRequestFieldGroup *group; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
278 | |
| 15884 | 279 | group = g_new0(PurpleRequestFieldGroup, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
280 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
281 | group->title = g_strdup(title); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
282 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
283 | return group; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
284 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
285 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
286 | void |
| 15884 | 287 | purple_request_field_group_destroy(PurpleRequestFieldGroup *group) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
288 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
289 | g_return_if_fail(group != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
290 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
291 | g_free(group->title); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
292 | |
| 15884 | 293 | g_list_foreach(group->fields, (GFunc)purple_request_field_destroy, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
294 | g_list_free(group->fields); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
295 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
296 | g_free(group); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
297 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
298 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
299 | void |
| 15884 | 300 | purple_request_field_group_add_field(PurpleRequestFieldGroup *group, |
| 301 | PurpleRequestField *field) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
302 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
303 | g_return_if_fail(group != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
304 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
305 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
306 | group->fields = g_list_append(group->fields, field); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
307 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
308 | if (group->fields_list != NULL) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
309 | { |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
310 | g_hash_table_insert(group->fields_list->fields, |
| 15884 | 311 | g_strdup(purple_request_field_get_id(field)), field); |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
312 | |
| 15884 | 313 | if (purple_request_field_is_required(field)) |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
314 | { |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
315 | group->fields_list->required_fields = |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
316 | g_list_append(group->fields_list->required_fields, field); |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
317 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
318 | } |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
319 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
320 | field->group = group; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
321 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
322 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
323 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
324 | const char * |
| 15884 | 325 | purple_request_field_group_get_title(const PurpleRequestFieldGroup *group) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
326 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
327 | g_return_val_if_fail(group != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
328 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
329 | return group->title; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
330 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
331 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
332 | GList * |
| 15884 | 333 | purple_request_field_group_get_fields(const PurpleRequestFieldGroup *group) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
334 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
335 | g_return_val_if_fail(group != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
336 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
337 | return group->fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
338 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
339 | |
| 15884 | 340 | PurpleRequestField * |
| 341 | purple_request_field_new(const char *id, const char *text, | |
| 342 | PurpleRequestFieldType type) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
343 | { |
| 15884 | 344 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
345 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
346 | g_return_val_if_fail(id != NULL, NULL); |
| 15884 | 347 | g_return_val_if_fail(type != PURPLE_REQUEST_FIELD_NONE, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
348 | |
| 15884 | 349 | field = g_new0(PurpleRequestField, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
350 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
351 | field->id = g_strdup(id); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
352 | field->type = type; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
353 | |
| 15884 | 354 | purple_request_field_set_label(field, text); |
| 355 | purple_request_field_set_visible(field, TRUE); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
356 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
357 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
358 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
359 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
360 | void |
| 15884 | 361 | purple_request_field_destroy(PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
362 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
363 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
364 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
365 | g_free(field->id); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
366 | g_free(field->label); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
367 | g_free(field->type_hint); |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
368 | |
| 15884 | 369 | if (field->type == PURPLE_REQUEST_FIELD_STRING) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
370 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
371 | g_free(field->u.string.default_value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
372 | g_free(field->u.string.value); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
373 | } |
| 15884 | 374 | else if (field->type == PURPLE_REQUEST_FIELD_CHOICE) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
375 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
376 | if (field->u.choice.labels != NULL) |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
377 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
378 | g_list_foreach(field->u.choice.labels, (GFunc)g_free, NULL); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
379 | g_list_free(field->u.choice.labels); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
380 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
381 | } |
| 15884 | 382 | else if (field->type == PURPLE_REQUEST_FIELD_LIST) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
383 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
384 | if (field->u.list.items != NULL) |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
385 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
386 | g_list_foreach(field->u.list.items, (GFunc)g_free, NULL); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
387 | g_list_free(field->u.list.items); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
388 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
389 | |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
390 | if (field->u.list.selected != NULL) |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
391 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
392 | g_list_foreach(field->u.list.selected, (GFunc)g_free, NULL); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
393 | g_list_free(field->u.list.selected); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
394 | } |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
395 | |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
396 | g_hash_table_destroy(field->u.list.item_data); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
397 | g_hash_table_destroy(field->u.list.selected_table); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
398 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
399 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
400 | g_free(field); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
401 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
402 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
403 | void |
| 15884 | 404 | purple_request_field_set_label(PurpleRequestField *field, const char *label) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
405 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
406 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
407 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
408 | g_free(field->label); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
409 | field->label = g_strdup(label); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
410 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
411 | |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
412 | void |
| 15884 | 413 | purple_request_field_set_visible(PurpleRequestField *field, gboolean visible) |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
414 | { |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
415 | g_return_if_fail(field != NULL); |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
416 | |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
417 | field->visible = visible; |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
418 | } |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
419 | |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
420 | void |
| 15884 | 421 | purple_request_field_set_type_hint(PurpleRequestField *field, |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
422 | const char *type_hint) |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
423 | { |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
424 | g_return_if_fail(field != NULL); |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
425 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
426 | g_free(field->type_hint); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
427 | field->type_hint = g_strdup(type_hint); |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
428 | } |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
429 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
430 | void |
| 15884 | 431 | purple_request_field_set_required(PurpleRequestField *field, gboolean required) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
432 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
433 | g_return_if_fail(field != NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
434 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
435 | if (field->required == required) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
436 | return; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
437 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
438 | field->required = required; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
439 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
440 | if (field->group != NULL) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
441 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
442 | if (required) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
443 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
444 | field->group->fields_list->required_fields = |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
445 | g_list_append(field->group->fields_list->required_fields, |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
446 | field); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
447 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
448 | else |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
449 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
450 | field->group->fields_list->required_fields = |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
451 | g_list_remove(field->group->fields_list->required_fields, |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
452 | field); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
453 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
454 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
455 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
456 | |
| 15884 | 457 | PurpleRequestFieldType |
| 458 | purple_request_field_get_type(const PurpleRequestField *field) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
459 | { |
| 15884 | 460 | g_return_val_if_fail(field != NULL, PURPLE_REQUEST_FIELD_NONE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
461 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
462 | return field->type; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
463 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
464 | |
|
24984
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
465 | PurpleRequestFieldGroup * |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
466 | purple_request_field_get_group(const PurpleRequestField *field) |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
467 | { |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
468 | g_return_val_if_fail(field != NULL, NULL); |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
469 | |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
470 | return field->group; |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
471 | } |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
472 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
473 | const char * |
| 15884 | 474 | purple_request_field_get_id(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
475 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
476 | g_return_val_if_fail(field != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
477 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
478 | return field->id; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
479 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
480 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
481 | const char * |
| 15884 | 482 | purple_request_field_get_label(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
483 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
484 | g_return_val_if_fail(field != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
485 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
486 | return field->label; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
487 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
488 | |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
489 | gboolean |
| 15884 | 490 | purple_request_field_is_visible(const PurpleRequestField *field) |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
491 | { |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
492 | g_return_val_if_fail(field != NULL, FALSE); |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
493 | |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
494 | return field->visible; |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
495 | } |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
496 | |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
497 | const char * |
| 15884 | 498 | purple_request_field_get_type_hint(const PurpleRequestField *field) |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
499 | { |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
500 | g_return_val_if_fail(field != NULL, NULL); |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
501 | |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
502 | return field->type_hint; |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
503 | } |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
504 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
505 | gboolean |
| 15884 | 506 | purple_request_field_is_required(const PurpleRequestField *field) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
507 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
508 | g_return_val_if_fail(field != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
509 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
510 | return field->required; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
511 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
512 | |
| 15884 | 513 | PurpleRequestField * |
| 514 | purple_request_field_string_new(const char *id, const char *text, | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
515 | const char *default_value, gboolean multiline) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
516 | { |
| 15884 | 517 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
518 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
519 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
520 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
521 | |
| 15884 | 522 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_STRING); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
523 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
524 | field->u.string.multiline = multiline; |
|
7048
53e1ea65540e
[gaim-migrate @ 7611]
Christian Hammond <chipx86@chipx86.com>
parents:
7047
diff
changeset
|
525 | field->u.string.editable = TRUE; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
526 | |
| 15884 | 527 | purple_request_field_string_set_default_value(field, default_value); |
| 528 | purple_request_field_string_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
529 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
530 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
531 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
532 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
533 | void |
| 15884 | 534 | purple_request_field_string_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
535 | const char *default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
536 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
537 | g_return_if_fail(field != NULL); |
| 15884 | 538 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
539 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
540 | g_free(field->u.string.default_value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
541 | field->u.string.default_value = g_strdup(default_value); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
542 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
543 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
544 | void |
| 15884 | 545 | purple_request_field_string_set_value(PurpleRequestField *field, const char *value) |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
546 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
547 | g_return_if_fail(field != NULL); |
| 15884 | 548 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
549 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
550 | g_free(field->u.string.value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
551 | field->u.string.value = g_strdup(value); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
552 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
553 | |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
554 | void |
| 15884 | 555 | purple_request_field_string_set_masked(PurpleRequestField *field, gboolean masked) |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
556 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
557 | g_return_if_fail(field != NULL); |
| 15884 | 558 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
559 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
560 | field->u.string.masked = masked; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
561 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
562 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
563 | void |
| 15884 | 564 | purple_request_field_string_set_editable(PurpleRequestField *field, |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
565 | gboolean editable) |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
566 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
567 | g_return_if_fail(field != NULL); |
| 15884 | 568 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
569 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
570 | field->u.string.editable = editable; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
571 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
572 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
573 | const char * |
| 15884 | 574 | purple_request_field_string_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
575 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
576 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 577 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
578 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
579 | return field->u.string.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
580 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
581 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
582 | const char * |
| 15884 | 583 | purple_request_field_string_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
584 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
585 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 586 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
587 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
588 | return field->u.string.value; |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
589 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
590 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
591 | gboolean |
| 15884 | 592 | purple_request_field_string_is_multiline(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
593 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
594 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 595 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
596 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
597 | return field->u.string.multiline; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
598 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
599 | |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
600 | gboolean |
| 15884 | 601 | purple_request_field_string_is_masked(const PurpleRequestField *field) |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
602 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
603 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 604 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE); |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
605 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
606 | return field->u.string.masked; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
607 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
608 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
609 | gboolean |
| 15884 | 610 | purple_request_field_string_is_editable(const PurpleRequestField *field) |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
611 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
612 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 613 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE); |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
614 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
615 | return field->u.string.editable; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
616 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
617 | |
| 15884 | 618 | PurpleRequestField * |
| 619 | purple_request_field_int_new(const char *id, const char *text, | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
620 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
621 | { |
| 15884 | 622 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
623 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
624 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
625 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
626 | |
| 15884 | 627 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_INTEGER); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
628 | |
| 15884 | 629 | purple_request_field_int_set_default_value(field, default_value); |
| 630 | purple_request_field_int_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
631 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
632 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
633 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
634 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
635 | void |
| 15884 | 636 | purple_request_field_int_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
637 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
638 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
639 | g_return_if_fail(field != NULL); |
| 15884 | 640 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
641 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
642 | field->u.integer.default_value = default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
643 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
644 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
645 | void |
| 15884 | 646 | purple_request_field_int_set_value(PurpleRequestField *field, int value) |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
647 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
648 | g_return_if_fail(field != NULL); |
| 15884 | 649 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
650 | |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
651 | field->u.integer.value = value; |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
652 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
653 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
654 | int |
| 15884 | 655 | purple_request_field_int_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
656 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
657 | g_return_val_if_fail(field != NULL, 0); |
| 15884 | 658 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER, 0); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
659 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
660 | return field->u.integer.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
661 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
662 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
663 | int |
| 15884 | 664 | purple_request_field_int_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
665 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
666 | g_return_val_if_fail(field != NULL, 0); |
| 15884 | 667 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER, 0); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
668 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
669 | return field->u.integer.value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
670 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
671 | |
| 15884 | 672 | PurpleRequestField * |
| 673 | purple_request_field_bool_new(const char *id, const char *text, | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
674 | gboolean default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
675 | { |
| 15884 | 676 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
677 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
678 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
679 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
680 | |
| 15884 | 681 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_BOOLEAN); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
682 | |
| 15884 | 683 | purple_request_field_bool_set_default_value(field, default_value); |
| 684 | purple_request_field_bool_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
685 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
686 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
687 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
688 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
689 | void |
| 15884 | 690 | purple_request_field_bool_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
691 | gboolean default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
692 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
693 | g_return_if_fail(field != NULL); |
| 15884 | 694 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
695 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
696 | field->u.boolean.default_value = default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
697 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
698 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
699 | void |
| 15884 | 700 | purple_request_field_bool_set_value(PurpleRequestField *field, gboolean value) |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
701 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
702 | g_return_if_fail(field != NULL); |
| 15884 | 703 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
704 | |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
705 | field->u.boolean.value = value; |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
706 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
707 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
708 | gboolean |
| 15884 | 709 | purple_request_field_bool_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
710 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
711 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 712 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN, FALSE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
713 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
714 | return field->u.boolean.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
715 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
716 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
717 | gboolean |
| 15884 | 718 | purple_request_field_bool_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
719 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
720 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 721 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN, FALSE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
722 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
723 | return field->u.boolean.value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
724 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
725 | |
| 15884 | 726 | PurpleRequestField * |
| 727 | purple_request_field_choice_new(const char *id, const char *text, | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
728 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
729 | { |
| 15884 | 730 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
731 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
732 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
733 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
734 | |
| 15884 | 735 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_CHOICE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
736 | |
| 15884 | 737 | purple_request_field_choice_set_default_value(field, default_value); |
| 738 | purple_request_field_choice_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
739 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
740 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
741 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
742 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
743 | void |
| 15884 | 744 | purple_request_field_choice_add(PurpleRequestField *field, const char *label) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
745 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
746 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
747 | g_return_if_fail(label != NULL); |
| 15884 | 748 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
749 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
750 | field->u.choice.labels = g_list_append(field->u.choice.labels, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
751 | g_strdup(label)); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
752 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
753 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
754 | void |
| 15884 | 755 | purple_request_field_choice_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
756 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
757 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
758 | g_return_if_fail(field != NULL); |
| 15884 | 759 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
760 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
761 | field->u.choice.default_value = default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
762 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
763 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
764 | void |
| 15884 | 765 | purple_request_field_choice_set_value(PurpleRequestField *field, |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
766 | int value) |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
767 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
768 | g_return_if_fail(field != NULL); |
| 15884 | 769 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
770 | |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
771 | field->u.choice.value = value; |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
772 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
773 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
774 | int |
| 15884 | 775 | purple_request_field_choice_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
776 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
777 | g_return_val_if_fail(field != NULL, -1); |
| 15884 | 778 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, -1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
779 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
780 | return field->u.choice.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
781 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
782 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
783 | int |
| 15884 | 784 | purple_request_field_choice_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
785 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
786 | g_return_val_if_fail(field != NULL, -1); |
| 15884 | 787 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, -1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
788 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
789 | return field->u.choice.value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
790 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
791 | |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
792 | GList * |
| 15884 | 793 | purple_request_field_choice_get_labels(const PurpleRequestField *field) |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
794 | { |
|
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
795 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 796 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, NULL); |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
797 | |
|
5810
1d659318f194
[gaim-migrate @ 6240]
Christian Hammond <chipx86@chipx86.com>
parents:
5809
diff
changeset
|
798 | return field->u.choice.labels; |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
799 | } |
|
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
800 | |
| 15884 | 801 | PurpleRequestField * |
| 802 | purple_request_field_list_new(const char *id, const char *text) | |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
803 | { |
| 15884 | 804 | PurpleRequestField *field; |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
805 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
806 | g_return_val_if_fail(id != NULL, NULL); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
807 | |
| 15884 | 808 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_LIST); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
809 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
810 | field->u.list.item_data = g_hash_table_new_full(g_str_hash, g_str_equal, |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
811 | g_free, NULL); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
812 | |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
813 | field->u.list.selected_table = |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
814 | g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
815 | |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
816 | return field; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
817 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
818 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
819 | void |
| 15884 | 820 | purple_request_field_list_set_multi_select(PurpleRequestField *field, |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
821 | gboolean multi_select) |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
822 | { |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
823 | g_return_if_fail(field != NULL); |
| 15884 | 824 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
825 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
826 | field->u.list.multiple_selection = multi_select; |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
827 | } |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
828 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
829 | gboolean |
| 15884 | 830 | purple_request_field_list_get_multi_select(const PurpleRequestField *field) |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
831 | { |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
832 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 833 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, FALSE); |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
834 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
835 | return field->u.list.multiple_selection; |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
836 | } |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
837 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
838 | void * |
| 15884 | 839 | purple_request_field_list_get_data(const PurpleRequestField *field, |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
840 | const char *text) |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
841 | { |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
842 | g_return_val_if_fail(field != NULL, NULL); |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
843 | g_return_val_if_fail(text != NULL, NULL); |
| 15884 | 844 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL); |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
845 | |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
846 | return g_hash_table_lookup(field->u.list.item_data, text); |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
847 | } |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
848 | |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
849 | void |
| 15884 | 850 | purple_request_field_list_add(PurpleRequestField *field, const char *item, |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
851 | void *data) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
852 | { |
|
24899
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
853 | purple_request_field_list_add_icon(field, item, NULL, data); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
854 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
855 | |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
856 | void |
|
24625
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
857 | purple_request_field_list_add_icon(PurpleRequestField *field, const char *item, const char* icon_path, |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
858 | void *data) |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
859 | { |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
860 | g_return_if_fail(field != NULL); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
861 | g_return_if_fail(item != NULL); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
862 | g_return_if_fail(data != NULL); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
863 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
864 | |
|
24899
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
865 | if (icon_path) |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
866 | { |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
867 | if (field->u.list.icons == NULL) |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
868 | { |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
869 | GList *l; |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
870 | for (l = field->u.list.items ; l != NULL ; l = l->next) |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
871 | { |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
872 | /* Order doesn't matter, because we're just |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
873 | * filing in blank items. So, we use |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
874 | * g_list_prepend() because it's faster. */ |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
875 | field->u.list.icons = g_list_prepend(field->u.list.icons, NULL); |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
876 | } |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
877 | } |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
878 | field->u.list.icons = g_list_append(field->u.list.icons, g_strdup(icon_path)); |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
879 | } |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
880 | else if (field->u.list.icons) |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
881 | { |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
882 | /* Keep this even with the items list. */ |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
883 | field->u.list.icons = g_list_append(field->u.list.icons, NULL); |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
884 | } |
|
54719498c900
Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents:
24892
diff
changeset
|
885 | |
|
24625
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
886 | field->u.list.items = g_list_append(field->u.list.items, g_strdup(item)); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
887 | g_hash_table_insert(field->u.list.item_data, g_strdup(item), data); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
888 | } |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
889 | |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
890 | void |
| 15884 | 891 | purple_request_field_list_add_selected(PurpleRequestField *field, const char *item) |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
892 | { |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
893 | g_return_if_fail(field != NULL); |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
894 | g_return_if_fail(item != NULL); |
| 15884 | 895 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
896 | |
| 15884 | 897 | if (!purple_request_field_list_get_multi_select(field) && |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
898 | field->u.list.selected != NULL) |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
899 | { |
| 15884 | 900 | purple_debug_warning("request", |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
901 | "More than one item added to non-multi-select " |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
902 | "field %s\n", |
| 15884 | 903 | purple_request_field_get_id(field)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
904 | return; |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
905 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
906 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
907 | field->u.list.selected = g_list_append(field->u.list.selected, |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
908 | g_strdup(item)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
909 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
910 | g_hash_table_insert(field->u.list.selected_table, g_strdup(item), NULL); |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
911 | } |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
912 | |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
913 | void |
| 15884 | 914 | purple_request_field_list_clear_selected(PurpleRequestField *field) |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
915 | { |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
916 | g_return_if_fail(field != NULL); |
| 15884 | 917 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
918 | |
|
7962
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
919 | if (field->u.list.selected != NULL) |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
920 | { |
|
7962
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
921 | g_list_foreach(field->u.list.selected, (GFunc)g_free, NULL); |
|
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
922 | g_list_free(field->u.list.selected); |
|
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
923 | field->u.list.selected = NULL; |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
924 | } |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
925 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
926 | g_hash_table_destroy(field->u.list.selected_table); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
927 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
928 | field->u.list.selected_table = |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
929 | g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
930 | } |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
931 | |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
932 | void |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
933 | purple_request_field_list_set_selected(PurpleRequestField *field, GList *items) |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
934 | { |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
935 | GList *l; |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
936 | |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
937 | g_return_if_fail(field != NULL); |
|
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
938 | g_return_if_fail(items != NULL); |
| 15884 | 939 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
940 | |
| 15884 | 941 | purple_request_field_list_clear_selected(field); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
942 | |
| 15884 | 943 | if (!purple_request_field_list_get_multi_select(field) && |
|
24816
bd870d9ff0ab
The other day while struct hiding, I noticed a for loop that was checking
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
944 | items && items->next) |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
945 | { |
| 15884 | 946 | purple_debug_warning("request", |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
947 | "More than one item added to non-multi-select " |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
948 | "field %s\n", |
| 15884 | 949 | purple_request_field_get_id(field)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
950 | return; |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
951 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
952 | |
|
14128
3f6654cc8746
[gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14097
diff
changeset
|
953 | for (l = items; l != NULL; l = l->next) |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
954 | { |
|
14128
3f6654cc8746
[gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14097
diff
changeset
|
955 | field->u.list.selected = g_list_append(field->u.list.selected, |
|
3f6654cc8746
[gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14097
diff
changeset
|
956 | g_strdup(l->data)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
957 | g_hash_table_insert(field->u.list.selected_table, |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
958 | g_strdup((char *)l->data), NULL); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
959 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
960 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
961 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
962 | gboolean |
| 15884 | 963 | purple_request_field_list_is_selected(const PurpleRequestField *field, |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
964 | const char *item) |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
965 | { |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
966 | g_return_val_if_fail(field != NULL, FALSE); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
967 | g_return_val_if_fail(item != NULL, FALSE); |
| 15884 | 968 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, FALSE); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
969 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
970 | return g_hash_table_lookup_extended(field->u.list.selected_table, |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
971 | item, NULL, NULL); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
972 | } |
|
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
973 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
974 | GList * |
| 15884 | 975 | purple_request_field_list_get_selected(const PurpleRequestField *field) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
976 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
977 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 978 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
979 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
980 | return field->u.list.selected; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
981 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
982 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
983 | GList * |
| 15884 | 984 | purple_request_field_list_get_items(const PurpleRequestField *field) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
985 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
986 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 987 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
988 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
989 | return field->u.list.items; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
990 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
991 | |
|
24625
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
992 | GList * |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
993 | purple_request_field_list_get_icons(const PurpleRequestField *field) |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
994 | { |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
995 | g_return_val_if_fail(field != NULL, NULL); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
996 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
997 | |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
998 | return field->u.list.icons; |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
999 | } |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1000 | |
| 15884 | 1001 | PurpleRequestField * |
| 1002 | purple_request_field_label_new(const char *id, const char *text) | |
|
7905
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1003 | { |
| 15884 | 1004 | PurpleRequestField *field; |
|
7905
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1005 | |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1006 | g_return_val_if_fail(id != NULL, NULL); |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1007 | g_return_val_if_fail(text != NULL, NULL); |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1008 | |
| 15884 | 1009 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_LABEL); |
|
7905
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1010 | |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1011 | return field; |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1012 | } |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1013 | |
| 15884 | 1014 | PurpleRequestField * |
| 1015 | purple_request_field_image_new(const char *id, const char *text, const char *buf, gsize size) | |
| 11357 | 1016 | { |
| 15884 | 1017 | PurpleRequestField *field; |
| 11357 | 1018 | |
| 1019 | g_return_val_if_fail(id != NULL, NULL); | |
| 1020 | g_return_val_if_fail(text != NULL, NULL); | |
| 1021 | g_return_val_if_fail(buf != NULL, NULL); | |
| 1022 | g_return_val_if_fail(size > 0, NULL); | |
| 1023 | ||
| 15884 | 1024 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_IMAGE); |
| 11357 | 1025 | |
| 1026 | field->u.image.buffer = g_memdup(buf, size); | |
| 1027 | field->u.image.size = size; | |
| 1028 | field->u.image.scale_x = 1; | |
| 1029 | field->u.image.scale_y = 1; | |
| 1030 | ||
| 1031 | return field; | |
| 1032 | } | |
| 1033 | ||
| 1034 | void | |
| 15884 | 1035 | purple_request_field_image_set_scale(PurpleRequestField *field, unsigned int x, unsigned int y) |
| 11357 | 1036 | { |
| 1037 | g_return_if_fail(field != NULL); | |
| 15884 | 1038 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE); |
| 11357 | 1039 | |
| 1040 | field->u.image.scale_x = x; | |
| 1041 | field->u.image.scale_y = y; | |
| 1042 | } | |
| 1043 | ||
| 1044 | const char * | |
| 15884 | 1045 | purple_request_field_image_get_buffer(PurpleRequestField *field) |
| 11357 | 1046 | { |
| 1047 | g_return_val_if_fail(field != NULL, NULL); | |
| 15884 | 1048 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, NULL); |
| 11357 | 1049 | |
| 1050 | return field->u.image.buffer; | |
| 1051 | } | |
| 1052 | ||
| 1053 | gsize | |
| 15884 | 1054 | purple_request_field_image_get_size(PurpleRequestField *field) |
| 11357 | 1055 | { |
| 1056 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 1057 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 1058 | |
| 1059 | return field->u.image.size; | |
| 1060 | } | |
| 1061 | ||
| 1062 | unsigned int | |
| 15884 | 1063 | purple_request_field_image_get_scale_x(PurpleRequestField *field) |
| 11357 | 1064 | { |
| 1065 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 1066 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 1067 | |
| 1068 | return field->u.image.scale_x; | |
| 1069 | } | |
| 1070 | ||
| 1071 | unsigned int | |
| 15884 | 1072 | purple_request_field_image_get_scale_y(PurpleRequestField *field) |
| 11357 | 1073 | { |
| 1074 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 1075 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 1076 | |
| 1077 | return field->u.image.scale_y; | |
| 1078 | } | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1079 | |
| 15884 | 1080 | PurpleRequestField * |
| 1081 | purple_request_field_account_new(const char *id, const char *text, | |
| 1082 | PurpleAccount *account) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1083 | { |
| 15884 | 1084 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1085 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1086 | g_return_val_if_fail(id != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1087 | g_return_val_if_fail(text != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1088 | |
| 15884 | 1089 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1090 | |
| 15884 | 1091 | if (account == NULL && purple_connections_get_all() != NULL) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1092 | { |
| 15884 | 1093 | account = purple_connection_get_account( |
| 1094 | (PurpleConnection *)purple_connections_get_all()->data); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1095 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1096 | |
| 15884 | 1097 | purple_request_field_account_set_default_value(field, account); |
| 1098 | purple_request_field_account_set_value(field, account); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1099 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1100 | return field; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1101 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1102 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1103 | void |
| 15884 | 1104 | purple_request_field_account_set_default_value(PurpleRequestField *field, |
| 1105 | PurpleAccount *default_value) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1106 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1107 | g_return_if_fail(field != NULL); |
| 15884 | 1108 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1109 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1110 | field->u.account.default_account = default_value; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1111 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1112 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1113 | void |
| 15884 | 1114 | purple_request_field_account_set_value(PurpleRequestField *field, |
| 1115 | PurpleAccount *value) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1116 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1117 | g_return_if_fail(field != NULL); |
| 15884 | 1118 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1119 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1120 | field->u.account.account = value; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1121 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1122 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1123 | void |
| 15884 | 1124 | purple_request_field_account_set_show_all(PurpleRequestField *field, |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1125 | gboolean show_all) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1126 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1127 | g_return_if_fail(field != NULL); |
| 15884 | 1128 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1129 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1130 | if (field->u.account.show_all == show_all) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1131 | return; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1132 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1133 | field->u.account.show_all = show_all; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1134 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1135 | if (!show_all) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1136 | { |
| 15884 | 1137 | if (purple_account_is_connected(field->u.account.default_account)) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1138 | { |
| 15884 | 1139 | purple_request_field_account_set_default_value(field, |
| 1140 | (PurpleAccount *)purple_connections_get_all()->data); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1141 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1142 | |
| 15884 | 1143 | if (purple_account_is_connected(field->u.account.account)) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1144 | { |
| 15884 | 1145 | purple_request_field_account_set_value(field, |
| 1146 | (PurpleAccount *)purple_connections_get_all()->data); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1147 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1148 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1149 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1150 | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1151 | void |
| 15884 | 1152 | purple_request_field_account_set_filter(PurpleRequestField *field, |
| 1153 | PurpleFilterAccountFunc filter_func) | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1154 | { |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1155 | g_return_if_fail(field != NULL); |
| 15884 | 1156 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1157 | |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1158 | field->u.account.filter_func = filter_func; |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1159 | } |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1160 | |
| 15884 | 1161 | PurpleAccount * |
| 1162 | purple_request_field_account_get_default_value(const PurpleRequestField *field) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1163 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1164 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1165 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT, NULL); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1166 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1167 | return field->u.account.default_account; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1168 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1169 | |
| 15884 | 1170 | PurpleAccount * |
| 1171 | purple_request_field_account_get_value(const PurpleRequestField *field) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1172 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1173 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1174 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT, NULL); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1175 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1176 | return field->u.account.account; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1177 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1178 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1179 | gboolean |
| 15884 | 1180 | purple_request_field_account_get_show_all(const PurpleRequestField *field) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1181 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1182 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1183 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT, FALSE); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1184 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1185 | return field->u.account.show_all; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1186 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1187 | |
| 15884 | 1188 | PurpleFilterAccountFunc |
| 1189 | purple_request_field_account_get_filter(const PurpleRequestField *field) | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1190 | { |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1191 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1192 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT, FALSE); |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1193 | |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1194 | return field->u.account.filter_func; |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1195 | } |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1196 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1197 | /* -- */ |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1198 | |
| 5477 | 1199 | void * |
| 15884 | 1200 | purple_request_input(void *handle, const char *title, const char *primary, |
| 5477 | 1201 | const char *secondary, const char *default_value, |
| 8697 | 1202 | gboolean multiline, gboolean masked, gchar *hint, |
| 5477 | 1203 | const char *ok_text, GCallback ok_cb, |
| 1204 | const char *cancel_text, GCallback cancel_cb, | |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1205 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1206 | void *user_data) |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1207 | { |
| 15884 | 1208 | PurpleRequestUiOps *ops; |
| 5477 | 1209 | |
| 1210 | g_return_val_if_fail(ok_text != NULL, NULL); | |
| 1211 | g_return_val_if_fail(ok_cb != NULL, NULL); | |
| 1212 | ||
| 15884 | 1213 | ops = purple_request_get_ui_ops(); |
| 5477 | 1214 | |
| 1215 | if (ops != NULL && ops->request_input != NULL) { | |
| 15884 | 1216 | PurpleRequestInfo *info; |
| 5477 | 1217 | |
| 15884 | 1218 | info = g_new0(PurpleRequestInfo, 1); |
| 1219 | info->type = PURPLE_REQUEST_INPUT; | |
| 5477 | 1220 | info->handle = handle; |
| 1221 | info->ui_handle = ops->request_input(title, primary, secondary, | |
|
6035
b245be9cbe3b
[gaim-migrate @ 6485]
Christian Hammond <chipx86@chipx86.com>
parents:
5810
diff
changeset
|
1222 | default_value, |
| 8697 | 1223 | multiline, masked, hint, |
|
5482
6831f83bfae5
[gaim-migrate @ 5878]
Christian Hammond <chipx86@chipx86.com>
parents:
5477
diff
changeset
|
1224 | ok_text, ok_cb, |
| 5477 | 1225 | cancel_text, cancel_cb, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1226 | account, who, conv, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1227 | user_data); |
| 5477 | 1228 | |
| 1229 | handles = g_list_append(handles, info); | |
| 1230 | ||
| 1231 | return info->ui_handle; | |
| 1232 | } | |
| 1233 | ||
| 1234 | return NULL; | |
| 1235 | } | |
| 1236 | ||
| 1237 | void * | |
| 15884 | 1238 | purple_request_choice(void *handle, const char *title, const char *primary, |
|
19585
14b519abcc26
Fix some conversion warnings about using negative values with unsigned types. There are more, but these were easy fixes. You may think that I'm changing the API, but I'm really not - it was just wrong.
Daniel Atallah <datallah@pidgin.im>
parents:
18384
diff
changeset
|
1239 | const char *secondary, int default_value, |
| 5477 | 1240 | const char *ok_text, GCallback ok_cb, |
| 1241 | const char *cancel_text, GCallback cancel_cb, | |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1242 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1243 | void *user_data, ...) |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1244 | { |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1245 | void *ui_handle; |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1246 | va_list args; |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1247 | |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1248 | g_return_val_if_fail(ok_text != NULL, NULL); |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1249 | g_return_val_if_fail(ok_cb != NULL, NULL); |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1250 | |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1251 | va_start(args, user_data); |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1252 | ui_handle = purple_request_choice_varg(handle, title, primary, secondary, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1253 | default_value, ok_text, ok_cb, |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1254 | cancel_text, cancel_cb, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1255 | account, who, conv, user_data, args); |
| 5477 | 1256 | va_end(args); |
| 1257 | ||
| 1258 | return ui_handle; | |
| 1259 | } | |
| 1260 | ||
| 1261 | void * | |
| 15884 | 1262 | purple_request_choice_varg(void *handle, const char *title, |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1263 | const char *primary, const char *secondary, |
|
19585
14b519abcc26
Fix some conversion warnings about using negative values with unsigned types. There are more, but these were easy fixes. You may think that I'm changing the API, but I'm really not - it was just wrong.
Daniel Atallah <datallah@pidgin.im>
parents:
18384
diff
changeset
|
1264 | int default_value, |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1265 | const char *ok_text, GCallback ok_cb, |
|
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1266 | const char *cancel_text, GCallback cancel_cb, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1267 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
| 20696 | 1268 | void *user_data, va_list choices) |
| 5477 | 1269 | { |
| 15884 | 1270 | PurpleRequestUiOps *ops; |
| 5477 | 1271 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1272 | g_return_val_if_fail(ok_text != NULL, NULL); |
|
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1273 | g_return_val_if_fail(ok_cb != NULL, NULL); |
|
21980
3d855e66dc9e
Documentation tweaks and more g_return_if_fail checks for NULL parameters which
Will Thompson <resiak@pidgin.im>
parents:
21648
diff
changeset
|
1274 | g_return_val_if_fail(cancel_text != NULL, NULL); |
| 5477 | 1275 | |
| 15884 | 1276 | ops = purple_request_get_ui_ops(); |
| 5477 | 1277 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1278 | if (ops != NULL && ops->request_choice != NULL) { |
| 15884 | 1279 | PurpleRequestInfo *info; |
| 5477 | 1280 | |
| 15884 | 1281 | info = g_new0(PurpleRequestInfo, 1); |
| 1282 | info->type = PURPLE_REQUEST_CHOICE; | |
| 5477 | 1283 | info->handle = handle; |
| 1284 | info->ui_handle = ops->request_choice(title, primary, secondary, | |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1285 | default_value, |
|
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1286 | ok_text, ok_cb, |
|
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1287 | cancel_text, cancel_cb, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1288 | account, who, conv, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1289 | user_data, choices); |
| 5477 | 1290 | |
| 1291 | handles = g_list_append(handles, info); | |
| 1292 | ||
| 1293 | return info->ui_handle; | |
| 1294 | } | |
| 1295 | ||
| 1296 | return NULL; | |
| 1297 | } | |
| 1298 | ||
| 1299 | void * | |
| 15884 | 1300 | purple_request_action(void *handle, const char *title, const char *primary, |
|
19585
14b519abcc26
Fix some conversion warnings about using negative values with unsigned types. There are more, but these were easy fixes. You may think that I'm changing the API, but I'm really not - it was just wrong.
Daniel Atallah <datallah@pidgin.im>
parents:
18384
diff
changeset
|
1301 | const char *secondary, int default_action, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1302 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1303 | void *user_data, size_t action_count, ...) |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1304 | { |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1305 | void *ui_handle; |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1306 | va_list args; |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1307 | |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1308 | g_return_val_if_fail(action_count > 0, NULL); |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1309 | |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1310 | va_start(args, action_count); |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1311 | ui_handle = purple_request_action_varg(handle, title, primary, secondary, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1312 | default_action, account, who, conv, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1313 | user_data, action_count, args); |
| 5477 | 1314 | va_end(args); |
| 1315 | ||
| 1316 | return ui_handle; | |
| 1317 | } | |
| 1318 | ||
| 1319 | void * | |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30720
diff
changeset
|
1320 | purple_request_action_with_icon(void *handle, const char *title, |
|
27427
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1321 | const char *primary, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1322 | const char *secondary, int default_action, |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30720
diff
changeset
|
1323 | PurpleAccount *account, const char *who, |
|
27427
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1324 | PurpleConversation *conv, gconstpointer icon_data, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1325 | gsize icon_size, void *user_data, size_t action_count, ...) |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1326 | { |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1327 | void *ui_handle; |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1328 | va_list args; |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1329 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1330 | g_return_val_if_fail(action_count > 0, NULL); |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1331 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1332 | va_start(args, action_count); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30720
diff
changeset
|
1333 | ui_handle = purple_request_action_with_icon_varg(handle, title, primary, |
|
27427
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1334 | secondary, default_action, account, who, conv, icon_data, icon_size, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1335 | user_data, action_count, args); |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1336 | va_end(args); |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1337 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1338 | return ui_handle; |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1339 | } |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1340 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1341 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1342 | void * |
| 15884 | 1343 | purple_request_action_varg(void *handle, const char *title, |
| 5477 | 1344 | const char *primary, const char *secondary, |
|
19585
14b519abcc26
Fix some conversion warnings about using negative values with unsigned types. There are more, but these were easy fixes. You may think that I'm changing the API, but I'm really not - it was just wrong.
Daniel Atallah <datallah@pidgin.im>
parents:
18384
diff
changeset
|
1345 | int default_action, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1346 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1347 | void *user_data, size_t action_count, va_list actions) |
| 5477 | 1348 | { |
| 15884 | 1349 | PurpleRequestUiOps *ops; |
| 5477 | 1350 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1351 | g_return_val_if_fail(action_count > 0, NULL); |
| 5477 | 1352 | |
| 15884 | 1353 | ops = purple_request_get_ui_ops(); |
| 5477 | 1354 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1355 | if (ops != NULL && ops->request_action != NULL) { |
| 15884 | 1356 | PurpleRequestInfo *info; |
| 5477 | 1357 | |
| 15884 | 1358 | info = g_new0(PurpleRequestInfo, 1); |
| 1359 | info->type = PURPLE_REQUEST_ACTION; | |
| 5477 | 1360 | info->handle = handle; |
| 1361 | info->ui_handle = ops->request_action(title, primary, secondary, | |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1362 | default_action, account, who, conv, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1363 | user_data, action_count, actions); |
| 5477 | 1364 | |
| 1365 | handles = g_list_append(handles, info); | |
| 1366 | ||
| 1367 | return info->ui_handle; | |
| 1368 | } | |
| 1369 | ||
| 1370 | return NULL; | |
| 1371 | } | |
| 1372 | ||
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1373 | void * |
|
30146
ffa4c7208d1c
It seems like the _varg should be at the end.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30130
diff
changeset
|
1374 | purple_request_action_with_icon_varg(void *handle, const char *title, |
|
27427
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1375 | const char *primary, const char *secondary, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1376 | int default_action, |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30720
diff
changeset
|
1377 | PurpleAccount *account, const char *who, |
|
27427
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1378 | PurpleConversation *conv, gconstpointer icon_data, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1379 | gsize icon_size, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1380 | void *user_data, size_t action_count, va_list actions) |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1381 | { |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1382 | PurpleRequestUiOps *ops; |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1383 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1384 | g_return_val_if_fail(action_count > 0, NULL); |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1385 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1386 | ops = purple_request_get_ui_ops(); |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1387 | |
|
30130
08725e76283a
Woops, copy-paste error... :)
Marcus Lundblad <malu@pidgin.im>
parents:
29775
diff
changeset
|
1388 | if (ops != NULL && ops->request_action_with_icon != NULL) { |
|
27427
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1389 | PurpleRequestInfo *info; |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1390 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1391 | info = g_new0(PurpleRequestInfo, 1); |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1392 | info->type = PURPLE_REQUEST_ACTION; |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1393 | info->handle = handle; |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1394 | info->ui_handle = ops->request_action_with_icon(title, primary, secondary, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1395 | default_action, account, who, conv, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1396 | icon_data, icon_size, |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1397 | user_data, action_count, actions); |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1398 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1399 | handles = g_list_append(handles, info); |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1400 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1401 | return info->ui_handle; |
|
30720
021f34d5ceb3
Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents:
30146
diff
changeset
|
1402 | } else { |
|
021f34d5ceb3
Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents:
30146
diff
changeset
|
1403 | /* Fall back on the non-icon request if the UI doesn't support icon |
|
021f34d5ceb3
Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents:
30146
diff
changeset
|
1404 | requests */ |
|
021f34d5ceb3
Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents:
30146
diff
changeset
|
1405 | return purple_request_action_varg(handle, title, primary, secondary, |
|
021f34d5ceb3
Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents:
30146
diff
changeset
|
1406 | default_action, account, who, conv, user_data, action_count, actions); |
|
27427
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1407 | } |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1408 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1409 | return NULL; |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1410 | } |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1411 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1412 | |
|
00f91afbd4d9
Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents:
24990
diff
changeset
|
1413 | void * |
| 15884 | 1414 | purple_request_fields(void *handle, const char *title, const char *primary, |
| 1415 | const char *secondary, PurpleRequestFields *fields, | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1416 | const char *ok_text, GCallback ok_cb, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1417 | const char *cancel_text, GCallback cancel_cb, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1418 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
| 20696 | 1419 | void *user_data) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1420 | { |
| 15884 | 1421 | PurpleRequestUiOps *ops; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1422 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1423 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1424 | g_return_val_if_fail(ok_text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1425 | g_return_val_if_fail(ok_cb != NULL, NULL); |
|
21980
3d855e66dc9e
Documentation tweaks and more g_return_if_fail checks for NULL parameters which
Will Thompson <resiak@pidgin.im>
parents:
21648
diff
changeset
|
1426 | g_return_val_if_fail(cancel_text != NULL, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1427 | |
| 15884 | 1428 | ops = purple_request_get_ui_ops(); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1429 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1430 | if (ops != NULL && ops->request_fields != NULL) { |
| 15884 | 1431 | PurpleRequestInfo *info; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1432 | |
| 15884 | 1433 | info = g_new0(PurpleRequestInfo, 1); |
| 1434 | info->type = PURPLE_REQUEST_FIELDS; | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1435 | info->handle = handle; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1436 | info->ui_handle = ops->request_fields(title, primary, secondary, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1437 | fields, ok_text, ok_cb, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1438 | cancel_text, cancel_cb, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1439 | account, who, conv, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1440 | user_data); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1441 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1442 | handles = g_list_append(handles, info); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1443 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1444 | return info->ui_handle; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1445 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1446 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1447 | return NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1448 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1449 | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1450 | void * |
| 20686 | 1451 | purple_request_file(void *handle, const char *title, const char *filename, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1452 | gboolean savedialog, |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1453 | GCallback ok_cb, GCallback cancel_cb, |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1454 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1455 | void *user_data) |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1456 | { |
| 15884 | 1457 | PurpleRequestUiOps *ops; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1458 | |
| 15884 | 1459 | ops = purple_request_get_ui_ops(); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1460 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1461 | if (ops != NULL && ops->request_file != NULL) { |
| 15884 | 1462 | PurpleRequestInfo *info; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1463 | |
| 15884 | 1464 | info = g_new0(PurpleRequestInfo, 1); |
| 1465 | info->type = PURPLE_REQUEST_FILE; | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1466 | info->handle = handle; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1467 | info->ui_handle = ops->request_file(title, filename, savedialog, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1468 | ok_cb, cancel_cb, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1469 | account, who, conv, user_data); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1470 | handles = g_list_append(handles, info); |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1471 | return info->ui_handle; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1472 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1473 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1474 | return NULL; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1475 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1476 | |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1477 | void * |
| 15884 | 1478 | purple_request_folder(void *handle, const char *title, const char *dirname, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1479 | GCallback ok_cb, GCallback cancel_cb, |
|
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1480 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1481 | void *user_data) |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1482 | { |
| 15884 | 1483 | PurpleRequestUiOps *ops; |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1484 | |
| 15884 | 1485 | ops = purple_request_get_ui_ops(); |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1486 | |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1487 | if (ops != NULL && ops->request_file != NULL) { |
| 15884 | 1488 | PurpleRequestInfo *info; |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1489 | |
| 15884 | 1490 | info = g_new0(PurpleRequestInfo, 1); |
| 1491 | info->type = PURPLE_REQUEST_FOLDER; | |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1492 | info->handle = handle; |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1493 | info->ui_handle = ops->request_folder(title, dirname, |
|
16490
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1494 | ok_cb, cancel_cb, |
|
68c22924d66b
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents:
15884
diff
changeset
|
1495 | account, who, conv, |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
1496 | user_data); |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1497 | handles = g_list_append(handles, info); |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1498 | return info->ui_handle; |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1499 | } |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1500 | |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1501 | return NULL; |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1502 | } |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1503 | |
|
39010
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1504 | void * |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1505 | purple_request_screenshare_media(void *handle, const char *title, |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1506 | const char *primary, const char *secondary, |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1507 | PurpleAccount *account, GCallback cb, |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1508 | void *user_data) |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1509 | { |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1510 | PurpleRequestUiOps *ops; |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1511 | |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1512 | ops = purple_request_get_ui_ops(); |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1513 | |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1514 | if (ops != NULL && ops->request_screenshare_media != NULL) { |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1515 | PurpleRequestInfo *info; |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1516 | |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1517 | info = g_new0(PurpleRequestInfo, 1); |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1518 | info->type = PURPLE_REQUEST_SCREENSHARE; |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1519 | info->handle = handle; |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1520 | info->ui_handle = ops->request_screenshare_media(title, primary, secondary, |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1521 | account, cb, user_data); |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1522 | handles = g_list_append(handles, info); |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1523 | return info->ui_handle; |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1524 | } |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1525 | |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1526 | return NULL; |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1527 | } |
|
fbce915a7024
Outbound screenshare window/monitor selection
David Woodhouse <dwmw2@infradead.org>
parents:
31294
diff
changeset
|
1528 | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1529 | static void |
| 15884 | 1530 | purple_request_close_info(PurpleRequestInfo *info) |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1531 | { |
| 15884 | 1532 | PurpleRequestUiOps *ops; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1533 | |
| 15884 | 1534 | ops = purple_request_get_ui_ops(); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1535 | |
| 15884 | 1536 | purple_notify_close_with_handle(info->ui_handle); |
| 1537 | purple_request_close_with_handle(info->ui_handle); | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1538 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1539 | if (ops != NULL && ops->close_request != NULL) |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1540 | ops->close_request(info->type, info->ui_handle); |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1541 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1542 | g_free(info); |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1543 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1544 | |
| 5477 | 1545 | void |
| 15884 | 1546 | purple_request_close(PurpleRequestType type, void *ui_handle) |
| 5477 | 1547 | { |
| 1548 | GList *l; | |
| 1549 | ||
| 1550 | g_return_if_fail(ui_handle != NULL); | |
| 1551 | ||
| 1552 | for (l = handles; l != NULL; l = l->next) { | |
| 15884 | 1553 | PurpleRequestInfo *info = l->data; |
| 5477 | 1554 | |
| 1555 | if (info->ui_handle == ui_handle) { | |
| 1556 | handles = g_list_remove(handles, info); | |
| 15884 | 1557 | purple_request_close_info(info); |
| 5477 | 1558 | break; |
| 1559 | } | |
| 1560 | } | |
| 1561 | } | |
| 1562 | ||
| 1563 | void | |
| 15884 | 1564 | purple_request_close_with_handle(void *handle) |
| 5477 | 1565 | { |
| 1566 | GList *l, *l_next; | |
| 1567 | ||
| 1568 | g_return_if_fail(handle != NULL); | |
| 1569 | ||
| 1570 | for (l = handles; l != NULL; l = l_next) { | |
| 15884 | 1571 | PurpleRequestInfo *info = l->data; |
| 5477 | 1572 | |
| 1573 | l_next = l->next; | |
| 1574 | ||
| 1575 | if (info->handle == handle) { | |
| 1576 | handles = g_list_remove(handles, info); | |
| 15884 | 1577 | purple_request_close_info(info); |
| 5477 | 1578 | } |
| 1579 | } | |
| 1580 | } | |
| 1581 | ||
| 1582 | void | |
| 15884 | 1583 | purple_request_set_ui_ops(PurpleRequestUiOps *ops) |
| 5477 | 1584 | { |
| 1585 | request_ui_ops = ops; | |
| 1586 | } | |
| 1587 | ||
| 15884 | 1588 | PurpleRequestUiOps * |
| 1589 | purple_request_get_ui_ops(void) | |
| 5477 | 1590 | { |
| 1591 | return request_ui_ops; | |
| 1592 | } |