Wed, 20 Jun 2007 01:28:57 +0000
Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
anyway, zephyr was just missing the appropriate #include) and fix core.c
for building on glib < 2.4, and a small tweak to the compatibility #define
for G_GNUC_NULL_TERMINATED
| 5477 | 1 | /** |
| 2 | * @file request.c Request API | |
| 3 | * @ingroup core | |
| 4 | * | |
| 15884 | 5 | * purple |
| 5477 | 6 | * |
| 15884 | 7 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 8 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 9 | * source distribution. | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6325
diff
changeset
|
10 | * |
| 5477 | 11 | * This program is free software; you can redistribute it and/or modify |
| 12 | * it under the terms of the GNU General Public License as published by | |
| 13 | * the Free Software Foundation; either version 2 of the License, or | |
| 14 | * (at your option) any later version. | |
| 15 | * | |
| 16 | * This program is distributed in the hope that it will be useful, | |
| 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 19 | * GNU General Public License for more details. | |
| 20 | * | |
| 21 | * You should have received a copy of the GNU General Public License | |
| 22 | * along with this program; if not, write to the Free Software | |
| 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 24 | */ | |
|
18265
9f26190d7f46
Move the define in internal.h instead.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18190
diff
changeset
|
25 | #include "internal.h" |
|
9f26190d7f46
Move the define in internal.h instead.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18190
diff
changeset
|
26 | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
27 | #include "notify.h" |
| 5477 | 28 | #include "request.h" |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
29 | #include "debug.h" |
| 5477 | 30 | |
| 15884 | 31 | static PurpleRequestUiOps *request_ui_ops = NULL; |
| 5477 | 32 | static GList *handles = NULL; |
| 33 | ||
| 34 | typedef struct | |
| 35 | { | |
| 15884 | 36 | PurpleRequestType type; |
| 5477 | 37 | void *handle; |
| 38 | void *ui_handle; | |
| 39 | ||
| 15884 | 40 | } PurpleRequestInfo; |
| 5477 | 41 | |
| 42 | ||
| 15884 | 43 | PurpleRequestFields * |
| 44 | purple_request_fields_new(void) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
45 | { |
| 15884 | 46 | PurpleRequestFields *fields; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
47 | |
| 15884 | 48 | fields = g_new0(PurpleRequestFields, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
49 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
50 | 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
|
51 | g_free, NULL); |
|
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 | return fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
54 | } |
|
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 | void |
| 15884 | 57 | purple_request_fields_destroy(PurpleRequestFields *fields) |
|
5807
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 | g_return_if_fail(fields != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
60 | |
| 15884 | 61 | 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
|
62 | g_list_free(fields->groups); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
63 | g_list_free(fields->required_fields); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
64 | g_hash_table_destroy(fields->fields); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
65 | g_free(fields); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
66 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
67 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
68 | void |
| 15884 | 69 | purple_request_fields_add_group(PurpleRequestFields *fields, |
| 70 | PurpleRequestFieldGroup *group) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
71 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
72 | GList *l; |
| 15884 | 73 | PurpleRequestField *field; |
|
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 | g_return_if_fail(fields != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
76 | g_return_if_fail(group != NULL); |
|
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 | fields->groups = g_list_append(fields->groups, group); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
79 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
80 | group->fields_list = fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
81 | |
| 15884 | 82 | for (l = purple_request_field_group_get_fields(group); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
83 | l != NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
84 | l = l->next) { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
85 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
86 | field = l->data; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
87 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
88 | g_hash_table_insert(fields->fields, |
| 15884 | 89 | g_strdup(purple_request_field_get_id(field)), field); |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
90 | |
| 15884 | 91 | if (purple_request_field_is_required(field)) { |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
92 | fields->required_fields = |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
93 | g_list_append(fields->required_fields, field); |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
94 | } |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
95 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
96 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
97 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
98 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
99 | GList * |
| 15884 | 100 | purple_request_fields_get_groups(const PurpleRequestFields *fields) |
|
5807
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 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
103 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
104 | return fields->groups; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
105 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
106 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
107 | gboolean |
| 15884 | 108 | purple_request_fields_exists(const PurpleRequestFields *fields, const char *id) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
109 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
110 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
111 | g_return_val_if_fail(id != NULL, FALSE); |
|
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 | return (g_hash_table_lookup(fields->fields, id) != NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
114 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
115 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
116 | GList * |
| 15884 | 117 | purple_request_fields_get_required(const PurpleRequestFields *fields) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
118 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
119 | g_return_val_if_fail(fields != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
120 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
121 | return fields->required_fields; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
122 | } |
|
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 | gboolean |
| 15884 | 125 | purple_request_fields_is_field_required(const PurpleRequestFields *fields, |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
126 | const char *id) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
127 | { |
| 15884 | 128 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
129 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
130 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
131 | g_return_val_if_fail(id != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
132 | |
| 15884 | 133 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
134 | return FALSE; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
135 | |
| 15884 | 136 | return purple_request_field_is_required(field); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
137 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
138 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
139 | gboolean |
| 15884 | 140 | purple_request_fields_all_required_filled(const PurpleRequestFields *fields) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
141 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
142 | GList *l; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
143 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
144 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
145 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
146 | for (l = fields->required_fields; l != NULL; l = l->next) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
147 | { |
| 15884 | 148 | PurpleRequestField *field = (PurpleRequestField *)l->data; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
149 | |
| 15884 | 150 | switch (purple_request_field_get_type(field)) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
151 | { |
| 15884 | 152 | case PURPLE_REQUEST_FIELD_STRING: |
| 153 | if (purple_request_field_string_get_value(field) == NULL) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
154 | return FALSE; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
155 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
156 | break; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
157 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
158 | default: |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
159 | break; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
160 | } |
|
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 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
163 | return TRUE; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
164 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
165 | |
| 15884 | 166 | PurpleRequestField * |
| 167 | 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
|
168 | { |
| 15884 | 169 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
170 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
171 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
172 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
173 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
174 | field = g_hash_table_lookup(fields->fields, id); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
175 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
176 | g_return_val_if_fail(field != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
177 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
178 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
179 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
180 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
181 | const char * |
| 15884 | 182 | 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
|
183 | { |
| 15884 | 184 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
185 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
186 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
187 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
188 | |
| 15884 | 189 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
190 | return NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
191 | |
| 15884 | 192 | return purple_request_field_string_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
193 | } |
|
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 | int |
| 15884 | 196 | purple_request_fields_get_integer(const PurpleRequestFields *fields, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
197 | const char *id) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
198 | { |
| 15884 | 199 | PurpleRequestField *field; |
|
5807
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 | g_return_val_if_fail(fields != NULL, 0); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
202 | g_return_val_if_fail(id != NULL, 0); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
203 | |
| 15884 | 204 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
205 | return 0; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
206 | |
| 15884 | 207 | return purple_request_field_int_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
208 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
209 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
210 | gboolean |
| 15884 | 211 | 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
|
212 | { |
| 15884 | 213 | PurpleRequestField *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 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
216 | g_return_val_if_fail(id != NULL, FALSE); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
217 | |
| 15884 | 218 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
219 | return FALSE; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
220 | |
| 15884 | 221 | return purple_request_field_bool_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
222 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
223 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
224 | int |
| 15884 | 225 | 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
|
226 | { |
| 15884 | 227 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
228 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
229 | g_return_val_if_fail(fields != NULL, -1); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
230 | g_return_val_if_fail(id != NULL, -1); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
231 | |
| 15884 | 232 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
233 | return -1; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
234 | |
| 15884 | 235 | return purple_request_field_choice_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
236 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
237 | |
| 15884 | 238 | PurpleAccount * |
| 239 | purple_request_fields_get_account(const PurpleRequestFields *fields, | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
240 | const char *id) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
241 | { |
| 15884 | 242 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
243 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
244 | g_return_val_if_fail(fields != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
245 | g_return_val_if_fail(id != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
246 | |
| 15884 | 247 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
248 | return NULL; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
249 | |
| 15884 | 250 | return purple_request_field_account_get_value(field); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
251 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
252 | |
| 15884 | 253 | PurpleRequestFieldGroup * |
| 254 | purple_request_field_group_new(const char *title) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
255 | { |
| 15884 | 256 | PurpleRequestFieldGroup *group; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
257 | |
| 15884 | 258 | group = g_new0(PurpleRequestFieldGroup, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
259 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
260 | group->title = g_strdup(title); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
261 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
262 | return group; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
263 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
264 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
265 | void |
| 15884 | 266 | purple_request_field_group_destroy(PurpleRequestFieldGroup *group) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
267 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
268 | g_return_if_fail(group != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
269 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
270 | g_free(group->title); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
271 | |
| 15884 | 272 | 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
|
273 | g_list_free(group->fields); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
274 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
275 | g_free(group); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
276 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
277 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
278 | void |
| 15884 | 279 | purple_request_field_group_add_field(PurpleRequestFieldGroup *group, |
| 280 | PurpleRequestField *field) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
281 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
282 | g_return_if_fail(group != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
283 | g_return_if_fail(field != NULL); |
|
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 | group->fields = g_list_append(group->fields, field); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
286 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
287 | if (group->fields_list != NULL) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
288 | { |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
289 | g_hash_table_insert(group->fields_list->fields, |
| 15884 | 290 | g_strdup(purple_request_field_get_id(field)), field); |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
291 | |
| 15884 | 292 | if (purple_request_field_is_required(field)) |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
293 | { |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
294 | group->fields_list->required_fields = |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
295 | g_list_append(group->fields_list->required_fields, field); |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
296 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
297 | } |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
298 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
299 | field->group = group; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
300 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
301 | } |
|
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 | const char * |
| 15884 | 304 | purple_request_field_group_get_title(const PurpleRequestFieldGroup *group) |
|
5807
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 | g_return_val_if_fail(group != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
307 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
308 | return group->title; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
309 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
310 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
311 | GList * |
| 15884 | 312 | purple_request_field_group_get_fields(const PurpleRequestFieldGroup *group) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
313 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
314 | g_return_val_if_fail(group != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
315 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
316 | return group->fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
317 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
318 | |
| 15884 | 319 | PurpleRequestField * |
| 320 | purple_request_field_new(const char *id, const char *text, | |
| 321 | PurpleRequestFieldType type) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
322 | { |
| 15884 | 323 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
324 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
325 | g_return_val_if_fail(id != NULL, NULL); |
| 15884 | 326 | 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
|
327 | |
| 15884 | 328 | field = g_new0(PurpleRequestField, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
329 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
330 | field->id = g_strdup(id); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
331 | field->type = type; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
332 | |
| 15884 | 333 | purple_request_field_set_label(field, text); |
| 334 | purple_request_field_set_visible(field, TRUE); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
335 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
336 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
337 | } |
|
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 | void |
| 15884 | 340 | purple_request_field_destroy(PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
341 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
342 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
343 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
344 | g_free(field->id); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
345 | g_free(field->label); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
346 | g_free(field->type_hint); |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
347 | |
| 15884 | 348 | if (field->type == PURPLE_REQUEST_FIELD_STRING) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
349 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
350 | g_free(field->u.string.default_value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
351 | g_free(field->u.string.value); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
352 | } |
| 15884 | 353 | else if (field->type == PURPLE_REQUEST_FIELD_CHOICE) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
354 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
355 | if (field->u.choice.labels != NULL) |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
356 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
357 | g_list_foreach(field->u.choice.labels, (GFunc)g_free, NULL); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
358 | g_list_free(field->u.choice.labels); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
359 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
360 | } |
| 15884 | 361 | else if (field->type == PURPLE_REQUEST_FIELD_LIST) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
362 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
363 | if (field->u.list.items != NULL) |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
364 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
365 | g_list_foreach(field->u.list.items, (GFunc)g_free, NULL); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
366 | g_list_free(field->u.list.items); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
367 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
368 | |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
369 | if (field->u.list.selected != NULL) |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
370 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
371 | g_list_foreach(field->u.list.selected, (GFunc)g_free, NULL); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
372 | g_list_free(field->u.list.selected); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
373 | } |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
374 | |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
375 | g_hash_table_destroy(field->u.list.item_data); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
376 | g_hash_table_destroy(field->u.list.selected_table); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
377 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
378 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
379 | g_free(field); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
380 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
381 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
382 | void |
| 15884 | 383 | purple_request_field_set_label(PurpleRequestField *field, const char *label) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
384 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
385 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
386 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
387 | g_free(field->label); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
388 | field->label = g_strdup(label); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
389 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
390 | |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
391 | void |
| 15884 | 392 | purple_request_field_set_visible(PurpleRequestField *field, gboolean visible) |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
393 | { |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
394 | g_return_if_fail(field != NULL); |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
395 | |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
396 | field->visible = visible; |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
397 | } |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
398 | |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
399 | void |
| 15884 | 400 | purple_request_field_set_type_hint(PurpleRequestField *field, |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
401 | const char *type_hint) |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
402 | { |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
403 | g_return_if_fail(field != NULL); |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
404 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
405 | g_free(field->type_hint); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
406 | field->type_hint = g_strdup(type_hint); |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
407 | } |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
408 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
409 | void |
| 15884 | 410 | purple_request_field_set_required(PurpleRequestField *field, gboolean required) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
411 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
412 | g_return_if_fail(field != NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
413 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
414 | if (field->required == required) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
415 | return; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
416 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
417 | field->required = required; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
418 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
419 | if (field->group != NULL) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
420 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
421 | if (required) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
422 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
423 | field->group->fields_list->required_fields = |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
424 | g_list_append(field->group->fields_list->required_fields, |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
425 | field); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
426 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
427 | else |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
428 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
429 | field->group->fields_list->required_fields = |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
430 | g_list_remove(field->group->fields_list->required_fields, |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
431 | field); |
|
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 | } |
|
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 | |
| 15884 | 436 | PurpleRequestFieldType |
| 437 | purple_request_field_get_type(const PurpleRequestField *field) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
438 | { |
| 15884 | 439 | 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
|
440 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
441 | return field->type; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
442 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
443 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
444 | const char * |
| 15884 | 445 | purple_request_field_get_id(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
446 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
447 | g_return_val_if_fail(field != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
448 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
449 | return field->id; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
450 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
451 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
452 | const char * |
| 15884 | 453 | purple_request_field_get_label(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
454 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
455 | g_return_val_if_fail(field != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
456 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
457 | return field->label; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
458 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
459 | |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
460 | gboolean |
| 15884 | 461 | purple_request_field_is_visible(const PurpleRequestField *field) |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
462 | { |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
463 | g_return_val_if_fail(field != NULL, FALSE); |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
464 | |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
465 | return field->visible; |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
466 | } |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
467 | |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
468 | const char * |
| 15884 | 469 | purple_request_field_get_type_hint(const PurpleRequestField *field) |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
470 | { |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
471 | g_return_val_if_fail(field != NULL, NULL); |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
472 | |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
473 | return field->type_hint; |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
474 | } |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
475 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
476 | gboolean |
| 15884 | 477 | purple_request_field_is_required(const PurpleRequestField *field) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
478 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
479 | g_return_val_if_fail(field != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
480 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
481 | return field->required; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
482 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
483 | |
| 15884 | 484 | PurpleRequestField * |
| 485 | 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
|
486 | const char *default_value, gboolean multiline) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
487 | { |
| 15884 | 488 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
489 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
490 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
491 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
492 | |
| 15884 | 493 | 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
|
494 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
495 | field->u.string.multiline = multiline; |
|
7048
53e1ea65540e
[gaim-migrate @ 7611]
Christian Hammond <chipx86@chipx86.com>
parents:
7047
diff
changeset
|
496 | field->u.string.editable = TRUE; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
497 | |
| 15884 | 498 | purple_request_field_string_set_default_value(field, default_value); |
| 499 | purple_request_field_string_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
500 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
501 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
502 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
503 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
504 | void |
| 15884 | 505 | purple_request_field_string_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
506 | const char *default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
507 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
508 | g_return_if_fail(field != NULL); |
| 15884 | 509 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
510 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
511 | g_free(field->u.string.default_value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
512 | field->u.string.default_value = g_strdup(default_value); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
513 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
514 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
515 | void |
| 15884 | 516 | 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
|
517 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
518 | g_return_if_fail(field != NULL); |
| 15884 | 519 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
520 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
521 | g_free(field->u.string.value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
522 | field->u.string.value = g_strdup(value); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
523 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
524 | |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
525 | void |
| 15884 | 526 | purple_request_field_string_set_masked(PurpleRequestField *field, gboolean masked) |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
527 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
528 | g_return_if_fail(field != NULL); |
| 15884 | 529 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
530 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
531 | field->u.string.masked = masked; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
532 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
533 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
534 | void |
| 15884 | 535 | purple_request_field_string_set_editable(PurpleRequestField *field, |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
536 | gboolean editable) |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
537 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
538 | g_return_if_fail(field != NULL); |
| 15884 | 539 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
540 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
541 | field->u.string.editable = editable; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
542 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
543 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
544 | const char * |
| 15884 | 545 | purple_request_field_string_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
546 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
547 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 548 | 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
|
549 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
550 | return field->u.string.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
551 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
552 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
553 | const char * |
| 15884 | 554 | purple_request_field_string_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
555 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
556 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 557 | 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
|
558 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
559 | return field->u.string.value; |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
560 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
561 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
562 | gboolean |
| 15884 | 563 | purple_request_field_string_is_multiline(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
564 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
565 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 566 | 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
|
567 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
568 | return field->u.string.multiline; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
569 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
570 | |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
571 | gboolean |
| 15884 | 572 | purple_request_field_string_is_masked(const PurpleRequestField *field) |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
573 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
574 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 575 | 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
|
576 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
577 | return field->u.string.masked; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
578 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
579 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
580 | gboolean |
| 15884 | 581 | purple_request_field_string_is_editable(const PurpleRequestField *field) |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
582 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
583 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 584 | 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
|
585 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
586 | return field->u.string.editable; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
587 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
588 | |
| 15884 | 589 | PurpleRequestField * |
| 590 | 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
|
591 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
592 | { |
| 15884 | 593 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
594 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
595 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
596 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
597 | |
| 15884 | 598 | 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
|
599 | |
| 15884 | 600 | purple_request_field_int_set_default_value(field, default_value); |
| 601 | purple_request_field_int_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
602 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
603 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
604 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
605 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
606 | void |
| 15884 | 607 | purple_request_field_int_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
608 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
609 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
610 | g_return_if_fail(field != NULL); |
| 15884 | 611 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
612 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
613 | field->u.integer.default_value = default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
614 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
615 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
616 | void |
| 15884 | 617 | purple_request_field_int_set_value(PurpleRequestField *field, int value) |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
618 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
619 | g_return_if_fail(field != NULL); |
| 15884 | 620 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
621 | |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
622 | field->u.integer.value = value; |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
623 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
624 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
625 | int |
| 15884 | 626 | purple_request_field_int_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
627 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
628 | g_return_val_if_fail(field != NULL, 0); |
| 15884 | 629 | 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
|
630 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
631 | return field->u.integer.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
632 | } |
|
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 | int |
| 15884 | 635 | purple_request_field_int_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
636 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
637 | g_return_val_if_fail(field != NULL, 0); |
| 15884 | 638 | 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
|
639 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
640 | return field->u.integer.value; |
|
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 | |
| 15884 | 643 | PurpleRequestField * |
| 644 | 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
|
645 | gboolean default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
646 | { |
| 15884 | 647 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
648 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
649 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
650 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
651 | |
| 15884 | 652 | 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
|
653 | |
| 15884 | 654 | purple_request_field_bool_set_default_value(field, default_value); |
| 655 | purple_request_field_bool_set_value(field, default_value); | |
|
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 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
658 | } |
|
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 | void |
| 15884 | 661 | purple_request_field_bool_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
662 | gboolean default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
663 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
664 | g_return_if_fail(field != NULL); |
| 15884 | 665 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
666 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
667 | field->u.boolean.default_value = default_value; |
|
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 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
670 | void |
| 15884 | 671 | purple_request_field_bool_set_value(PurpleRequestField *field, gboolean value) |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
672 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
673 | g_return_if_fail(field != NULL); |
| 15884 | 674 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
675 | |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
676 | field->u.boolean.value = value; |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
677 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
678 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
679 | gboolean |
| 15884 | 680 | purple_request_field_bool_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
681 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
682 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 683 | 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
|
684 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
685 | return field->u.boolean.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
686 | } |
|
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 | gboolean |
| 15884 | 689 | purple_request_field_bool_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
690 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
691 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 692 | 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
|
693 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
694 | return field->u.boolean.value; |
|
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 | |
| 15884 | 697 | PurpleRequestField * |
| 698 | 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
|
699 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
700 | { |
| 15884 | 701 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
702 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
703 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
704 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
705 | |
| 15884 | 706 | 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
|
707 | |
| 15884 | 708 | purple_request_field_choice_set_default_value(field, default_value); |
| 709 | purple_request_field_choice_set_value(field, default_value); | |
|
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 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
712 | } |
|
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 | void |
| 15884 | 715 | purple_request_field_choice_add(PurpleRequestField *field, const char *label) |
|
5807
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 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
718 | g_return_if_fail(label != NULL); |
| 15884 | 719 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
720 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
721 | field->u.choice.labels = g_list_append(field->u.choice.labels, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
722 | g_strdup(label)); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
723 | } |
|
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 | void |
| 15884 | 726 | purple_request_field_choice_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
727 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
728 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
729 | g_return_if_fail(field != NULL); |
| 15884 | 730 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
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 | field->u.choice.default_value = default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
733 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
734 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
735 | void |
| 15884 | 736 | purple_request_field_choice_set_value(PurpleRequestField *field, |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
737 | int value) |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
738 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
739 | g_return_if_fail(field != NULL); |
| 15884 | 740 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
741 | |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
742 | field->u.choice.value = value; |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
743 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
744 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
745 | int |
| 15884 | 746 | purple_request_field_choice_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
747 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
748 | g_return_val_if_fail(field != NULL, -1); |
| 15884 | 749 | 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
|
750 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
751 | return field->u.choice.default_value; |
|
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 | int |
| 15884 | 755 | purple_request_field_choice_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
756 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
757 | g_return_val_if_fail(field != NULL, -1); |
| 15884 | 758 | 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
|
759 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
760 | return field->u.choice.value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
761 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
762 | |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
763 | GList * |
| 15884 | 764 | purple_request_field_choice_get_labels(const PurpleRequestField *field) |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
765 | { |
|
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
766 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 767 | 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
|
768 | |
|
5810
1d659318f194
[gaim-migrate @ 6240]
Christian Hammond <chipx86@chipx86.com>
parents:
5809
diff
changeset
|
769 | return field->u.choice.labels; |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
770 | } |
|
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
771 | |
| 15884 | 772 | PurpleRequestField * |
| 773 | 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
|
774 | { |
| 15884 | 775 | PurpleRequestField *field; |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
776 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
777 | g_return_val_if_fail(id != NULL, NULL); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
778 | |
| 15884 | 779 | 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
|
780 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
781 | 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
|
782 | g_free, NULL); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
783 | |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
784 | field->u.list.selected_table = |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
785 | 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
|
786 | |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
787 | return field; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
788 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
789 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
790 | void |
| 15884 | 791 | purple_request_field_list_set_multi_select(PurpleRequestField *field, |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
792 | gboolean multi_select) |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
793 | { |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
794 | g_return_if_fail(field != NULL); |
| 15884 | 795 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
796 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
797 | field->u.list.multiple_selection = multi_select; |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
798 | } |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
799 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
800 | gboolean |
| 15884 | 801 | purple_request_field_list_get_multi_select(const PurpleRequestField *field) |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
802 | { |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
803 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 804 | 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
|
805 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
806 | return field->u.list.multiple_selection; |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
807 | } |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
808 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
809 | void * |
| 15884 | 810 | purple_request_field_list_get_data(const PurpleRequestField *field, |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
811 | const char *text) |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
812 | { |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
813 | g_return_val_if_fail(field != NULL, NULL); |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
814 | g_return_val_if_fail(text != NULL, NULL); |
| 15884 | 815 | 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
|
816 | |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
817 | return g_hash_table_lookup(field->u.list.item_data, text); |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
818 | } |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
819 | |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
820 | void |
| 15884 | 821 | purple_request_field_list_add(PurpleRequestField *field, const char *item, |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
822 | void *data) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
823 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
824 | g_return_if_fail(field != NULL); |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
825 | g_return_if_fail(item != NULL); |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
826 | g_return_if_fail(data != NULL); |
| 15884 | 827 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
828 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
829 | field->u.list.items = g_list_append(field->u.list.items, g_strdup(item)); |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
830 | |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
831 | g_hash_table_insert(field->u.list.item_data, g_strdup(item), data); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
832 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
833 | |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
834 | void |
| 15884 | 835 | 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
|
836 | { |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
837 | g_return_if_fail(field != NULL); |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
838 | g_return_if_fail(item != NULL); |
| 15884 | 839 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
840 | |
| 15884 | 841 | if (!purple_request_field_list_get_multi_select(field) && |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
842 | field->u.list.selected != NULL) |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
843 | { |
| 15884 | 844 | purple_debug_warning("request", |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
845 | "More than one item added to non-multi-select " |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
846 | "field %s\n", |
| 15884 | 847 | purple_request_field_get_id(field)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
848 | return; |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
849 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
850 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
851 | field->u.list.selected = g_list_append(field->u.list.selected, |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
852 | g_strdup(item)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
853 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
854 | 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
|
855 | } |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
856 | |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
857 | void |
| 15884 | 858 | purple_request_field_list_clear_selected(PurpleRequestField *field) |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
859 | { |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
860 | g_return_if_fail(field != NULL); |
| 15884 | 861 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
862 | |
|
7962
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
863 | if (field->u.list.selected != NULL) |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
864 | { |
|
7962
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
865 | g_list_foreach(field->u.list.selected, (GFunc)g_free, NULL); |
|
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
866 | g_list_free(field->u.list.selected); |
|
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
867 | field->u.list.selected = NULL; |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
868 | } |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
869 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
870 | g_hash_table_destroy(field->u.list.selected_table); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
871 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
872 | field->u.list.selected_table = |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
873 | 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
|
874 | } |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
875 | |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
876 | 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
|
877 | purple_request_field_list_set_selected(PurpleRequestField *field, GList *items) |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
878 | { |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
879 | GList *l; |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
880 | |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
881 | g_return_if_fail(field != NULL); |
|
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
882 | g_return_if_fail(items != NULL); |
| 15884 | 883 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
884 | |
| 15884 | 885 | purple_request_field_list_clear_selected(field); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
886 | |
| 15884 | 887 | if (!purple_request_field_list_get_multi_select(field) && |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
888 | g_list_length(items) > 1) |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
889 | { |
| 15884 | 890 | purple_debug_warning("request", |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
891 | "More than one item added to non-multi-select " |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
892 | "field %s\n", |
| 15884 | 893 | purple_request_field_get_id(field)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
894 | return; |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
895 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
896 | |
|
14128
3f6654cc8746
[gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14097
diff
changeset
|
897 | for (l = items; l != NULL; l = l->next) |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
898 | { |
|
14128
3f6654cc8746
[gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14097
diff
changeset
|
899 | 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
|
900 | g_strdup(l->data)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
901 | g_hash_table_insert(field->u.list.selected_table, |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
902 | g_strdup((char *)l->data), NULL); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
903 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
904 | } |
|
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 | gboolean |
| 15884 | 907 | purple_request_field_list_is_selected(const PurpleRequestField *field, |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
908 | const char *item) |
|
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_return_val_if_fail(field != NULL, FALSE); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
911 | g_return_val_if_fail(item != NULL, FALSE); |
| 15884 | 912 | 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
|
913 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
914 | return g_hash_table_lookup_extended(field->u.list.selected_table, |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
915 | item, NULL, NULL); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
916 | } |
|
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
917 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
918 | GList * |
| 15884 | 919 | purple_request_field_list_get_selected(const PurpleRequestField *field) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
920 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
921 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 922 | 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
|
923 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
924 | return field->u.list.selected; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
925 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
926 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
927 | GList * |
| 15884 | 928 | purple_request_field_list_get_items(const PurpleRequestField *field) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
929 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
930 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 931 | 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
|
932 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
933 | return field->u.list.items; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
934 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
935 | |
| 15884 | 936 | PurpleRequestField * |
| 937 | 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
|
938 | { |
| 15884 | 939 | PurpleRequestField *field; |
|
7905
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
940 | |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
941 | g_return_val_if_fail(id != NULL, NULL); |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
942 | g_return_val_if_fail(text != NULL, NULL); |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
943 | |
| 15884 | 944 | 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
|
945 | |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
946 | return field; |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
947 | } |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
948 | |
| 15884 | 949 | PurpleRequestField * |
| 950 | purple_request_field_image_new(const char *id, const char *text, const char *buf, gsize size) | |
| 11357 | 951 | { |
| 15884 | 952 | PurpleRequestField *field; |
| 11357 | 953 | |
| 954 | g_return_val_if_fail(id != NULL, NULL); | |
| 955 | g_return_val_if_fail(text != NULL, NULL); | |
| 956 | g_return_val_if_fail(buf != NULL, NULL); | |
| 957 | g_return_val_if_fail(size > 0, NULL); | |
| 958 | ||
| 15884 | 959 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_IMAGE); |
| 11357 | 960 | |
| 961 | field->u.image.buffer = g_memdup(buf, size); | |
| 962 | field->u.image.size = size; | |
| 963 | field->u.image.scale_x = 1; | |
| 964 | field->u.image.scale_y = 1; | |
| 965 | ||
| 966 | return field; | |
| 967 | } | |
| 968 | ||
| 969 | void | |
| 15884 | 970 | purple_request_field_image_set_scale(PurpleRequestField *field, unsigned int x, unsigned int y) |
| 11357 | 971 | { |
| 972 | g_return_if_fail(field != NULL); | |
| 15884 | 973 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE); |
| 11357 | 974 | |
| 975 | field->u.image.scale_x = x; | |
| 976 | field->u.image.scale_y = y; | |
| 977 | } | |
| 978 | ||
| 979 | const char * | |
| 15884 | 980 | purple_request_field_image_get_buffer(PurpleRequestField *field) |
| 11357 | 981 | { |
| 982 | g_return_val_if_fail(field != NULL, NULL); | |
| 15884 | 983 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, NULL); |
| 11357 | 984 | |
| 985 | return field->u.image.buffer; | |
| 986 | } | |
| 987 | ||
| 988 | gsize | |
| 15884 | 989 | purple_request_field_image_get_size(PurpleRequestField *field) |
| 11357 | 990 | { |
| 991 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 992 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 993 | |
| 994 | return field->u.image.size; | |
| 995 | } | |
| 996 | ||
| 997 | unsigned int | |
| 15884 | 998 | purple_request_field_image_get_scale_x(PurpleRequestField *field) |
| 11357 | 999 | { |
| 1000 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 1001 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 1002 | |
| 1003 | return field->u.image.scale_x; | |
| 1004 | } | |
| 1005 | ||
| 1006 | unsigned int | |
| 15884 | 1007 | purple_request_field_image_get_scale_y(PurpleRequestField *field) |
| 11357 | 1008 | { |
| 1009 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 1010 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 1011 | |
| 1012 | return field->u.image.scale_y; | |
| 1013 | } | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1014 | |
| 15884 | 1015 | PurpleRequestField * |
| 1016 | purple_request_field_account_new(const char *id, const char *text, | |
| 1017 | PurpleAccount *account) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1018 | { |
| 15884 | 1019 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1020 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1021 | g_return_val_if_fail(id != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1022 | g_return_val_if_fail(text != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1023 | |
| 15884 | 1024 | 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
|
1025 | |
| 15884 | 1026 | if (account == NULL && purple_connections_get_all() != NULL) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1027 | { |
| 15884 | 1028 | account = purple_connection_get_account( |
| 1029 | (PurpleConnection *)purple_connections_get_all()->data); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1030 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1031 | |
| 15884 | 1032 | purple_request_field_account_set_default_value(field, account); |
| 1033 | purple_request_field_account_set_value(field, account); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1034 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1035 | return field; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1036 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1037 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1038 | void |
| 15884 | 1039 | purple_request_field_account_set_default_value(PurpleRequestField *field, |
| 1040 | PurpleAccount *default_value) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1041 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1042 | g_return_if_fail(field != NULL); |
| 15884 | 1043 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1044 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1045 | field->u.account.default_account = default_value; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1046 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1047 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1048 | void |
| 15884 | 1049 | purple_request_field_account_set_value(PurpleRequestField *field, |
| 1050 | PurpleAccount *value) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1051 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1052 | g_return_if_fail(field != NULL); |
| 15884 | 1053 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1054 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1055 | field->u.account.account = value; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1056 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1057 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1058 | void |
| 15884 | 1059 | purple_request_field_account_set_show_all(PurpleRequestField *field, |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1060 | gboolean show_all) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1061 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1062 | g_return_if_fail(field != NULL); |
| 15884 | 1063 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1064 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1065 | if (field->u.account.show_all == show_all) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1066 | return; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1067 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1068 | field->u.account.show_all = show_all; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1069 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1070 | if (!show_all) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1071 | { |
| 15884 | 1072 | if (purple_account_is_connected(field->u.account.default_account)) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1073 | { |
| 15884 | 1074 | purple_request_field_account_set_default_value(field, |
| 1075 | (PurpleAccount *)purple_connections_get_all()->data); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1076 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1077 | |
| 15884 | 1078 | if (purple_account_is_connected(field->u.account.account)) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1079 | { |
| 15884 | 1080 | purple_request_field_account_set_value(field, |
| 1081 | (PurpleAccount *)purple_connections_get_all()->data); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1082 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1083 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1084 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1085 | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1086 | void |
| 15884 | 1087 | purple_request_field_account_set_filter(PurpleRequestField *field, |
| 1088 | PurpleFilterAccountFunc filter_func) | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1089 | { |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1090 | g_return_if_fail(field != NULL); |
| 15884 | 1091 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1092 | |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1093 | field->u.account.filter_func = filter_func; |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1094 | } |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1095 | |
| 15884 | 1096 | PurpleAccount * |
| 1097 | purple_request_field_account_get_default_value(const PurpleRequestField *field) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1098 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1099 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1100 | 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
|
1101 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1102 | return field->u.account.default_account; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1103 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1104 | |
| 15884 | 1105 | PurpleAccount * |
| 1106 | purple_request_field_account_get_value(const PurpleRequestField *field) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1107 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1108 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1109 | 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
|
1110 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1111 | return field->u.account.account; |
|
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 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1114 | gboolean |
| 15884 | 1115 | purple_request_field_account_get_show_all(const PurpleRequestField *field) |
|
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_val_if_fail(field != NULL, FALSE); |
| 15884 | 1118 | 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
|
1119 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1120 | return field->u.account.show_all; |
|
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 | |
| 15884 | 1123 | PurpleFilterAccountFunc |
| 1124 | purple_request_field_account_get_filter(const PurpleRequestField *field) | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1125 | { |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1126 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1127 | 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
|
1128 | |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1129 | return field->u.account.filter_func; |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1130 | } |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1131 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1132 | /* -- */ |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1133 | |
| 5477 | 1134 | void * |
| 15884 | 1135 | purple_request_input(void *handle, const char *title, const char *primary, |
| 5477 | 1136 | const char *secondary, const char *default_value, |
| 8697 | 1137 | gboolean multiline, gboolean masked, gchar *hint, |
| 5477 | 1138 | const char *ok_text, GCallback ok_cb, |
| 1139 | 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
|
1140 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
| 5477 | 1141 | void *user_data) |
| 1142 | { | |
| 15884 | 1143 | PurpleRequestUiOps *ops; |
| 5477 | 1144 | |
| 1145 | g_return_val_if_fail(ok_text != NULL, NULL); | |
| 1146 | g_return_val_if_fail(ok_cb != NULL, NULL); | |
| 1147 | ||
| 15884 | 1148 | ops = purple_request_get_ui_ops(); |
| 5477 | 1149 | |
| 1150 | if (ops != NULL && ops->request_input != NULL) { | |
| 15884 | 1151 | PurpleRequestInfo *info; |
| 5477 | 1152 | |
| 15884 | 1153 | info = g_new0(PurpleRequestInfo, 1); |
| 1154 | info->type = PURPLE_REQUEST_INPUT; | |
| 5477 | 1155 | info->handle = handle; |
| 1156 | info->ui_handle = ops->request_input(title, primary, secondary, | |
|
6035
b245be9cbe3b
[gaim-migrate @ 6485]
Christian Hammond <chipx86@chipx86.com>
parents:
5810
diff
changeset
|
1157 | default_value, |
| 8697 | 1158 | multiline, masked, hint, |
|
5482
6831f83bfae5
[gaim-migrate @ 5878]
Christian Hammond <chipx86@chipx86.com>
parents:
5477
diff
changeset
|
1159 | ok_text, ok_cb, |
| 5477 | 1160 | 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
|
1161 | account, who, conv, |
| 5477 | 1162 | user_data); |
| 1163 | ||
| 1164 | handles = g_list_append(handles, info); | |
| 1165 | ||
| 1166 | return info->ui_handle; | |
| 1167 | } | |
| 1168 | ||
| 1169 | return NULL; | |
| 1170 | } | |
| 1171 | ||
| 1172 | void * | |
| 15884 | 1173 | purple_request_choice(void *handle, const char *title, const char *primary, |
| 5477 | 1174 | const char *secondary, unsigned int default_value, |
| 1175 | const char *ok_text, GCallback ok_cb, | |
| 1176 | 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
|
1177 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1178 | void *user_data, ...) |
| 5477 | 1179 | { |
| 1180 | void *ui_handle; | |
| 1181 | va_list args; | |
| 1182 | ||
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1183 | g_return_val_if_fail(ok_text != NULL, NULL); |
|
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1184 | g_return_val_if_fail(ok_cb != NULL, NULL); |
| 5477 | 1185 | |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1186 | va_start(args, user_data); |
| 15884 | 1187 | ui_handle = purple_request_choice_varg(handle, title, primary, secondary, |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1188 | default_value, ok_text, ok_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
|
1189 | cancel_text, 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
|
1190 | account, who, conv, user_data, args); |
| 5477 | 1191 | va_end(args); |
| 1192 | ||
| 1193 | return ui_handle; | |
| 1194 | } | |
| 1195 | ||
| 1196 | void * | |
| 15884 | 1197 | purple_request_choice_varg(void *handle, const char *title, |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1198 | const char *primary, const char *secondary, |
|
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1199 | unsigned int default_value, |
|
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1200 | const char *ok_text, GCallback ok_cb, |
|
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1201 | 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
|
1202 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1203 | void *user_data, va_list choices) |
| 5477 | 1204 | { |
| 15884 | 1205 | PurpleRequestUiOps *ops; |
| 5477 | 1206 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1207 | g_return_val_if_fail(ok_text != NULL, NULL); |
|
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1208 | g_return_val_if_fail(ok_cb != NULL, NULL); |
| 5477 | 1209 | |
| 15884 | 1210 | ops = purple_request_get_ui_ops(); |
| 5477 | 1211 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1212 | if (ops != NULL && ops->request_choice != NULL) { |
| 15884 | 1213 | PurpleRequestInfo *info; |
| 5477 | 1214 | |
| 15884 | 1215 | info = g_new0(PurpleRequestInfo, 1); |
| 1216 | info->type = PURPLE_REQUEST_CHOICE; | |
| 5477 | 1217 | info->handle = handle; |
| 1218 | info->ui_handle = ops->request_choice(title, primary, secondary, | |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1219 | default_value, |
|
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1220 | ok_text, ok_cb, |
|
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1221 | 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
|
1222 | account, who, conv, |
|
10229
39ffee70c286
[gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents:
9502
diff
changeset
|
1223 | user_data, choices); |
| 5477 | 1224 | |
| 1225 | handles = g_list_append(handles, info); | |
| 1226 | ||
| 1227 | return info->ui_handle; | |
| 1228 | } | |
| 1229 | ||
| 1230 | return NULL; | |
| 1231 | } | |
| 1232 | ||
| 1233 | void * | |
| 15884 | 1234 | purple_request_action(void *handle, const char *title, const char *primary, |
| 5477 | 1235 | const char *secondary, unsigned 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
|
1236 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1237 | void *user_data, size_t action_count, ...) |
| 5477 | 1238 | { |
| 1239 | void *ui_handle; | |
| 1240 | va_list args; | |
| 1241 | ||
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1242 | g_return_val_if_fail(action_count > 0, NULL); |
| 5477 | 1243 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1244 | va_start(args, action_count); |
| 15884 | 1245 | ui_handle = purple_request_action_varg(handle, 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
|
1246 | default_action, account, who, conv, |
|
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
|
1247 | user_data, action_count, args); |
| 5477 | 1248 | va_end(args); |
| 1249 | ||
| 1250 | return ui_handle; | |
| 1251 | } | |
| 1252 | ||
| 1253 | void * | |
| 15884 | 1254 | purple_request_action_varg(void *handle, const char *title, |
| 5477 | 1255 | const char *primary, const char *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
|
1256 | unsigned int default_action, |
|
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
|
1257 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
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
|
1258 | void *user_data, size_t action_count, va_list actions) |
| 5477 | 1259 | { |
| 15884 | 1260 | PurpleRequestUiOps *ops; |
| 5477 | 1261 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1262 | g_return_val_if_fail(action_count > 0, NULL); |
| 5477 | 1263 | |
| 15884 | 1264 | ops = purple_request_get_ui_ops(); |
| 5477 | 1265 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
1266 | if (ops != NULL && ops->request_action != NULL) { |
| 15884 | 1267 | PurpleRequestInfo *info; |
| 5477 | 1268 | |
| 15884 | 1269 | info = g_new0(PurpleRequestInfo, 1); |
| 1270 | info->type = PURPLE_REQUEST_ACTION; | |
| 5477 | 1271 | info->handle = handle; |
| 1272 | 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
|
1273 | default_action, account, who, conv, |
|
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
|
1274 | user_data, action_count, actions); |
| 5477 | 1275 | |
| 1276 | handles = g_list_append(handles, info); | |
| 1277 | ||
| 1278 | return info->ui_handle; | |
| 1279 | } | |
| 1280 | ||
| 1281 | return NULL; | |
| 1282 | } | |
| 1283 | ||
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1284 | void * |
| 15884 | 1285 | purple_request_fields(void *handle, const char *title, const char *primary, |
| 1286 | const char *secondary, PurpleRequestFields *fields, | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1287 | const char *ok_text, GCallback ok_cb, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1288 | 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
|
1289 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1290 | void *user_data) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1291 | { |
| 15884 | 1292 | PurpleRequestUiOps *ops; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1293 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1294 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1295 | g_return_val_if_fail(ok_text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1296 | g_return_val_if_fail(ok_cb != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1297 | |
| 15884 | 1298 | ops = purple_request_get_ui_ops(); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1299 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1300 | if (ops != NULL && ops->request_fields != NULL) { |
| 15884 | 1301 | PurpleRequestInfo *info; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1302 | |
| 15884 | 1303 | info = g_new0(PurpleRequestInfo, 1); |
| 1304 | info->type = PURPLE_REQUEST_FIELDS; | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1305 | info->handle = handle; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1306 | info->ui_handle = ops->request_fields(title, primary, secondary, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1307 | fields, ok_text, ok_cb, |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1308 | 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
|
1309 | account, who, conv, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1310 | user_data); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1311 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1312 | handles = g_list_append(handles, info); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1313 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1314 | return info->ui_handle; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1315 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1316 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1317 | return NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1318 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1319 | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1320 | void * |
| 15884 | 1321 | purple_request_file(void *handle, const char *title, const char *filename, |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1322 | gboolean 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
|
1323 | 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
|
1324 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
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
|
1325 | void *user_data) |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1326 | { |
| 15884 | 1327 | PurpleRequestUiOps *ops; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1328 | |
| 15884 | 1329 | ops = purple_request_get_ui_ops(); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1330 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1331 | if (ops != NULL && ops->request_file != NULL) { |
| 15884 | 1332 | PurpleRequestInfo *info; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1333 | |
| 15884 | 1334 | info = g_new0(PurpleRequestInfo, 1); |
| 1335 | info->type = PURPLE_REQUEST_FILE; | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1336 | info->handle = handle; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1337 | 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
|
1338 | 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
|
1339 | account, who, conv, user_data); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1340 | handles = g_list_append(handles, info); |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1341 | return info->ui_handle; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1342 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1343 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1344 | return NULL; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1345 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1346 | |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1347 | void * |
| 15884 | 1348 | 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
|
1349 | 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
|
1350 | PurpleAccount *account, const char *who, PurpleConversation *conv, |
|
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
|
1351 | void *user_data) |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1352 | { |
| 15884 | 1353 | PurpleRequestUiOps *ops; |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1354 | |
| 15884 | 1355 | ops = purple_request_get_ui_ops(); |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1356 | |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1357 | if (ops != NULL && ops->request_file != NULL) { |
| 15884 | 1358 | PurpleRequestInfo *info; |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1359 | |
| 15884 | 1360 | info = g_new0(PurpleRequestInfo, 1); |
| 1361 | info->type = PURPLE_REQUEST_FOLDER; | |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1362 | info->handle = handle; |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1363 | 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
|
1364 | 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
|
1365 | account, who, conv, |
|
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
|
1366 | user_data); |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1367 | handles = g_list_append(handles, info); |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1368 | return info->ui_handle; |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1369 | } |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1370 | |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1371 | return NULL; |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1372 | } |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
1373 | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1374 | static void |
| 15884 | 1375 | purple_request_close_info(PurpleRequestInfo *info) |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1376 | { |
| 15884 | 1377 | PurpleRequestUiOps *ops; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1378 | |
| 15884 | 1379 | ops = purple_request_get_ui_ops(); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1380 | |
| 15884 | 1381 | purple_notify_close_with_handle(info->ui_handle); |
| 1382 | purple_request_close_with_handle(info->ui_handle); | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1383 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1384 | if (ops != NULL && ops->close_request != NULL) |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1385 | ops->close_request(info->type, info->ui_handle); |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1386 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1387 | g_free(info); |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1388 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
1389 | |
| 5477 | 1390 | void |
| 15884 | 1391 | purple_request_close(PurpleRequestType type, void *ui_handle) |
| 5477 | 1392 | { |
| 1393 | GList *l; | |
| 1394 | ||
| 1395 | g_return_if_fail(ui_handle != NULL); | |
| 1396 | ||
| 1397 | for (l = handles; l != NULL; l = l->next) { | |
| 15884 | 1398 | PurpleRequestInfo *info = l->data; |
| 5477 | 1399 | |
| 1400 | if (info->ui_handle == ui_handle) { | |
| 1401 | handles = g_list_remove(handles, info); | |
| 15884 | 1402 | purple_request_close_info(info); |
| 5477 | 1403 | break; |
| 1404 | } | |
| 1405 | } | |
| 1406 | } | |
| 1407 | ||
| 1408 | void | |
| 15884 | 1409 | purple_request_close_with_handle(void *handle) |
| 5477 | 1410 | { |
| 1411 | GList *l, *l_next; | |
| 1412 | ||
| 1413 | g_return_if_fail(handle != NULL); | |
| 1414 | ||
| 1415 | for (l = handles; l != NULL; l = l_next) { | |
| 15884 | 1416 | PurpleRequestInfo *info = l->data; |
| 5477 | 1417 | |
| 1418 | l_next = l->next; | |
| 1419 | ||
| 1420 | if (info->handle == handle) { | |
| 1421 | handles = g_list_remove(handles, info); | |
| 15884 | 1422 | purple_request_close_info(info); |
| 5477 | 1423 | } |
| 1424 | } | |
| 1425 | } | |
| 1426 | ||
| 1427 | void | |
| 15884 | 1428 | purple_request_set_ui_ops(PurpleRequestUiOps *ops) |
| 5477 | 1429 | { |
| 1430 | request_ui_ops = ops; | |
| 1431 | } | |
| 1432 | ||
| 15884 | 1433 | PurpleRequestUiOps * |
| 1434 | purple_request_get_ui_ops(void) | |
| 5477 | 1435 | { |
| 1436 | return request_ui_ops; | |
| 1437 | } |