Fri, 04 Nov 2022 23:55:30 -0500
Add purple_account_manager_get_connected and port libpurple to it
Generally speaking, purple_connections_get_all is used to get a list of accounts
that are currently connected and then act upon those accounts.
Instead of having a connections API for that, we can just put it into the
account manager which can query the accounts it knows about and check if they
are connected or not making the account the source of truth for whether it is
connected or not.
This also has the benefit of treating the connection as just a data object that
belongs to the account which feels a lot more natural than the existing API.
Testing Done:
Ran and let a bonjour account go idle and verified via another instance of pidgin.
Reviewed at https://reviews.imfreedom.org/r/2031/
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
1 | /* purple |
| 5477 | 2 | * |
| 15884 | 3 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 5 | * source distribution. | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6325
diff
changeset
|
6 | * |
| 5477 | 7 | * This program is free software; you can redistribute it and/or modify |
| 8 | * it under the terms of the GNU General Public License as published by | |
| 9 | * the Free Software Foundation; either version 2 of the License, or | |
| 10 | * (at your option) any later version. | |
| 11 | * | |
| 12 | * This program is distributed in the hope that it will be useful, | |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 | * GNU General Public License for more details. | |
| 16 | * | |
| 17 | * You should have received a copy of the GNU General Public License | |
| 18 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19585
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 5477 | 20 | */ |
|
24900
a19d983918c2
Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents:
24899
diff
changeset
|
21 | |
|
40441
f23c7e772667
Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents:
40350
diff
changeset
|
22 | #include <glib/gi18n-lib.h> |
|
f23c7e772667
Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents:
40350
diff
changeset
|
23 | |
|
40756
3a58ef28ee44
Implement mitigation for GHSL-2021-045
Gary Kramlich <grim@reaperworld.com>
parents:
40564
diff
changeset
|
24 | #include "glibcompat.h" |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
25 | #include "notify.h" |
|
40564
2c5b4dc2e86a
Pull the purple_markup_* api out of util.[ch] to purplemarkup.[ch]. No code was changed just moved it from one file to the other.
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
26 | #include "purplemarkup.h" |
| 5477 | 27 | #include "request.h" |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
28 | #include "debug.h" |
|
41890
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
29 | #include "purpleaccountmanager.h" |
|
40350
72271baf92bc
Split PurpleKeyValuePair out to it's own file and try to do some cleanup in the files that need to include it.
Gary Kramlich <grim@reaperworld.com>
parents:
40329
diff
changeset
|
30 | #include "purplekeyvaluepair.h" |
| 5477 | 31 | |
| 15884 | 32 | static PurpleRequestUiOps *request_ui_ops = NULL; |
| 5477 | 33 | static GList *handles = NULL; |
| 34 | ||
| 35 | typedef struct | |
| 36 | { | |
|
34478
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
37 | GDestroyNotify cb; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
38 | gpointer data; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
39 | } PurpleRequestCloseNotified; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
40 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
41 | typedef struct |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
42 | { |
| 15884 | 43 | PurpleRequestType type; |
| 5477 | 44 | void *handle; |
| 45 | void *ui_handle; | |
|
34478
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
46 | GSList *notify_on_close; |
| 15884 | 47 | } PurpleRequestInfo; |
| 5477 | 48 | |
| 32216 | 49 | struct _PurpleRequestField |
| 50 | { | |
| 51 | PurpleRequestFieldType type; | |
| 52 | PurpleRequestFieldGroup *group; | |
| 53 | ||
| 54 | char *id; | |
| 55 | char *label; | |
| 56 | char *type_hint; | |
| 57 | ||
| 58 | gboolean visible; | |
| 59 | gboolean required; | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
60 | gboolean sensitive; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
61 | PurpleRequestFieldSensitivityCb sensitivity_cb; |
| 32216 | 62 | |
| 63 | union | |
| 64 | { | |
| 65 | struct | |
| 66 | { | |
| 67 | gboolean multiline; | |
| 68 | gboolean masked; | |
| 69 | char *default_value; | |
| 70 | char *value; | |
| 71 | ||
| 72 | } string; | |
| 73 | ||
| 74 | struct | |
| 75 | { | |
| 76 | int default_value; | |
| 77 | int value; | |
|
33935
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
78 | int lower_bound; |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
79 | int upper_bound; |
| 32216 | 80 | } integer; |
| 81 | ||
| 82 | struct | |
| 83 | { | |
| 84 | gboolean default_value; | |
| 85 | gboolean value; | |
| 86 | ||
| 87 | } boolean; | |
| 88 | ||
| 89 | struct | |
| 90 | { | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
91 | gpointer default_value; |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
92 | gpointer value; |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
93 | |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
94 | GList *elements; |
| 32216 | 95 | } choice; |
| 96 | ||
| 97 | struct | |
| 98 | { | |
| 99 | GList *items; | |
|
40836
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
100 | gboolean has_icons; |
| 32216 | 101 | GHashTable *item_data; |
| 102 | GList *selected; | |
| 103 | GHashTable *selected_table; | |
| 104 | ||
| 105 | gboolean multiple_selection; | |
| 106 | ||
| 107 | } list; | |
| 108 | ||
| 109 | struct | |
| 110 | { | |
| 111 | PurpleAccount *default_account; | |
| 112 | PurpleAccount *account; | |
| 113 | gboolean show_all; | |
| 114 | ||
| 115 | PurpleFilterAccountFunc filter_func; | |
| 116 | ||
| 117 | } account; | |
| 118 | ||
| 119 | struct | |
| 120 | { | |
| 121 | unsigned int scale_x; | |
| 122 | unsigned int scale_y; | |
| 123 | const char *buffer; | |
| 124 | gsize size; | |
| 125 | } image; | |
| 126 | ||
|
32886
359ad954dccc
Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32554
diff
changeset
|
127 | struct |
|
359ad954dccc
Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32554
diff
changeset
|
128 | { |
|
34502
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
129 | PurpleRequestDatasheet *sheet; |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
130 | } datasheet; |
| 32216 | 131 | } u; |
| 132 | ||
| 133 | void *ui_data; | |
| 134 | char *tooltip; | |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
135 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
136 | PurpleRequestFieldValidator validator; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
137 | void *validator_data; |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
138 | }; |
| 32216 | 139 | |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
140 | struct _PurpleRequestFields |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
141 | { |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
142 | GList *groups; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
143 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
144 | GHashTable *fields; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
145 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
146 | GList *required_fields; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
147 | |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
148 | GList *validated_fields; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
149 | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
150 | GList *autosensitive_fields; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
151 | |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
152 | void *ui_data; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
153 | }; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
154 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
155 | struct _PurpleRequestFieldGroup |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
156 | { |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
157 | PurpleRequestFields *fields_list; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
158 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
159 | char *title; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
160 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
161 | GList *fields; |
| 32216 | 162 | }; |
| 5477 | 163 | |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
164 | struct _PurpleRequestCommonParameters |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
165 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
166 | int ref_count; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
167 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
168 | PurpleAccount *account; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
169 | PurpleConversation *conv; |
|
34341
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
170 | |
|
34336
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
171 | PurpleRequestIconType icon_type; |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
172 | gconstpointer icon_data; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
173 | gsize icon_size; |
|
34341
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
174 | |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
175 | gboolean html; |
|
34341
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
176 | |
|
34339
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
177 | gboolean compact; |
|
34341
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
178 | |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
179 | PurpleRequestHelpCb help_cb; |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
180 | gpointer help_data; |
|
34444
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
181 | |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
182 | GSList *extra_actions; |
|
34451
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
183 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
184 | gpointer parent_from; |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
185 | }; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
186 | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
187 | static void |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
188 | purple_request_fields_check_others_sensitivity(PurpleRequestField *field); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
189 | |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
190 | PurpleRequestCommonParameters * |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
191 | purple_request_cpar_new(void) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
192 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
193 | return g_new0(PurpleRequestCommonParameters, 1); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
194 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
195 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
196 | PurpleRequestCommonParameters * |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
197 | purple_request_cpar_from_connection(PurpleConnection *gc) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
198 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
199 | if (gc == NULL) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
200 | return purple_request_cpar_new(); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
201 | return purple_request_cpar_from_account( |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
202 | purple_connection_get_account(gc)); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
203 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
204 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
205 | PurpleRequestCommonParameters * |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
206 | purple_request_cpar_from_account(PurpleAccount *account) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
207 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
208 | PurpleRequestCommonParameters *cpar; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
209 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
210 | cpar = purple_request_cpar_new(); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
211 | purple_request_cpar_set_account(cpar, account); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
212 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
213 | return cpar; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
214 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
215 | |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
216 | PurpleRequestCommonParameters * |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
217 | purple_request_cpar_from_conversation(PurpleConversation *conv) |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
218 | { |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
219 | PurpleRequestCommonParameters *cpar; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
220 | PurpleAccount *account = NULL; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
221 | |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
222 | if (conv != NULL) { |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
223 | account = purple_connection_get_account( |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
224 | purple_conversation_get_connection(conv)); |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
225 | } |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
226 | |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
227 | cpar = purple_request_cpar_new(); |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
228 | purple_request_cpar_set_account(cpar, account); |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
229 | purple_request_cpar_set_conversation(cpar, conv); |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
230 | |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
231 | return cpar; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
232 | } |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
233 | |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
234 | void |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
235 | purple_request_cpar_ref(PurpleRequestCommonParameters *cpar) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
236 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
237 | g_return_if_fail(cpar != NULL); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
238 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
239 | cpar->ref_count++; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
240 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
241 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
242 | PurpleRequestCommonParameters * |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
243 | purple_request_cpar_unref(PurpleRequestCommonParameters *cpar) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
244 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
245 | if (cpar == NULL) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
246 | return NULL; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
247 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
248 | if (--cpar->ref_count > 0) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
249 | return cpar; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
250 | |
|
34444
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
251 | purple_request_cpar_set_extra_actions(cpar, NULL); |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
252 | g_free(cpar); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
253 | return NULL; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
254 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
255 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
256 | void |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
257 | purple_request_cpar_set_account(PurpleRequestCommonParameters *cpar, |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
258 | PurpleAccount *account) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
259 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
260 | g_return_if_fail(cpar != NULL); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
261 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
262 | cpar->account = account; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
263 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
264 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
265 | PurpleAccount * |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
266 | purple_request_cpar_get_account(PurpleRequestCommonParameters *cpar) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
267 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
268 | if (cpar == NULL) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
269 | return NULL; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
270 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
271 | return cpar->account; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
272 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
273 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
274 | void |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
275 | purple_request_cpar_set_conversation(PurpleRequestCommonParameters *cpar, |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
276 | PurpleConversation *conv) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
277 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
278 | g_return_if_fail(cpar != NULL); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
279 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
280 | cpar->conv = conv; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
281 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
282 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
283 | PurpleConversation * |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
284 | purple_request_cpar_get_conversation(PurpleRequestCommonParameters *cpar) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
285 | { |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
286 | if (cpar == NULL) |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
287 | return NULL; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
288 | |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
289 | return cpar->conv; |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
290 | } |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
291 | |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
292 | void |
|
34336
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
293 | purple_request_cpar_set_icon(PurpleRequestCommonParameters *cpar, |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
294 | PurpleRequestIconType icon_type) |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
295 | { |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
296 | g_return_if_fail(cpar != NULL); |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
297 | |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
298 | cpar->icon_type = icon_type; |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
299 | } |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
300 | |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
301 | PurpleRequestIconType |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
302 | purple_request_cpar_get_icon(PurpleRequestCommonParameters *cpar) |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
303 | { |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
304 | if (cpar == NULL) |
|
34443
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
305 | return PURPLE_REQUEST_ICON_DEFAULT; |
|
34336
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
306 | |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
307 | return cpar->icon_type; |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
308 | } |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
309 | |
|
5f3ec29a886b
Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34335
diff
changeset
|
310 | void |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
311 | purple_request_cpar_set_custom_icon(PurpleRequestCommonParameters *cpar, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
312 | gconstpointer icon_data, gsize icon_size) |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
313 | { |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
314 | g_return_if_fail(cpar != NULL); |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
315 | g_return_if_fail((icon_data == NULL) == (icon_size == 0)); |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
316 | |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
317 | cpar->icon_data = icon_data; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
318 | cpar->icon_size = icon_size; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
319 | } |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
320 | |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
321 | gconstpointer |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
322 | purple_request_cpar_get_custom_icon(PurpleRequestCommonParameters *cpar, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
323 | gsize *icon_size) |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
324 | { |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
325 | if (cpar == NULL) { |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
326 | if (icon_size != NULL) |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
327 | *icon_size = 0; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
328 | return NULL; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
329 | } |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
330 | |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
331 | if (icon_size != NULL) |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
332 | *icon_size = cpar->icon_size; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
333 | return cpar->icon_data; |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
334 | } |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
335 | |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
336 | void |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
337 | purple_request_cpar_set_html(PurpleRequestCommonParameters *cpar, |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
338 | gboolean enabled) |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
339 | { |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
340 | g_return_if_fail(cpar != NULL); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
341 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
342 | cpar->html = enabled; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
343 | } |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
344 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
345 | gboolean |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
346 | purple_request_cpar_is_html(PurpleRequestCommonParameters *cpar) |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
347 | { |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
348 | if (cpar == NULL) |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
349 | return FALSE; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
350 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
351 | return cpar->html; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
352 | } |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
353 | |
|
34339
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
354 | void |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
355 | purple_request_cpar_set_compact(PurpleRequestCommonParameters *cpar, |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
356 | gboolean compact) |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
357 | { |
|
34341
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
358 | g_return_if_fail(cpar != NULL); |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
359 | |
|
34339
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
360 | cpar->compact = compact; |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
361 | } |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
362 | |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
363 | gboolean |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
364 | purple_request_cpar_is_compact(PurpleRequestCommonParameters *cpar) |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
365 | { |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
366 | if (cpar == NULL) |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
367 | return FALSE; |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
368 | |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
369 | return cpar->compact; |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
370 | } |
|
3579cb14f8f2
Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34338
diff
changeset
|
371 | |
|
34341
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
372 | void |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
373 | purple_request_cpar_set_help_cb(PurpleRequestCommonParameters *cpar, |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
374 | PurpleRequestHelpCb cb, gpointer user_data) |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
375 | { |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
376 | g_return_if_fail(cpar != NULL); |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
377 | |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
378 | cpar->help_cb = cb; |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
379 | cpar->help_data = cb ? user_data : NULL; |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
380 | } |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
381 | |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
382 | PurpleRequestHelpCb |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
383 | purple_request_cpar_get_help_cb(PurpleRequestCommonParameters *cpar, |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
384 | gpointer *user_data) |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
385 | { |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
386 | if (cpar == NULL) |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
387 | return NULL; |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
388 | |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
389 | if (user_data != NULL) |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
390 | *user_data = cpar->help_data; |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
391 | return cpar->help_cb; |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
392 | } |
|
b23d9c0b64d5
Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34339
diff
changeset
|
393 | |
|
34444
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
394 | void |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
395 | purple_request_cpar_set_extra_actions(PurpleRequestCommonParameters *cpar, ...) |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
396 | { |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
397 | va_list args; |
|
40326
cdca03a74387
Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents:
40195
diff
changeset
|
398 | GSList *extra = NULL; |
|
cdca03a74387
Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents:
40195
diff
changeset
|
399 | |
|
40329
b5e0f65a5d9c
Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents:
40326
diff
changeset
|
400 | g_slist_free_full(cpar->extra_actions, (GDestroyNotify)purple_key_value_pair_free); |
|
34444
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
401 | |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
402 | va_start(args, cpar); |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
403 | |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
404 | while (TRUE) { |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
405 | const gchar *label; |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
406 | PurpleRequestFieldsCb cb; |
|
40329
b5e0f65a5d9c
Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents:
40326
diff
changeset
|
407 | PurpleKeyValuePair *extra_action; |
|
34444
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
408 | |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
409 | label = va_arg(args, const gchar*); |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
410 | if (label == NULL) |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
411 | break; |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
412 | cb = va_arg(args, PurpleRequestFieldsCb); |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
413 | |
|
40329
b5e0f65a5d9c
Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents:
40326
diff
changeset
|
414 | extra_action = purple_key_value_pair_new(label, cb); |
|
40326
cdca03a74387
Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents:
40195
diff
changeset
|
415 | |
|
cdca03a74387
Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents:
40195
diff
changeset
|
416 | extra = g_slist_append(extra, extra_action); |
|
34444
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
417 | } |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
418 | |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
419 | va_end(args); |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
420 | |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
421 | cpar->extra_actions = extra; |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
422 | } |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
423 | |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
424 | GSList * |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
425 | purple_request_cpar_get_extra_actions(PurpleRequestCommonParameters *cpar) |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
426 | { |
|
34452
7d05b0f03826
Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34451
diff
changeset
|
427 | if (cpar == NULL) |
|
7d05b0f03826
Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34451
diff
changeset
|
428 | return NULL; |
|
7d05b0f03826
Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34451
diff
changeset
|
429 | |
|
34444
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
430 | return cpar->extra_actions; |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
431 | } |
|
4fe0e2422d82
Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34443
diff
changeset
|
432 | |
|
34451
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
433 | void |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
434 | purple_request_cpar_set_parent_from(PurpleRequestCommonParameters *cpar, |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
435 | gpointer ui_handle) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
436 | { |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
437 | g_return_if_fail(cpar != NULL); |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
438 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
439 | cpar->parent_from = ui_handle; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
440 | } |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
441 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
442 | gpointer |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
443 | purple_request_cpar_get_parent_from(PurpleRequestCommonParameters *cpar) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
444 | { |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
445 | if (cpar == NULL) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
446 | return NULL; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
447 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
448 | return cpar->parent_from; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
449 | } |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
450 | |
|
34478
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
451 | static PurpleRequestInfo * |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
452 | purple_request_info_from_ui_handle(void *ui_handle) |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
453 | { |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
454 | GList *it; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
455 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
456 | g_return_val_if_fail(ui_handle != NULL, NULL); |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
457 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
458 | for (it = handles; it != NULL; it = g_list_next(it)) { |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
459 | PurpleRequestInfo *info = it->data; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
460 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
461 | if (info->ui_handle == ui_handle) |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
462 | return info; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
463 | } |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
464 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
465 | return NULL; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
466 | } |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
467 | |
| 15884 | 468 | PurpleRequestFields * |
| 469 | purple_request_fields_new(void) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
470 | { |
| 15884 | 471 | PurpleRequestFields *fields; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
472 | |
| 15884 | 473 | fields = g_new0(PurpleRequestFields, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
474 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
475 | 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
|
476 | g_free, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
477 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
478 | return fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
479 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
480 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
481 | void |
| 15884 | 482 | purple_request_fields_destroy(PurpleRequestFields *fields) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
483 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
484 | g_return_if_fail(fields != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
485 | |
|
39897
16b440d4ab36
Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
486 | g_list_free_full(fields->groups, |
|
16b440d4ab36
Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
487 | (GDestroyNotify)purple_request_field_group_destroy); |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
488 | g_list_free(fields->required_fields); |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
489 | g_list_free(fields->validated_fields); |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
490 | g_list_free(fields->autosensitive_fields); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
491 | g_hash_table_destroy(fields->fields); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
492 | g_free(fields); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
493 | } |
|
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 | void |
| 15884 | 496 | purple_request_fields_add_group(PurpleRequestFields *fields, |
| 497 | PurpleRequestFieldGroup *group) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
498 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
499 | GList *l; |
| 15884 | 500 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
501 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
502 | g_return_if_fail(fields != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
503 | g_return_if_fail(group != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
504 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
505 | fields->groups = g_list_append(fields->groups, group); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
506 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
507 | group->fields_list = fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
508 | |
| 15884 | 509 | for (l = purple_request_field_group_get_fields(group); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
510 | l != NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
511 | l = l->next) { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
512 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
513 | field = l->data; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
514 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
515 | g_hash_table_insert(fields->fields, |
| 15884 | 516 | g_strdup(purple_request_field_get_id(field)), field); |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
517 | |
| 15884 | 518 | if (purple_request_field_is_required(field)) { |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
519 | fields->required_fields = |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
520 | g_list_append(fields->required_fields, field); |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
521 | } |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
522 | |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
523 | if (purple_request_field_is_validatable(field)) { |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
524 | fields->validated_fields = |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
525 | g_list_append(fields->validated_fields, field); |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
526 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
527 | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
528 | if (field->sensitivity_cb != NULL) { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
529 | fields->autosensitive_fields = |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
530 | g_list_append(fields->autosensitive_fields, field); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
531 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
532 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
533 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
534 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
535 | GList * |
| 15884 | 536 | purple_request_fields_get_groups(const PurpleRequestFields *fields) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
537 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
538 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
539 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
540 | return fields->groups; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
541 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
542 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
543 | gboolean |
| 15884 | 544 | purple_request_fields_exists(const PurpleRequestFields *fields, const char *id) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
545 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
546 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
547 | g_return_val_if_fail(id != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
548 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
549 | return (g_hash_table_lookup(fields->fields, id) != NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
550 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
551 | |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
552 | const GList * |
| 15884 | 553 | purple_request_fields_get_required(const PurpleRequestFields *fields) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
554 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
555 | g_return_val_if_fail(fields != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
556 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
557 | return fields->required_fields; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
558 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
559 | |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
560 | const GList * |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
561 | purple_request_fields_get_validatable(const PurpleRequestFields *fields) |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
562 | { |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
563 | g_return_val_if_fail(fields != NULL, NULL); |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
564 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
565 | return fields->validated_fields; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
566 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
567 | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
568 | const GList * |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
569 | purple_request_fields_get_autosensitive(const PurpleRequestFields *fields) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
570 | { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
571 | g_return_val_if_fail(fields != NULL, NULL); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
572 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
573 | return fields->autosensitive_fields; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
574 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
575 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
576 | gboolean |
| 15884 | 577 | purple_request_fields_is_field_required(const PurpleRequestFields *fields, |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
578 | const char *id) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
579 | { |
| 15884 | 580 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
581 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
582 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
583 | g_return_val_if_fail(id != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
584 | |
| 15884 | 585 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
586 | return FALSE; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
587 | |
| 15884 | 588 | return purple_request_field_is_required(field); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
589 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
590 | |
|
24984
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
591 | gpointer |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
592 | purple_request_field_get_ui_data(const PurpleRequestField *field) |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
593 | { |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
594 | g_return_val_if_fail(field != NULL, NULL); |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
595 | |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
596 | return field->ui_data; |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
597 | } |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
598 | |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
599 | void |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
600 | purple_request_field_set_ui_data(PurpleRequestField *field, |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
601 | gpointer ui_data) |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
602 | { |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
603 | g_return_if_fail(field != NULL); |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
604 | |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
605 | field->ui_data = ui_data; |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
606 | } |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
607 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
608 | gboolean |
| 15884 | 609 | purple_request_fields_all_required_filled(const PurpleRequestFields *fields) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
610 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
611 | GList *l; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
612 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
613 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
614 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
615 | for (l = fields->required_fields; l != NULL; l = l->next) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
616 | { |
| 15884 | 617 | PurpleRequestField *field = (PurpleRequestField *)l->data; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
618 | |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
619 | if (!purple_request_field_is_filled(field)) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
620 | return FALSE; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
621 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
622 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
623 | return TRUE; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
624 | } |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
625 | |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
626 | gboolean |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
627 | purple_request_fields_all_valid(const PurpleRequestFields *fields) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
628 | { |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
629 | GList *l; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
630 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
631 | g_return_val_if_fail(fields != NULL, FALSE); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
632 | |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
633 | for (l = fields->validated_fields; l != NULL; l = l->next) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
634 | { |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
635 | PurpleRequestField *field = (PurpleRequestField *)l->data; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
636 | |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
637 | if (!purple_request_field_is_valid(field, NULL)) |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
638 | return FALSE; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
639 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
640 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
641 | return TRUE; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
642 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
643 | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
644 | static void |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
645 | purple_request_fields_check_sensitivity(PurpleRequestFields *fields) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
646 | { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
647 | GList *it; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
648 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
649 | g_return_if_fail(fields != NULL); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
650 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
651 | for (it = fields->autosensitive_fields; it; it = g_list_next(it)) { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
652 | PurpleRequestField *field = it->data; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
653 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
654 | if (field->sensitivity_cb == NULL) { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
655 | g_warn_if_reached(); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
656 | continue; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
657 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
658 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
659 | purple_request_field_set_sensitive(field, |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
660 | field->sensitivity_cb(field)); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
661 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
662 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
663 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
664 | static void |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
665 | purple_request_fields_check_others_sensitivity(PurpleRequestField *field) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
666 | { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
667 | g_return_if_fail(field != NULL); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
668 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
669 | if (field->group == NULL || field->group->fields_list == NULL) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
670 | return; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
671 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
672 | purple_request_fields_check_sensitivity(field->group->fields_list); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
673 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
674 | |
| 15884 | 675 | PurpleRequestField * |
| 676 | 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
|
677 | { |
| 15884 | 678 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
679 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
680 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
681 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
682 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
683 | field = g_hash_table_lookup(fields->fields, id); |
|
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 | g_return_val_if_fail(field != NULL, NULL); |
|
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 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
688 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
689 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
690 | const char * |
| 15884 | 691 | 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
|
692 | { |
| 15884 | 693 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
694 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
695 | g_return_val_if_fail(fields != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
696 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
697 | |
| 15884 | 698 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
699 | return NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
700 | |
| 15884 | 701 | return purple_request_field_string_get_value(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 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
704 | int |
| 15884 | 705 | purple_request_fields_get_integer(const PurpleRequestFields *fields, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
706 | const char *id) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
707 | { |
| 15884 | 708 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
709 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
710 | g_return_val_if_fail(fields != NULL, 0); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
711 | g_return_val_if_fail(id != NULL, 0); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
712 | |
| 15884 | 713 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
714 | return 0; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
715 | |
| 15884 | 716 | return purple_request_field_int_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
717 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
718 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
719 | gboolean |
| 15884 | 720 | 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
|
721 | { |
| 15884 | 722 | PurpleRequestField *field; |
|
5807
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 | g_return_val_if_fail(fields != NULL, FALSE); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
725 | g_return_val_if_fail(id != NULL, FALSE); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
726 | |
| 15884 | 727 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
728 | return FALSE; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
729 | |
| 15884 | 730 | return purple_request_field_bool_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
731 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
732 | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
733 | gpointer |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
734 | purple_request_fields_get_choice(const PurpleRequestFields *fields, |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
735 | const char *id) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
736 | { |
| 15884 | 737 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
738 | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
739 | g_return_val_if_fail(fields != NULL, NULL); |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
740 | g_return_val_if_fail(id != NULL, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
741 | |
| 15884 | 742 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
743 | return NULL; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
744 | |
| 15884 | 745 | return purple_request_field_choice_get_value(field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
746 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
747 | |
| 15884 | 748 | PurpleAccount * |
| 749 | purple_request_fields_get_account(const PurpleRequestFields *fields, | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
750 | const char *id) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
751 | { |
| 15884 | 752 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
753 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
754 | g_return_val_if_fail(fields != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
755 | g_return_val_if_fail(id != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
756 | |
| 15884 | 757 | if ((field = purple_request_fields_get_field(fields, id)) == NULL) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
758 | return NULL; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
759 | |
| 15884 | 760 | return purple_request_field_account_get_value(field); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
761 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
762 | |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
763 | gpointer purple_request_fields_get_ui_data(const PurpleRequestFields *fields) |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
764 | { |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
765 | g_return_val_if_fail(fields != NULL, NULL); |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
766 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
767 | return fields->ui_data; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
768 | } |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
769 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
770 | void purple_request_fields_set_ui_data(PurpleRequestFields *fields, gpointer ui_data) |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
771 | { |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
772 | g_return_if_fail(fields != NULL); |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
773 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
774 | fields->ui_data = ui_data; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
775 | } |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
776 | |
| 15884 | 777 | PurpleRequestFieldGroup * |
| 778 | purple_request_field_group_new(const char *title) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
779 | { |
| 15884 | 780 | PurpleRequestFieldGroup *group; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
781 | |
| 15884 | 782 | group = g_new0(PurpleRequestFieldGroup, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
783 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
784 | group->title = g_strdup(title); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
785 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
786 | return group; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
787 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
788 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
789 | void |
| 15884 | 790 | purple_request_field_group_destroy(PurpleRequestFieldGroup *group) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
791 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
792 | g_return_if_fail(group != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
793 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
794 | g_free(group->title); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
795 | |
|
39897
16b440d4ab36
Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
796 | g_list_free_full(group->fields, |
|
16b440d4ab36
Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
797 | (GDestroyNotify)purple_request_field_destroy); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
798 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
799 | g_free(group); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
800 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
801 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
802 | void |
| 15884 | 803 | purple_request_field_group_add_field(PurpleRequestFieldGroup *group, |
| 804 | PurpleRequestField *field) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
805 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
806 | g_return_if_fail(group != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
807 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
808 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
809 | group->fields = g_list_append(group->fields, field); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
810 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
811 | if (group->fields_list != NULL) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
812 | { |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
813 | g_hash_table_insert(group->fields_list->fields, |
| 15884 | 814 | g_strdup(purple_request_field_get_id(field)), field); |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
815 | |
| 15884 | 816 | if (purple_request_field_is_required(field)) |
|
14149
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
817 | { |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
818 | group->fields_list->required_fields = |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
819 | g_list_append(group->fields_list->required_fields, field); |
|
df0304d74e95
[gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents:
14128
diff
changeset
|
820 | } |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
821 | |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
822 | if (purple_request_field_is_validatable(field)) |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
823 | { |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
824 | group->fields_list->validated_fields = |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
825 | g_list_append(group->fields_list->validated_fields, field); |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
826 | } |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
827 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
828 | if (field->sensitivity_cb != NULL) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
829 | { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
830 | group->fields_list->autosensitive_fields = |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
831 | g_list_append(group->fields_list->autosensitive_fields, field); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
832 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
833 | } |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
834 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
835 | field->group = group; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
836 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
837 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
838 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
839 | const char * |
| 15884 | 840 | purple_request_field_group_get_title(const PurpleRequestFieldGroup *group) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
841 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
842 | g_return_val_if_fail(group != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
843 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
844 | return group->title; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
845 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
846 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
847 | GList * |
| 15884 | 848 | purple_request_field_group_get_fields(const PurpleRequestFieldGroup *group) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
849 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
850 | g_return_val_if_fail(group != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
851 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
852 | return group->fields; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
853 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
854 | |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
855 | PurpleRequestFields * |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
856 | purple_request_field_group_get_fields_list(const PurpleRequestFieldGroup *group) |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
857 | { |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
858 | g_return_val_if_fail(group != NULL, NULL); |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
859 | |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
860 | return group->fields_list; |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
861 | } |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
862 | |
| 15884 | 863 | PurpleRequestField * |
| 864 | purple_request_field_new(const char *id, const char *text, | |
| 865 | PurpleRequestFieldType type) | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
866 | { |
| 15884 | 867 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
868 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
869 | g_return_val_if_fail(id != NULL, NULL); |
| 15884 | 870 | 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
|
871 | |
| 15884 | 872 | field = g_new0(PurpleRequestField, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
873 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
874 | field->id = g_strdup(id); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
875 | field->type = type; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
876 | |
| 15884 | 877 | purple_request_field_set_label(field, text); |
| 878 | purple_request_field_set_visible(field, TRUE); | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
879 | purple_request_field_set_sensitive(field, TRUE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
880 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
881 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
882 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
883 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
884 | void |
| 15884 | 885 | purple_request_field_destroy(PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
886 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
887 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
888 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
889 | g_free(field->id); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
890 | g_free(field->label); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
891 | g_free(field->type_hint); |
|
31697
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
892 | g_free(field->tooltip); |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
893 | |
| 15884 | 894 | if (field->type == PURPLE_REQUEST_FIELD_STRING) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
895 | { |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
896 | g_free(field->u.string.default_value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
897 | g_free(field->u.string.value); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
898 | } |
| 15884 | 899 | else if (field->type == PURPLE_REQUEST_FIELD_CHOICE) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
900 | { |
|
40817
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
901 | g_list_free_full(field->u.choice.elements, (GDestroyNotify)purple_key_value_pair_free); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
902 | } |
| 15884 | 903 | else if (field->type == PURPLE_REQUEST_FIELD_LIST) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
904 | { |
|
40836
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
905 | g_list_free_full(field->u.list.items, (GDestroyNotify)purple_key_value_pair_free); |
|
39897
16b440d4ab36
Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
906 | g_list_free_full(field->u.list.selected, g_free); |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
907 | g_hash_table_destroy(field->u.list.item_data); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
908 | g_hash_table_destroy(field->u.list.selected_table); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
909 | } |
|
34502
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
910 | else if (field->type == PURPLE_REQUEST_FIELD_DATASHEET) |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
911 | { |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
912 | purple_request_datasheet_free(field->u.datasheet.sheet); |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
913 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
914 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
915 | g_free(field); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
916 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
917 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
918 | void |
| 15884 | 919 | purple_request_field_set_label(PurpleRequestField *field, const char *label) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
920 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
921 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
922 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
923 | g_free(field->label); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
924 | field->label = g_strdup(label); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
925 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
926 | |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
927 | void |
| 15884 | 928 | purple_request_field_set_visible(PurpleRequestField *field, gboolean visible) |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
929 | { |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
930 | g_return_if_fail(field != NULL); |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
931 | |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
932 | field->visible = visible; |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
933 | } |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
934 | |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
935 | void |
| 15884 | 936 | purple_request_field_set_type_hint(PurpleRequestField *field, |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
937 | const char *type_hint) |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
938 | { |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
939 | g_return_if_fail(field != NULL); |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
940 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
941 | g_free(field->type_hint); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
942 | field->type_hint = g_strdup(type_hint); |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
943 | } |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
944 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
945 | void |
|
31697
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
946 | purple_request_field_set_tooltip(PurpleRequestField *field, const char *tooltip) |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
947 | { |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
948 | g_return_if_fail(field != NULL); |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
949 | |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
950 | g_free(field->tooltip); |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
951 | field->tooltip = g_strdup(tooltip); |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
952 | } |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
953 | |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
954 | void |
| 15884 | 955 | purple_request_field_set_required(PurpleRequestField *field, gboolean required) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
956 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
957 | g_return_if_fail(field != NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
958 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
959 | if (field->required == required) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
960 | return; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
961 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
962 | field->required = required; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
963 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
964 | if (field->group != NULL) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
965 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
966 | if (required) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
967 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
968 | field->group->fields_list->required_fields = |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
969 | g_list_append(field->group->fields_list->required_fields, |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
970 | field); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
971 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
972 | else |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
973 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
974 | field->group->fields_list->required_fields = |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
975 | g_list_remove(field->group->fields_list->required_fields, |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
976 | field); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
977 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
978 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
979 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
980 | |
| 15884 | 981 | PurpleRequestFieldType |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35190
diff
changeset
|
982 | purple_request_field_get_field_type(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
983 | { |
| 15884 | 984 | 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
|
985 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
986 | return field->type; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
987 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
988 | |
|
24984
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
989 | PurpleRequestFieldGroup * |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
990 | purple_request_field_get_group(const PurpleRequestField *field) |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
991 | { |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
992 | g_return_val_if_fail(field != NULL, NULL); |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
993 | |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
994 | return field->group; |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
995 | } |
|
64b88867fbdf
Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents:
21990
diff
changeset
|
996 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
997 | const char * |
| 15884 | 998 | purple_request_field_get_id(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
999 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1000 | g_return_val_if_fail(field != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1001 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1002 | return field->id; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1003 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1004 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1005 | const char * |
| 15884 | 1006 | purple_request_field_get_label(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1007 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1008 | g_return_val_if_fail(field != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1009 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1010 | return field->label; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1011 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1012 | |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
1013 | gboolean |
| 15884 | 1014 | purple_request_field_is_visible(const PurpleRequestField *field) |
|
7904
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
1015 | { |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
1016 | g_return_val_if_fail(field != NULL, FALSE); |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
1017 | |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
1018 | return field->visible; |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
1019 | } |
|
266d6d5c68ac
[gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents:
7902
diff
changeset
|
1020 | |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
1021 | const char * |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35190
diff
changeset
|
1022 | purple_request_field_get_field_type_hint(const PurpleRequestField *field) |
|
8285
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
1023 | { |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
1024 | g_return_val_if_fail(field != NULL, NULL); |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
1025 | |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
1026 | return field->type_hint; |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
1027 | } |
|
22b999a12246
[gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents:
8046
diff
changeset
|
1028 | |
|
31697
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
1029 | const char * |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
1030 | purple_request_field_get_tooltip(const PurpleRequestField *field) |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
1031 | { |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
1032 | g_return_val_if_fail(field != NULL, NULL); |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
1033 | |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
1034 | return field->tooltip; |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
1035 | } |
|
b6c47ea33682
Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents:
31294
diff
changeset
|
1036 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1037 | gboolean |
| 15884 | 1038 | purple_request_field_is_required(const PurpleRequestField *field) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1039 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1040 | g_return_val_if_fail(field != NULL, FALSE); |
|
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 | return field->required; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1043 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1044 | |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1045 | gboolean |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1046 | purple_request_field_is_filled(const PurpleRequestField *field) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1047 | { |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1048 | g_return_val_if_fail(field != NULL, FALSE); |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1049 | |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35190
diff
changeset
|
1050 | switch (purple_request_field_get_field_type(field)) |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1051 | { |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1052 | case PURPLE_REQUEST_FIELD_STRING: |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1053 | return (purple_request_field_string_get_value(field) != NULL && |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1054 | *(purple_request_field_string_get_value(field)) != '\0'); |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1055 | default: |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1056 | return TRUE; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1057 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1058 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1059 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1060 | void |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1061 | purple_request_field_set_validator(PurpleRequestField *field, |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1062 | PurpleRequestFieldValidator validator, void *user_data) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1063 | { |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1064 | g_return_if_fail(field != NULL); |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1065 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1066 | field->validator = validator; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1067 | field->validator_data = validator ? user_data : NULL; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1068 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1069 | if (field->group != NULL) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1070 | { |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1071 | PurpleRequestFields *flist = field->group->fields_list; |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1072 | flist->validated_fields = g_list_remove(flist->validated_fields, |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1073 | field); |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1074 | if (validator) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1075 | { |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1076 | flist->validated_fields = g_list_append( |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1077 | flist->validated_fields, field); |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1078 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1079 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1080 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1081 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1082 | gboolean |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1083 | purple_request_field_is_validatable(PurpleRequestField *field) |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1084 | { |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1085 | g_return_val_if_fail(field != NULL, FALSE); |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1086 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1087 | return field->validator != NULL; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1088 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1089 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1090 | gboolean |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1091 | purple_request_field_is_valid(PurpleRequestField *field, gchar **errmsg) |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1092 | { |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1093 | gboolean valid; |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1094 | |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1095 | g_return_val_if_fail(field != NULL, FALSE); |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1096 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1097 | if (!field->validator) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1098 | return TRUE; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1099 | |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1100 | if (!purple_request_field_is_required(field) && |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1101 | !purple_request_field_is_filled(field)) |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1102 | return TRUE; |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1103 | |
|
33219
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1104 | valid = field->validator(field, errmsg, field->validator_data); |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1105 | |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1106 | if (valid && errmsg) |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1107 | *errmsg = NULL; |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1108 | |
|
06b19630bdb0
Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33213
diff
changeset
|
1109 | return valid; |
|
33213
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1110 | } |
|
2852fbde4722
Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32888
diff
changeset
|
1111 | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1112 | void |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1113 | purple_request_field_set_sensitive(PurpleRequestField *field, |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1114 | gboolean sensitive) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1115 | { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1116 | g_return_if_fail(field != NULL); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1117 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1118 | field->sensitive = sensitive; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1119 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1120 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1121 | gboolean |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1122 | purple_request_field_is_sensitive(PurpleRequestField *field) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1123 | { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1124 | g_return_val_if_fail(field != NULL, FALSE); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1125 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1126 | return field->sensitive; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1127 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1128 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1129 | void |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1130 | purple_request_field_set_sensitivity_cb(PurpleRequestField *field, |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1131 | PurpleRequestFieldSensitivityCb cb) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1132 | { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1133 | PurpleRequestFields *flist; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1134 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1135 | g_return_if_fail(field != NULL); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1136 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1137 | field->sensitivity_cb = cb; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1138 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1139 | if (!field->group || !field->group->fields_list) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1140 | return; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1141 | flist = field->group->fields_list; |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1142 | flist->autosensitive_fields = g_list_remove(flist->autosensitive_fields, |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1143 | field); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1144 | if (cb != NULL) |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1145 | { |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1146 | flist->autosensitive_fields = g_list_append( |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1147 | flist->autosensitive_fields, field); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1148 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1149 | } |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1150 | |
| 15884 | 1151 | PurpleRequestField * |
| 1152 | 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
|
1153 | const char *default_value, gboolean multiline) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1154 | { |
| 15884 | 1155 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1156 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1157 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1158 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1159 | |
| 15884 | 1160 | 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
|
1161 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1162 | field->u.string.multiline = multiline; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1163 | |
| 15884 | 1164 | purple_request_field_string_set_default_value(field, default_value); |
| 1165 | purple_request_field_string_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1166 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1167 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1168 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1169 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1170 | void |
| 15884 | 1171 | purple_request_field_string_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1172 | const char *default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1173 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1174 | g_return_if_fail(field != NULL); |
| 15884 | 1175 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1176 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
1177 | g_free(field->u.string.default_value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
1178 | field->u.string.default_value = g_strdup(default_value); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1179 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1180 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1181 | void |
| 15884 | 1182 | 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
|
1183 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1184 | g_return_if_fail(field != NULL); |
| 15884 | 1185 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1186 | |
|
14097
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
1187 | g_free(field->u.string.value); |
|
0c340861ab79
[gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents:
13283
diff
changeset
|
1188 | field->u.string.value = g_strdup(value); |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1189 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1190 | purple_request_fields_check_others_sensitivity(field); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1191 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1192 | |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1193 | void |
| 15884 | 1194 | purple_request_field_string_set_masked(PurpleRequestField *field, gboolean masked) |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1195 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1196 | g_return_if_fail(field != NULL); |
| 15884 | 1197 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING); |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1198 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1199 | field->u.string.masked = masked; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1200 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1201 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1202 | const char * |
| 15884 | 1203 | purple_request_field_string_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1204 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1205 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1206 | 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
|
1207 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1208 | return field->u.string.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1209 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1210 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1211 | const char * |
| 15884 | 1212 | purple_request_field_string_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1213 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1214 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1215 | 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
|
1216 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1217 | return field->u.string.value; |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1218 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1219 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1220 | gboolean |
| 15884 | 1221 | purple_request_field_string_is_multiline(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1222 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1223 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1224 | 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
|
1225 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1226 | return field->u.string.multiline; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1227 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1228 | |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1229 | gboolean |
| 15884 | 1230 | purple_request_field_string_is_masked(const PurpleRequestField *field) |
|
7047
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1231 | { |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1232 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1233 | 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
|
1234 | |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1235 | return field->u.string.masked; |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1236 | } |
|
0cefcbc12508
[gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents:
7035
diff
changeset
|
1237 | |
| 15884 | 1238 | PurpleRequestField * |
| 1239 | purple_request_field_int_new(const char *id, const char *text, | |
|
33935
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1240 | int default_value, int lower_bound, int upper_bound) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1241 | { |
| 15884 | 1242 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1243 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1244 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1245 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1246 | |
| 15884 | 1247 | 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
|
1248 | |
|
33935
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1249 | purple_request_field_int_set_lower_bound(field, lower_bound); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1250 | purple_request_field_int_set_upper_bound(field, upper_bound); |
| 15884 | 1251 | purple_request_field_int_set_default_value(field, default_value); |
| 1252 | purple_request_field_int_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1253 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1254 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1255 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1256 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1257 | void |
| 15884 | 1258 | purple_request_field_int_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1259 | int default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1260 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1261 | g_return_if_fail(field != NULL); |
| 15884 | 1262 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1263 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1264 | field->u.integer.default_value = default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1265 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1266 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1267 | void |
|
33935
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1268 | purple_request_field_int_set_lower_bound(PurpleRequestField *field, |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1269 | int lower_bound) |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1270 | { |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1271 | g_return_if_fail(field != NULL); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1272 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1273 | |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1274 | field->u.integer.lower_bound = lower_bound; |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1275 | } |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1276 | |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1277 | void |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1278 | purple_request_field_int_set_upper_bound(PurpleRequestField *field, |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1279 | int upper_bound) |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1280 | { |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1281 | g_return_if_fail(field != NULL); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1282 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1283 | |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1284 | field->u.integer.upper_bound = upper_bound; |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1285 | } |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1286 | |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1287 | void |
| 15884 | 1288 | purple_request_field_int_set_value(PurpleRequestField *field, int value) |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1289 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1290 | g_return_if_fail(field != NULL); |
| 15884 | 1291 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1292 | |
|
33936
c941cb2cedf7
Fix bound checking in request api
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33935
diff
changeset
|
1293 | if (value < field->u.integer.lower_bound || |
|
c941cb2cedf7
Fix bound checking in request api
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33935
diff
changeset
|
1294 | value > field->u.integer.upper_bound) { |
|
33935
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1295 | purple_debug_error("request", "Int value out of bounds\n"); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1296 | return; |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1297 | } |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1298 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1299 | field->u.integer.value = value; |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1300 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1301 | purple_request_fields_check_others_sensitivity(field); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1302 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1303 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1304 | int |
| 15884 | 1305 | purple_request_field_int_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1306 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1307 | g_return_val_if_fail(field != NULL, 0); |
| 15884 | 1308 | 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
|
1309 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1310 | return field->u.integer.default_value; |
|
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 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1313 | int |
|
33935
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1314 | purple_request_field_int_get_lower_bound(const PurpleRequestField *field) |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1315 | { |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1316 | g_return_val_if_fail(field != NULL, 0); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1317 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER, 0); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1318 | |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1319 | return field->u.integer.lower_bound; |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1320 | } |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1321 | |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1322 | int |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1323 | purple_request_field_int_get_upper_bound(const PurpleRequestField *field) |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1324 | { |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1325 | g_return_val_if_fail(field != NULL, 0); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1326 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER, 0); |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1327 | |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1328 | return field->u.integer.upper_bound; |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1329 | } |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1330 | |
|
e740bbb8350c
Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33237
diff
changeset
|
1331 | int |
| 15884 | 1332 | purple_request_field_int_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1333 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1334 | g_return_val_if_fail(field != NULL, 0); |
| 15884 | 1335 | 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
|
1336 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1337 | return field->u.integer.value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1338 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1339 | |
| 15884 | 1340 | PurpleRequestField * |
| 1341 | 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
|
1342 | gboolean default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1343 | { |
| 15884 | 1344 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1345 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1346 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1347 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1348 | |
| 15884 | 1349 | 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
|
1350 | |
| 15884 | 1351 | purple_request_field_bool_set_default_value(field, default_value); |
| 1352 | purple_request_field_bool_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1353 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1354 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1355 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1356 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1357 | void |
| 15884 | 1358 | purple_request_field_bool_set_default_value(PurpleRequestField *field, |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1359 | gboolean default_value) |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1360 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1361 | g_return_if_fail(field != NULL); |
| 15884 | 1362 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1363 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1364 | field->u.boolean.default_value = default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1365 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1366 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1367 | void |
| 15884 | 1368 | purple_request_field_bool_set_value(PurpleRequestField *field, gboolean value) |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1369 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1370 | g_return_if_fail(field != NULL); |
| 15884 | 1371 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1372 | |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1373 | field->u.boolean.value = value; |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1374 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1375 | purple_request_fields_check_others_sensitivity(field); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1376 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1377 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1378 | gboolean |
| 15884 | 1379 | purple_request_field_bool_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1380 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1381 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1382 | 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
|
1383 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1384 | return field->u.boolean.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1385 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1386 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1387 | gboolean |
| 15884 | 1388 | purple_request_field_bool_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1389 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1390 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1391 | 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
|
1392 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1393 | return field->u.boolean.value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1394 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1395 | |
| 15884 | 1396 | PurpleRequestField * |
| 1397 | purple_request_field_choice_new(const char *id, const char *text, | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1398 | gpointer default_value) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1399 | { |
| 15884 | 1400 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1401 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1402 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1403 | g_return_val_if_fail(text != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1404 | |
| 15884 | 1405 | 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
|
1406 | |
| 15884 | 1407 | purple_request_field_choice_set_default_value(field, default_value); |
| 1408 | purple_request_field_choice_set_value(field, default_value); | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1409 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1410 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1411 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1412 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1413 | void |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1414 | purple_request_field_choice_add(PurpleRequestField *field, const char *label, |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1415 | gpointer value) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1416 | { |
|
40817
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
1417 | purple_request_field_choice_add_full(field, label, value, NULL); |
|
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
1418 | } |
|
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
1419 | |
|
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
1420 | void |
|
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
1421 | purple_request_field_choice_add_full(PurpleRequestField *field, const char *label, |
|
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
1422 | gpointer value, GDestroyNotify destroy) |
|
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
1423 | { |
|
40329
b5e0f65a5d9c
Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents:
40326
diff
changeset
|
1424 | PurpleKeyValuePair *choice; |
|
40326
cdca03a74387
Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents:
40195
diff
changeset
|
1425 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1426 | g_return_if_fail(field != NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1427 | g_return_if_fail(label != NULL); |
| 15884 | 1428 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1429 | |
|
40817
7f0cde300360
Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40756
diff
changeset
|
1430 | choice = purple_key_value_pair_new_full(label, value, destroy); |
|
40326
cdca03a74387
Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents:
40195
diff
changeset
|
1431 | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1432 | field->u.choice.elements = g_list_append(field->u.choice.elements, |
|
40326
cdca03a74387
Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents:
40195
diff
changeset
|
1433 | choice); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1434 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1435 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1436 | void |
| 15884 | 1437 | purple_request_field_choice_set_default_value(PurpleRequestField *field, |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1438 | gpointer default_value) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1439 | { |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1440 | g_return_if_fail(field != NULL); |
| 15884 | 1441 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1442 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1443 | field->u.choice.default_value = default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1444 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1445 | |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1446 | void |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1447 | purple_request_field_choice_set_value(PurpleRequestField *field, gpointer value) |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1448 | { |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1449 | g_return_if_fail(field != NULL); |
| 15884 | 1450 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1451 | |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1452 | field->u.choice.value = value; |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1453 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1454 | purple_request_fields_check_others_sensitivity(field); |
|
5808
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1455 | } |
|
480370b3188c
[gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents:
5807
diff
changeset
|
1456 | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1457 | gpointer |
| 15884 | 1458 | purple_request_field_choice_get_default_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1459 | { |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1460 | g_return_val_if_fail(field != NULL, NULL); |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1461 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1462 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1463 | return field->u.choice.default_value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1464 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1465 | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1466 | gpointer |
| 15884 | 1467 | purple_request_field_choice_get_value(const PurpleRequestField *field) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1468 | { |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1469 | g_return_val_if_fail(field != NULL, NULL); |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1470 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1471 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1472 | return field->u.choice.value; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1473 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1474 | |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
1475 | GList * |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1476 | purple_request_field_choice_get_elements(const PurpleRequestField *field) |
|
5809
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
1477 | { |
|
3550646492e0
[gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents:
5808
diff
changeset
|
1478 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1479 | 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
|
1480 | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1481 | return field->u.choice.elements; |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1482 | } |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
1483 | |
| 15884 | 1484 | PurpleRequestField * |
| 1485 | 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
|
1486 | { |
| 15884 | 1487 | PurpleRequestField *field; |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1488 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1489 | g_return_val_if_fail(id != NULL, NULL); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1490 | |
| 15884 | 1491 | 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
|
1492 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1493 | 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
|
1494 | g_free, NULL); |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1495 | |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1496 | field->u.list.selected_table = |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1497 | 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
|
1498 | |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1499 | return field; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1500 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1501 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1502 | void |
| 15884 | 1503 | purple_request_field_list_set_multi_select(PurpleRequestField *field, |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1504 | gboolean multi_select) |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1505 | { |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1506 | g_return_if_fail(field != NULL); |
| 15884 | 1507 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1508 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1509 | field->u.list.multiple_selection = multi_select; |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1510 | } |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1511 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1512 | gboolean |
| 15884 | 1513 | purple_request_field_list_get_multi_select(const PurpleRequestField *field) |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1514 | { |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1515 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1516 | 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
|
1517 | |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1518 | return field->u.list.multiple_selection; |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1519 | } |
|
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1520 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1521 | void * |
| 15884 | 1522 | purple_request_field_list_get_data(const PurpleRequestField *field, |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1523 | const char *text) |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1524 | { |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1525 | g_return_val_if_fail(field != NULL, NULL); |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1526 | g_return_val_if_fail(text != NULL, NULL); |
| 15884 | 1527 | 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
|
1528 | |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1529 | return g_hash_table_lookup(field->u.list.item_data, text); |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1530 | } |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1531 | |
|
7899
b908d0b9035a
[gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents:
7898
diff
changeset
|
1532 | void |
|
24625
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1533 | purple_request_field_list_add_icon(PurpleRequestField *field, const char *item, const char* icon_path, |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1534 | void *data) |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1535 | { |
|
40836
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1536 | PurpleKeyValuePair *kvp; |
|
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1537 | |
|
24625
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1538 | g_return_if_fail(field != NULL); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1539 | g_return_if_fail(item != NULL); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1540 | g_return_if_fail(data != NULL); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1541 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1542 | |
|
40836
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1543 | field->u.list.has_icons = field->u.list.has_icons || (icon_path != NULL); |
|
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1544 | kvp = purple_key_value_pair_new_full(item, g_strdup(icon_path), g_free); |
|
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1545 | field->u.list.items = g_list_append(field->u.list.items, kvp); |
|
24625
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1546 | g_hash_table_insert(field->u.list.item_data, g_strdup(item), data); |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1547 | } |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1548 | |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1549 | void |
| 15884 | 1550 | 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
|
1551 | { |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1552 | g_return_if_fail(field != NULL); |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1553 | g_return_if_fail(item != NULL); |
| 15884 | 1554 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1555 | |
| 15884 | 1556 | if (!purple_request_field_list_get_multi_select(field) && |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1557 | field->u.list.selected != NULL) |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1558 | { |
| 15884 | 1559 | purple_debug_warning("request", |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1560 | "More than one item added to non-multi-select " |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1561 | "field %s\n", |
| 15884 | 1562 | purple_request_field_get_id(field)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1563 | return; |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1564 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1565 | |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1566 | field->u.list.selected = g_list_append(field->u.list.selected, |
|
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1567 | g_strdup(item)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1568 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1569 | 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
|
1570 | } |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1571 | |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1572 | void |
| 15884 | 1573 | purple_request_field_list_clear_selected(PurpleRequestField *field) |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1574 | { |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1575 | g_return_if_fail(field != NULL); |
| 15884 | 1576 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7902
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1577 | |
|
7962
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
1578 | if (field->u.list.selected != NULL) |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1579 | { |
|
39897
16b440d4ab36
Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
1580 | g_list_free_full(field->u.list.selected, g_free); |
|
7962
92ef549901f6
[gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents:
7909
diff
changeset
|
1581 | field->u.list.selected = NULL; |
|
7909
f2b88b6b97a7
[gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents:
7905
diff
changeset
|
1582 | } |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1583 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1584 | g_hash_table_destroy(field->u.list.selected_table); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1585 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1586 | field->u.list.selected_table = |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1587 | 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
|
1588 | } |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1589 | |
|
6c04e5d38897
[gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents:
7901
diff
changeset
|
1590 | 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
|
1591 | purple_request_field_list_set_selected(PurpleRequestField *field, GList *items) |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
1592 | { |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
1593 | GList *l; |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1594 | |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
1595 | g_return_if_fail(field != NULL); |
|
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
1596 | g_return_if_fail(items != NULL); |
| 15884 | 1597 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
1598 | |
| 15884 | 1599 | purple_request_field_list_clear_selected(field); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
1600 | |
|
39913
ce96d4639dc7
Remove redundant conditions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39897
diff
changeset
|
1601 | if (!purple_request_field_list_get_multi_select(field) && items->next) { |
| 15884 | 1602 | purple_debug_warning("request", |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1603 | "More than one item added to non-multi-select " |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1604 | "field %s\n", |
| 15884 | 1605 | purple_request_field_get_id(field)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1606 | return; |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1607 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1608 | |
|
14128
3f6654cc8746
[gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14097
diff
changeset
|
1609 | for (l = items; l != NULL; l = l->next) |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1610 | { |
|
14128
3f6654cc8746
[gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14097
diff
changeset
|
1611 | 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
|
1612 | g_strdup(l->data)); |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1613 | g_hash_table_insert(field->u.list.selected_table, |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1614 | g_strdup((char *)l->data), NULL); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1615 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1616 | } |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1617 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1618 | gboolean |
| 15884 | 1619 | purple_request_field_list_is_selected(const PurpleRequestField *field, |
|
7964
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1620 | const char *item) |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1621 | { |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1622 | g_return_val_if_fail(field != NULL, FALSE); |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1623 | g_return_val_if_fail(item != NULL, FALSE); |
| 15884 | 1624 | 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
|
1625 | |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1626 | return g_hash_table_lookup_extended(field->u.list.selected_table, |
|
10d58eb8a16a
[gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents:
7962
diff
changeset
|
1627 | item, NULL, NULL); |
|
7901
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
1628 | } |
|
f09d051b649d
[gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents:
7899
diff
changeset
|
1629 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
1630 | GList * |
| 15884 | 1631 | purple_request_field_list_get_selected(const PurpleRequestField *field) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1632 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1633 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1634 | 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
|
1635 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1636 | return field->u.list.selected; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1637 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1638 | |
|
18190
bcf28ef7e8ff
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents:
16490
diff
changeset
|
1639 | GList * |
| 15884 | 1640 | purple_request_field_list_get_items(const PurpleRequestField *field) |
|
7898
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1641 | { |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1642 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1643 | 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
|
1644 | |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1645 | return field->u.list.items; |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1646 | } |
|
83687727b4a3
[gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents:
7843
diff
changeset
|
1647 | |
|
40836
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1648 | gboolean |
|
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1649 | purple_request_field_list_has_icons(const PurpleRequestField *field) |
|
24625
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1650 | { |
|
40836
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1651 | g_return_val_if_fail(field != NULL, FALSE); |
|
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1652 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, FALSE); |
|
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1653 | |
|
b5eccef8404e
Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents:
40817
diff
changeset
|
1654 | return field->u.list.has_icons; |
|
24625
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1655 | } |
|
4082cd694acb
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21990
diff
changeset
|
1656 | |
| 15884 | 1657 | PurpleRequestField * |
| 1658 | 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
|
1659 | { |
| 15884 | 1660 | PurpleRequestField *field; |
|
7905
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1661 | |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1662 | g_return_val_if_fail(id != NULL, NULL); |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1663 | g_return_val_if_fail(text != NULL, NULL); |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1664 | |
| 15884 | 1665 | 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
|
1666 | |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1667 | return field; |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1668 | } |
|
03db29949e5d
[gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents:
7904
diff
changeset
|
1669 | |
| 15884 | 1670 | PurpleRequestField * |
| 1671 | purple_request_field_image_new(const char *id, const char *text, const char *buf, gsize size) | |
| 11357 | 1672 | { |
| 15884 | 1673 | PurpleRequestField *field; |
| 11357 | 1674 | |
| 1675 | g_return_val_if_fail(id != NULL, NULL); | |
| 1676 | g_return_val_if_fail(text != NULL, NULL); | |
| 1677 | g_return_val_if_fail(buf != NULL, NULL); | |
| 1678 | g_return_val_if_fail(size > 0, NULL); | |
| 1679 | ||
| 15884 | 1680 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_IMAGE); |
| 11357 | 1681 | |
|
40756
3a58ef28ee44
Implement mitigation for GHSL-2021-045
Gary Kramlich <grim@reaperworld.com>
parents:
40564
diff
changeset
|
1682 | field->u.image.buffer = g_memdup2(buf, size); |
| 11357 | 1683 | field->u.image.size = size; |
| 1684 | field->u.image.scale_x = 1; | |
| 1685 | field->u.image.scale_y = 1; | |
| 1686 | ||
| 1687 | return field; | |
| 1688 | } | |
| 1689 | ||
| 1690 | void | |
| 15884 | 1691 | purple_request_field_image_set_scale(PurpleRequestField *field, unsigned int x, unsigned int y) |
| 11357 | 1692 | { |
| 1693 | g_return_if_fail(field != NULL); | |
| 15884 | 1694 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE); |
| 11357 | 1695 | |
| 1696 | field->u.image.scale_x = x; | |
| 1697 | field->u.image.scale_y = y; | |
| 1698 | } | |
| 1699 | ||
| 1700 | const char * | |
| 15884 | 1701 | purple_request_field_image_get_buffer(PurpleRequestField *field) |
| 11357 | 1702 | { |
| 1703 | g_return_val_if_fail(field != NULL, NULL); | |
| 15884 | 1704 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, NULL); |
| 11357 | 1705 | |
| 1706 | return field->u.image.buffer; | |
| 1707 | } | |
| 1708 | ||
| 1709 | gsize | |
| 15884 | 1710 | purple_request_field_image_get_size(PurpleRequestField *field) |
| 11357 | 1711 | { |
| 1712 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 1713 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 1714 | |
| 1715 | return field->u.image.size; | |
| 1716 | } | |
| 1717 | ||
| 1718 | unsigned int | |
| 15884 | 1719 | purple_request_field_image_get_scale_x(PurpleRequestField *field) |
| 11357 | 1720 | { |
| 1721 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 1722 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 1723 | |
| 1724 | return field->u.image.scale_x; | |
| 1725 | } | |
| 1726 | ||
| 1727 | unsigned int | |
| 15884 | 1728 | purple_request_field_image_get_scale_y(PurpleRequestField *field) |
| 11357 | 1729 | { |
| 1730 | g_return_val_if_fail(field != NULL, 0); | |
| 15884 | 1731 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0); |
| 11357 | 1732 | |
| 1733 | return field->u.image.scale_y; | |
| 1734 | } | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1735 | |
| 15884 | 1736 | PurpleRequestField * |
| 1737 | purple_request_field_account_new(const char *id, const char *text, | |
| 1738 | PurpleAccount *account) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1739 | { |
| 15884 | 1740 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1741 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1742 | g_return_val_if_fail(id != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1743 | g_return_val_if_fail(text != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1744 | |
| 15884 | 1745 | 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
|
1746 | |
|
41890
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1747 | if(account == NULL) { |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1748 | PurpleAccountManager *manager = purple_account_manager_get_default(); |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1749 | GList *accounts = purple_account_manager_get_connected(manager); |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1750 | |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1751 | if(accounts != NULL) { |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1752 | account = accounts->data; |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1753 | g_list_free(accounts); |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1754 | } |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1755 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1756 | |
| 15884 | 1757 | purple_request_field_account_set_default_value(field, account); |
| 1758 | purple_request_field_account_set_value(field, account); | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1759 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1760 | return field; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1761 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1762 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1763 | void |
| 15884 | 1764 | purple_request_field_account_set_default_value(PurpleRequestField *field, |
| 1765 | PurpleAccount *default_value) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1766 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1767 | g_return_if_fail(field != NULL); |
| 15884 | 1768 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1769 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1770 | field->u.account.default_account = default_value; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1771 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1772 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1773 | void |
| 15884 | 1774 | purple_request_field_account_set_value(PurpleRequestField *field, |
| 1775 | PurpleAccount *value) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1776 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1777 | g_return_if_fail(field != NULL); |
| 15884 | 1778 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1779 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1780 | field->u.account.account = value; |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1781 | |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
1782 | purple_request_fields_check_others_sensitivity(field); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1783 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1784 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1785 | void |
| 15884 | 1786 | purple_request_field_account_set_show_all(PurpleRequestField *field, |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1787 | gboolean show_all) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1788 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1789 | g_return_if_fail(field != NULL); |
| 15884 | 1790 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1791 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1792 | if (field->u.account.show_all == show_all) |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1793 | return; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1794 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1795 | field->u.account.show_all = show_all; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1796 | |
|
41890
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1797 | if(!show_all) { |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1798 | PurpleAccountManager *manager = purple_account_manager_get_default(); |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1799 | GList *accounts = purple_account_manager_get_connected(manager); |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1800 | |
| 15884 | 1801 | if (purple_account_is_connected(field->u.account.default_account)) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1802 | { |
| 15884 | 1803 | purple_request_field_account_set_default_value(field, |
|
41890
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1804 | accounts->data); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1805 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1806 | |
| 15884 | 1807 | if (purple_account_is_connected(field->u.account.account)) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1808 | { |
| 15884 | 1809 | purple_request_field_account_set_value(field, |
|
41890
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1810 | accounts->data); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1811 | } |
|
41890
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1812 | |
|
2c15f6e30f20
Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents:
41745
diff
changeset
|
1813 | g_list_free(accounts); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1814 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1815 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1816 | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1817 | void |
| 15884 | 1818 | purple_request_field_account_set_filter(PurpleRequestField *field, |
| 1819 | PurpleFilterAccountFunc filter_func) | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1820 | { |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1821 | g_return_if_fail(field != NULL); |
| 15884 | 1822 | g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT); |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1823 | |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1824 | field->u.account.filter_func = filter_func; |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1825 | } |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1826 | |
| 15884 | 1827 | PurpleAccount * |
| 1828 | purple_request_field_account_get_default_value(const PurpleRequestField *field) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1829 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1830 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1831 | 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
|
1832 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1833 | return field->u.account.default_account; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1834 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1835 | |
| 15884 | 1836 | PurpleAccount * |
| 1837 | purple_request_field_account_get_value(const PurpleRequestField *field) | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1838 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1839 | g_return_val_if_fail(field != NULL, NULL); |
| 15884 | 1840 | 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
|
1841 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1842 | return field->u.account.account; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1843 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1844 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1845 | gboolean |
| 15884 | 1846 | purple_request_field_account_get_show_all(const PurpleRequestField *field) |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1847 | { |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1848 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1849 | 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
|
1850 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1851 | return field->u.account.show_all; |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1852 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
1853 | |
| 15884 | 1854 | PurpleFilterAccountFunc |
| 1855 | purple_request_field_account_get_filter(const PurpleRequestField *field) | |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1856 | { |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1857 | g_return_val_if_fail(field != NULL, FALSE); |
| 15884 | 1858 | 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
|
1859 | |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1860 | return field->u.account.filter_func; |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1861 | } |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8286
diff
changeset
|
1862 | |
|
32886
359ad954dccc
Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32554
diff
changeset
|
1863 | PurpleRequestField * |
|
34502
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1864 | purple_request_field_datasheet_new(const char *id, |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1865 | const gchar *text, PurpleRequestDatasheet *sheet) |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1866 | { |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1867 | PurpleRequestField *field; |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1868 | |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1869 | g_return_val_if_fail(id != NULL, NULL); |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1870 | g_return_val_if_fail(sheet != NULL, NULL); |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1871 | |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1872 | field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_DATASHEET); |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1873 | |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1874 | field->u.datasheet.sheet = sheet; |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1875 | |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1876 | return field; |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1877 | } |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1878 | |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1879 | PurpleRequestDatasheet * |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1880 | purple_request_field_datasheet_get_sheet(PurpleRequestField *field) |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1881 | { |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1882 | g_return_val_if_fail(field != NULL, NULL); |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1883 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_DATASHEET, NULL); |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1884 | |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1885 | return field->u.datasheet.sheet; |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1886 | } |
|
433382371e89
Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34501
diff
changeset
|
1887 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1888 | /* -- */ |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
1889 | |
|
33237
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1890 | gboolean |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1891 | purple_request_field_email_validator(PurpleRequestField *field, gchar **errmsg, |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1892 | void *user_data) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1893 | { |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1894 | const char *value; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1895 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1896 | g_return_val_if_fail(field != NULL, FALSE); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1897 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1898 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1899 | value = purple_request_field_string_get_value(field); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1900 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1901 | if (value != NULL && purple_email_is_valid(value)) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1902 | return TRUE; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1903 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1904 | if (errmsg) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1905 | *errmsg = g_strdup(_("Invalid email address")); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1906 | return FALSE; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1907 | } |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1908 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1909 | gboolean |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1910 | purple_request_field_alphanumeric_validator(PurpleRequestField *field, |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1911 | gchar **errmsg, void *allowed_characters) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1912 | { |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1913 | const char *value; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1914 | gchar invalid_char = '\0'; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1915 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1916 | g_return_val_if_fail(field != NULL, FALSE); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1917 | g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1918 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1919 | value = purple_request_field_string_get_value(field); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1920 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1921 | g_return_val_if_fail(value != NULL, FALSE); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1922 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1923 | if (allowed_characters) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1924 | { |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1925 | gchar *value_r = g_strdup(value); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1926 | g_strcanon(value_r, allowed_characters, '\0'); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1927 | invalid_char = value[strlen(value_r)]; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1928 | g_free(value_r); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1929 | } |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1930 | else |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1931 | { |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1932 | while (value) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1933 | { |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1934 | if (!g_ascii_isalnum(*value)) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1935 | { |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1936 | invalid_char = *value; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1937 | break; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1938 | } |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1939 | value++; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1940 | } |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1941 | } |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1942 | if (!invalid_char) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1943 | return TRUE; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1944 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1945 | if (errmsg) |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1946 | *errmsg = g_strdup_printf(_("Invalid character '%c'"), |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1947 | invalid_char); |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1948 | return FALSE; |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1949 | } |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1950 | |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1951 | /* -- */ |
|
2574432da068
Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33219
diff
changeset
|
1952 | |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1953 | static gchar * |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1954 | purple_request_strip_html_custom(const gchar *html) |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1955 | { |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1956 | gchar *tmp, *ret; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1957 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1958 | tmp = purple_strreplace(html, "\n", "<br>"); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1959 | ret = purple_markup_strip_html(tmp); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1960 | g_free(tmp); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1961 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1962 | return ret; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1963 | } |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1964 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1965 | static gchar ** |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1966 | purple_request_strip_html(PurpleRequestCommonParameters *cpar, |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1967 | const char **primary, const char **secondary) |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1968 | { |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1969 | PurpleRequestUiOps *ops = purple_request_get_ui_ops(); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1970 | gchar **ret; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1971 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1972 | if (!purple_request_cpar_is_html(cpar)) |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1973 | return NULL; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1974 | if (ops->features & PURPLE_REQUEST_FEATURE_HTML) |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1975 | return NULL; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1976 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1977 | ret = g_new0(gchar*, 3); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1978 | *primary = ret[0] = purple_request_strip_html_custom(*primary); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1979 | *secondary = ret[1] = purple_request_strip_html_custom(*secondary); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1980 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1981 | return ret; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1982 | } |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1983 | |
| 5477 | 1984 | void * |
| 15884 | 1985 | purple_request_input(void *handle, const char *title, const char *primary, |
| 5477 | 1986 | const char *secondary, const char *default_value, |
| 8697 | 1987 | gboolean multiline, gboolean masked, gchar *hint, |
| 5477 | 1988 | const char *ok_text, GCallback ok_cb, |
| 1989 | const char *cancel_text, GCallback cancel_cb, | |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
1990 | PurpleRequestCommonParameters *cpar, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1991 | void *user_data) |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
1992 | { |
| 15884 | 1993 | PurpleRequestUiOps *ops; |
| 5477 | 1994 | |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1995 | if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL)) { |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
1996 | purple_request_cpar_unref(cpar); |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1997 | g_warn_if_fail(ok_text != NULL); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
1998 | g_warn_if_fail(ok_cb != NULL); |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
1999 | g_return_val_if_reached(NULL); |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
2000 | } |
| 5477 | 2001 | |
| 15884 | 2002 | ops = purple_request_get_ui_ops(); |
| 5477 | 2003 | |
| 2004 | if (ops != NULL && ops->request_input != NULL) { | |
| 15884 | 2005 | PurpleRequestInfo *info; |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2006 | gchar **tmp; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2007 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2008 | tmp = purple_request_strip_html(cpar, &primary, &secondary); |
| 5477 | 2009 | |
| 15884 | 2010 | info = g_new0(PurpleRequestInfo, 1); |
| 2011 | info->type = PURPLE_REQUEST_INPUT; | |
| 5477 | 2012 | info->handle = handle; |
| 2013 | info->ui_handle = ops->request_input(title, primary, secondary, | |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
2014 | default_value, multiline, masked, hint, ok_text, ok_cb, |
|
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
2015 | cancel_text, cancel_cb, cpar, user_data); |
| 5477 | 2016 | |
| 2017 | handles = g_list_append(handles, info); | |
| 2018 | ||
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2019 | g_strfreev(tmp); |
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
2020 | purple_request_cpar_unref(cpar); |
| 5477 | 2021 | return info->ui_handle; |
| 2022 | } | |
| 2023 | ||
|
34329
ddbc1337332c
Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34328
diff
changeset
|
2024 | purple_request_cpar_unref(cpar); |
| 5477 | 2025 | return NULL; |
| 2026 | } | |
| 2027 | ||
| 2028 | void * | |
| 15884 | 2029 | purple_request_choice(void *handle, const char *title, const char *primary, |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
2030 | const char *secondary, gpointer default_value, const char *ok_text, |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
2031 | GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
2032 | PurpleRequestCommonParameters *cpar, void *user_data, ...) |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2033 | { |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2034 | void *ui_handle; |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2035 | va_list args; |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2036 | |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2037 | if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL)) { |
|
34330
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2038 | purple_request_cpar_unref(cpar); |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2039 | g_warn_if_fail(ok_text != NULL); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2040 | g_warn_if_fail(ok_cb != NULL); |
|
34330
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2041 | g_return_val_if_reached(NULL); |
|
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2042 | } |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2043 | |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2044 | va_start(args, user_data); |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
2045 | ui_handle = purple_request_choice_varg(handle, title, primary, secondary, |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2046 | default_value, ok_text, ok_cb, |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2047 | cancel_text, cancel_cb, |
|
34330
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2048 | cpar, user_data, args); |
| 5477 | 2049 | va_end(args); |
| 2050 | ||
| 2051 | return ui_handle; | |
| 2052 | } | |
| 2053 | ||
| 2054 | void * | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
2055 | purple_request_choice_varg(void *handle, const char *title, const char *primary, |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
2056 | const char *secondary, gpointer default_value, const char *ok_text, |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
2057 | GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, |
|
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
2058 | PurpleRequestCommonParameters *cpar, void *user_data, va_list choices) |
| 5477 | 2059 | { |
| 15884 | 2060 | PurpleRequestUiOps *ops; |
| 5477 | 2061 | |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2062 | if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL || |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2063 | cancel_text == NULL)) |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2064 | { |
|
34330
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2065 | purple_request_cpar_unref(cpar); |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2066 | g_warn_if_fail(ok_text != NULL); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2067 | g_warn_if_fail(ok_cb != NULL); |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2068 | g_warn_if_fail(cancel_text != NULL); |
|
34330
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2069 | g_return_val_if_reached(NULL); |
|
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2070 | } |
| 5477 | 2071 | |
| 15884 | 2072 | ops = purple_request_get_ui_ops(); |
| 5477 | 2073 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
2074 | if (ops != NULL && ops->request_choice != NULL) { |
| 15884 | 2075 | PurpleRequestInfo *info; |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2076 | gchar **tmp; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2077 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2078 | tmp = purple_request_strip_html(cpar, &primary, &secondary); |
| 5477 | 2079 | |
| 15884 | 2080 | info = g_new0(PurpleRequestInfo, 1); |
| 2081 | info->type = PURPLE_REQUEST_CHOICE; | |
| 5477 | 2082 | info->handle = handle; |
| 2083 | info->ui_handle = ops->request_choice(title, primary, secondary, | |
|
34330
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2084 | default_value, ok_text, ok_cb, cancel_text, cancel_cb, |
|
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2085 | cpar, user_data, choices); |
| 5477 | 2086 | |
| 2087 | handles = g_list_append(handles, info); | |
| 2088 | ||
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2089 | g_strfreev(tmp); |
|
34330
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2090 | purple_request_cpar_unref(cpar); |
| 5477 | 2091 | return info->ui_handle; |
| 2092 | } | |
| 2093 | ||
|
34330
35d5e8fcc07b
Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34329
diff
changeset
|
2094 | purple_request_cpar_unref(cpar); |
| 5477 | 2095 | return NULL; |
| 2096 | } | |
| 2097 | ||
| 2098 | void * | |
| 15884 | 2099 | purple_request_action(void *handle, const char *title, const char *primary, |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2100 | const char *secondary, int default_action, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2101 | PurpleRequestCommonParameters *cpar, void *user_data, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2102 | size_t action_count, ...) |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2103 | { |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2104 | void *ui_handle; |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2105 | va_list args; |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2106 | |
|
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2107 | va_start(args, action_count); |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2108 | ui_handle = purple_request_action_varg(handle, title, primary, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2109 | secondary, default_action, cpar, user_data, action_count, args); |
| 5477 | 2110 | va_end(args); |
| 2111 | ||
| 2112 | return ui_handle; | |
| 2113 | } | |
| 2114 | ||
| 2115 | void * | |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2116 | purple_request_action_varg(void *handle, const char *title, const char *primary, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2117 | const char *secondary, int default_action, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2118 | PurpleRequestCommonParameters *cpar, void *user_data, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2119 | size_t action_count, va_list actions) |
| 5477 | 2120 | { |
| 15884 | 2121 | PurpleRequestUiOps *ops; |
| 5477 | 2122 | |
| 15884 | 2123 | ops = purple_request_get_ui_ops(); |
| 5477 | 2124 | |
|
5496
ed995be89052
[gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents:
5482
diff
changeset
|
2125 | if (ops != NULL && ops->request_action != NULL) { |
| 15884 | 2126 | PurpleRequestInfo *info; |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2127 | gchar **tmp; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2128 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2129 | tmp = purple_request_strip_html(cpar, &primary, &secondary); |
| 5477 | 2130 | |
| 15884 | 2131 | info = g_new0(PurpleRequestInfo, 1); |
| 2132 | info->type = PURPLE_REQUEST_ACTION; | |
| 5477 | 2133 | info->handle = handle; |
| 2134 | info->ui_handle = ops->request_action(title, primary, secondary, | |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34330
diff
changeset
|
2135 | default_action, cpar, user_data, action_count, actions); |
| 5477 | 2136 | |
| 2137 | handles = g_list_append(handles, info); | |
| 2138 | ||
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2139 | g_strfreev(tmp); |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2140 | purple_request_cpar_unref(cpar); |
| 5477 | 2141 | return info->ui_handle; |
| 2142 | } | |
| 2143 | ||
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2144 | purple_request_cpar_unref(cpar); |
| 5477 | 2145 | return NULL; |
| 2146 | } | |
| 2147 | ||
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2148 | void * |
|
34443
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2149 | purple_request_wait(void *handle, const char *title, const char *primary, |
|
34448
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2150 | const char *secondary, gboolean with_progress, |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2151 | PurpleRequestCancelCb cancel_cb, PurpleRequestCommonParameters *cpar, |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2152 | void *user_data) |
|
34443
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2153 | { |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2154 | PurpleRequestUiOps *ops; |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2155 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2156 | if (primary == NULL) |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2157 | primary = _("Please wait..."); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2158 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2159 | ops = purple_request_get_ui_ops(); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2160 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2161 | if (ops != NULL && ops->request_wait != NULL) { |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2162 | PurpleRequestInfo *info; |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2163 | gchar **tmp; |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2164 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2165 | tmp = purple_request_strip_html(cpar, &primary, &secondary); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2166 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2167 | info = g_new0(PurpleRequestInfo, 1); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2168 | info->type = PURPLE_REQUEST_WAIT; |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2169 | info->handle = handle; |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2170 | info->ui_handle = ops->request_wait(title, primary, secondary, |
|
34448
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2171 | with_progress, cancel_cb, cpar, user_data); |
|
34443
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2172 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2173 | handles = g_list_append(handles, info); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2174 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2175 | g_strfreev(tmp); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2176 | purple_request_cpar_unref(cpar); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2177 | return info->ui_handle; |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2178 | } |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2179 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2180 | if (cpar == NULL) |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2181 | cpar = purple_request_cpar_new(); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2182 | if (purple_request_cpar_get_icon(cpar) == PURPLE_REQUEST_ICON_DEFAULT) |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2183 | purple_request_cpar_set_icon(cpar, PURPLE_REQUEST_ICON_WAIT); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2184 | |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2185 | return purple_request_action(handle, title, primary, secondary, |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2186 | PURPLE_DEFAULT_ACTION_NONE, cpar, user_data, |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2187 | cancel_cb ? 1 : 0, _("Cancel"), cancel_cb); |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2188 | } |
|
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2189 | |
|
34448
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2190 | void |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2191 | purple_request_wait_pulse(void *ui_handle) |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2192 | { |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2193 | PurpleRequestUiOps *ops; |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2194 | |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2195 | ops = purple_request_get_ui_ops(); |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2196 | |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2197 | if (ops == NULL || ops->request_wait_update == NULL) |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2198 | return; |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2199 | |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2200 | ops->request_wait_update(ui_handle, TRUE, 0.0); |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2201 | } |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2202 | |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2203 | void |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2204 | purple_request_wait_progress(void *ui_handle, gfloat fraction) |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2205 | { |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2206 | PurpleRequestUiOps *ops; |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2207 | |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2208 | ops = purple_request_get_ui_ops(); |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2209 | |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2210 | if (ops == NULL || ops->request_wait_update == NULL) |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2211 | return; |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2212 | |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2213 | if (fraction < 0.0 || fraction > 1.0) { |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2214 | purple_debug_warning("request", "Fraction parameter out of " |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2215 | "range: %f", fraction); |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2216 | if (fraction < 0.0) |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2217 | fraction = 0.0; |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2218 | else /* if (fraction > 1.0) */ |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2219 | fraction = 1.0; |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2220 | } |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2221 | |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2222 | ops->request_wait_update(ui_handle, FALSE, fraction); |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2223 | } |
|
e15d91a77cb3
Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34445
diff
changeset
|
2224 | |
|
34445
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2225 | static void |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2226 | purple_request_fields_strip_html(PurpleRequestFields *fields) |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2227 | { |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2228 | GList *itg; |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2229 | |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2230 | for (itg = fields->groups; itg != NULL; itg = g_list_next(itg)) { |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2231 | PurpleRequestFieldGroup *group = itg->data; |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2232 | GList *itf; |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2233 | |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2234 | for (itf = group->fields; itf != NULL; itf = g_list_next(itf)) { |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2235 | PurpleRequestField *field = itf->data; |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2236 | gchar *new_label; |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2237 | |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2238 | new_label = purple_request_strip_html_custom( |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2239 | field->label); |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2240 | if (g_strcmp0(new_label, field->label) == 0) { |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2241 | g_free(new_label); |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2242 | continue; |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2243 | } |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2244 | g_free(field->label); |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2245 | field->label = new_label; |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2246 | } |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2247 | } |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2248 | } |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2249 | |
|
34443
b7926ff76ed6
Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34341
diff
changeset
|
2250 | void * |
| 15884 | 2251 | purple_request_fields(void *handle, const char *title, const char *primary, |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2252 | const char *secondary, PurpleRequestFields *fields, const char *ok_text, |
|
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2253 | GCallback ok_cb, const char *cancel_text, GCallback cancel_cb, |
|
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2254 | PurpleRequestCommonParameters *cpar, void *user_data) |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2255 | { |
| 15884 | 2256 | PurpleRequestUiOps *ops; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2257 | |
|
35142
d3f26f67a5ef
Allow Request API dialog with only one closing button
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34502
diff
changeset
|
2258 | if (G_UNLIKELY(fields == NULL || |
|
d3f26f67a5ef
Allow Request API dialog with only one closing button
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34502
diff
changeset
|
2259 | ((ok_text == NULL) != (ok_cb == NULL)) || |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2260 | cancel_text == NULL)) |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2261 | { |
|
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2262 | purple_request_cpar_unref(cpar); |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2263 | g_warn_if_fail(fields != NULL); |
|
35142
d3f26f67a5ef
Allow Request API dialog with only one closing button
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34502
diff
changeset
|
2264 | g_warn_if_fail((ok_text == NULL) != (ok_cb == NULL)); |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2265 | g_warn_if_fail(cancel_text != NULL); |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2266 | g_return_val_if_reached(NULL); |
|
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2267 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2268 | |
| 15884 | 2269 | ops = purple_request_get_ui_ops(); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2270 | |
|
34445
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2271 | if (purple_request_cpar_is_html(cpar) && |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2272 | !((ops->features & PURPLE_REQUEST_FEATURE_HTML))) |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2273 | { |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2274 | purple_request_fields_strip_html(fields); |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2275 | } |
|
43e91cccb4da
GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34444
diff
changeset
|
2276 | |
|
34494
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2277 | purple_request_fields_check_sensitivity(fields); |
|
eee5ad689415
Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2278 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2279 | if (ops != NULL && ops->request_fields != NULL) { |
| 15884 | 2280 | PurpleRequestInfo *info; |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2281 | gchar **tmp; |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2282 | |
|
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2283 | tmp = purple_request_strip_html(cpar, &primary, &secondary); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2284 | |
| 15884 | 2285 | info = g_new0(PurpleRequestInfo, 1); |
| 2286 | info->type = PURPLE_REQUEST_FIELDS; | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2287 | info->handle = handle; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2288 | info->ui_handle = ops->request_fields(title, primary, secondary, |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2289 | fields, ok_text, ok_cb, cancel_text, cancel_cb, |
|
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2290 | cpar, user_data); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2291 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2292 | handles = g_list_append(handles, info); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2293 | |
|
34335
2496c53cd401
Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34334
diff
changeset
|
2294 | g_strfreev(tmp); |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2295 | purple_request_cpar_unref(cpar); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2296 | return info->ui_handle; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2297 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2298 | |
|
34332
876483829700
Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34331
diff
changeset
|
2299 | purple_request_cpar_unref(cpar); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2300 | return NULL; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2301 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
2302 | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2303 | void * |
| 20686 | 2304 | purple_request_file(void *handle, const char *title, const char *filename, |
|
34333
b92698241603
Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34332
diff
changeset
|
2305 | gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, |
|
b92698241603
Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34332
diff
changeset
|
2306 | PurpleRequestCommonParameters *cpar, void *user_data) |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2307 | { |
| 15884 | 2308 | PurpleRequestUiOps *ops; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2309 | |
| 15884 | 2310 | ops = purple_request_get_ui_ops(); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2311 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2312 | if (ops != NULL && ops->request_file != NULL) { |
| 15884 | 2313 | PurpleRequestInfo *info; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2314 | |
| 15884 | 2315 | info = g_new0(PurpleRequestInfo, 1); |
| 2316 | info->type = PURPLE_REQUEST_FILE; | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2317 | info->handle = handle; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2318 | info->ui_handle = ops->request_file(title, filename, savedialog, |
|
34333
b92698241603
Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34332
diff
changeset
|
2319 | ok_cb, cancel_cb, cpar, user_data); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2320 | handles = g_list_append(handles, info); |
|
34333
b92698241603
Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34332
diff
changeset
|
2321 | |
|
b92698241603
Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34332
diff
changeset
|
2322 | purple_request_cpar_unref(cpar); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2323 | return info->ui_handle; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2324 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2325 | |
|
34333
b92698241603
Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34332
diff
changeset
|
2326 | purple_request_cpar_unref(cpar); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2327 | return NULL; |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2328 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2329 | |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2330 | void * |
| 15884 | 2331 | purple_request_folder(void *handle, const char *title, const char *dirname, |
|
34334
f5f3a9945a6d
Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34333
diff
changeset
|
2332 | GCallback ok_cb, GCallback cancel_cb, |
|
f5f3a9945a6d
Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34333
diff
changeset
|
2333 | PurpleRequestCommonParameters *cpar, void *user_data) |
|
20685
039aef89faf6
Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents:
20684
diff
changeset
|
2334 | { |
| 15884 | 2335 | PurpleRequestUiOps *ops; |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2336 | |
| 15884 | 2337 | ops = purple_request_get_ui_ops(); |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2338 | |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2339 | if (ops != NULL && ops->request_file != NULL) { |
| 15884 | 2340 | PurpleRequestInfo *info; |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2341 | |
| 15884 | 2342 | info = g_new0(PurpleRequestInfo, 1); |
| 2343 | info->type = PURPLE_REQUEST_FOLDER; | |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2344 | info->handle = handle; |
|
34334
f5f3a9945a6d
Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34333
diff
changeset
|
2345 | info->ui_handle = ops->request_folder(title, dirname, ok_cb, |
|
f5f3a9945a6d
Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34333
diff
changeset
|
2346 | cancel_cb, cpar, user_data); |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2347 | handles = g_list_append(handles, info); |
|
34334
f5f3a9945a6d
Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34333
diff
changeset
|
2348 | |
|
f5f3a9945a6d
Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34333
diff
changeset
|
2349 | purple_request_cpar_unref(cpar); |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2350 | return info->ui_handle; |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2351 | } |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2352 | |
|
34334
f5f3a9945a6d
Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34333
diff
changeset
|
2353 | purple_request_cpar_unref(cpar); |
|
13283
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2354 | return NULL; |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2355 | } |
|
89a0621d5d6a
[gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents:
13270
diff
changeset
|
2356 | |
|
34451
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2357 | gboolean |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2358 | purple_request_is_valid_ui_handle(void *ui_handle, PurpleRequestType *type) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2359 | { |
|
34478
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2360 | PurpleRequestInfo *info; |
|
34451
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2361 | |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2362 | if (ui_handle == NULL) |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2363 | return FALSE; |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2364 | |
|
34478
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2365 | info = purple_request_info_from_ui_handle(ui_handle); |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2366 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2367 | if (info == NULL) |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2368 | return FALSE; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2369 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2370 | if (type != NULL) |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2371 | *type = info->type; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2372 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2373 | return TRUE; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2374 | } |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2375 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2376 | void |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2377 | purple_request_add_close_notify(void *ui_handle, GDestroyNotify notify, |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2378 | gpointer notify_data) |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2379 | { |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2380 | PurpleRequestInfo *info; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2381 | PurpleRequestCloseNotified *notified; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2382 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2383 | g_return_if_fail(ui_handle != NULL); |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2384 | g_return_if_fail(notify != NULL); |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2385 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2386 | info = purple_request_info_from_ui_handle(ui_handle); |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2387 | g_return_if_fail(info != NULL); |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2388 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2389 | notified = g_new0(PurpleRequestCloseNotified, 1); |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2390 | notified->cb = notify; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2391 | notified->data = notify_data; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2392 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2393 | info->notify_on_close = g_slist_append(info->notify_on_close, notified); |
|
34451
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2394 | } |
|
b7165d4e1d73
Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34448
diff
changeset
|
2395 | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2396 | static void |
| 15884 | 2397 | purple_request_close_info(PurpleRequestInfo *info) |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2398 | { |
| 15884 | 2399 | PurpleRequestUiOps *ops; |
|
34478
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2400 | GSList *it; |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2401 | |
| 15884 | 2402 | ops = purple_request_get_ui_ops(); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2403 | |
| 15884 | 2404 | purple_notify_close_with_handle(info->ui_handle); |
| 2405 | purple_request_close_with_handle(info->ui_handle); | |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2406 | |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2407 | if (ops != NULL && ops->close_request != NULL) |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2408 | ops->close_request(info->type, info->ui_handle); |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2409 | |
|
34478
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2410 | for (it = info->notify_on_close; it; it = g_slist_next(it)) { |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2411 | PurpleRequestCloseNotified *notify = it->data; |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2412 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2413 | notify->cb(notify->data); |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2414 | } |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2415 | |
|
be28ca093028
Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34452
diff
changeset
|
2416 | g_slist_free_full(info->notify_on_close, g_free); |
|
9502
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2417 | g_free(info); |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2418 | } |
|
d43f69354213
[gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents:
8843
diff
changeset
|
2419 | |
| 5477 | 2420 | void |
| 15884 | 2421 | purple_request_close(PurpleRequestType type, void *ui_handle) |
| 5477 | 2422 | { |
| 2423 | GList *l; | |
| 2424 | ||
| 2425 | g_return_if_fail(ui_handle != NULL); | |
| 2426 | ||
| 2427 | for (l = handles; l != NULL; l = l->next) { | |
| 15884 | 2428 | PurpleRequestInfo *info = l->data; |
| 5477 | 2429 | |
| 2430 | if (info->ui_handle == ui_handle) { | |
|
40079
a37a1e349491
Replace g_[s]list_remove with g_[s]list_delete_link.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39913
diff
changeset
|
2431 | handles = g_list_delete_link(handles, l); |
| 15884 | 2432 | purple_request_close_info(info); |
| 5477 | 2433 | break; |
| 2434 | } | |
| 2435 | } | |
| 2436 | } | |
| 2437 | ||
| 2438 | void | |
| 15884 | 2439 | purple_request_close_with_handle(void *handle) |
| 5477 | 2440 | { |
| 2441 | GList *l, *l_next; | |
| 2442 | ||
| 2443 | g_return_if_fail(handle != NULL); | |
| 2444 | ||
| 2445 | for (l = handles; l != NULL; l = l_next) { | |
| 15884 | 2446 | PurpleRequestInfo *info = l->data; |
| 5477 | 2447 | |
| 2448 | l_next = l->next; | |
| 2449 | ||
| 2450 | if (info->handle == handle) { | |
|
40079
a37a1e349491
Replace g_[s]list_remove with g_[s]list_delete_link.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39913
diff
changeset
|
2451 | handles = g_list_delete_link(handles, l); |
| 15884 | 2452 | purple_request_close_info(info); |
| 5477 | 2453 | } |
| 2454 | } | |
| 2455 | } | |
| 2456 | ||
| 2457 | void | |
| 15884 | 2458 | purple_request_set_ui_ops(PurpleRequestUiOps *ops) |
| 5477 | 2459 | { |
| 2460 | request_ui_ops = ops; | |
| 2461 | } | |
| 2462 | ||
| 15884 | 2463 | PurpleRequestUiOps * |
| 2464 | purple_request_get_ui_ops(void) | |
| 5477 | 2465 | { |
| 2466 | return request_ui_ops; | |
| 2467 | } | |
| 35572 | 2468 | |
| 2469 | /************************************************************************** | |
| 2470 | * GBoxed code | |
| 2471 | **************************************************************************/ | |
| 2472 | static PurpleRequestUiOps * | |
| 2473 | purple_request_ui_ops_copy(PurpleRequestUiOps *ops) | |
| 2474 | { | |
| 2475 | PurpleRequestUiOps *ops_new; | |
| 2476 | ||
| 2477 | g_return_val_if_fail(ops != NULL, NULL); | |
| 2478 | ||
| 2479 | ops_new = g_new(PurpleRequestUiOps, 1); | |
| 2480 | *ops_new = *ops; | |
| 2481 | ||
| 2482 | return ops_new; | |
| 2483 | } | |
| 2484 | ||
| 2485 | GType | |
| 2486 | purple_request_ui_ops_get_type(void) | |
| 2487 | { | |
| 2488 | static GType type = 0; | |
| 2489 | ||
| 2490 | if (type == 0) { | |
| 2491 | type = g_boxed_type_register_static("PurpleRequestUiOps", | |
| 2492 | (GBoxedCopyFunc)purple_request_ui_ops_copy, | |
|
35597
7fcfcf147b99
Use g_free as UiOps structures GBoxed free function
Ankit Vani <a@nevitus.org>
parents:
35572
diff
changeset
|
2493 | (GBoxedFreeFunc)g_free); |
| 35572 | 2494 | } |
| 2495 | ||
| 2496 | return type; | |
| 2497 | } |