Mercurial > pidgin
comparison libpurple/request.c @ 32672:3828a61c44da
A boring and large patch so I can merge heads.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 23 Dec 2011 08:21:58 +0000 |
parents | a88631af0f5e |
children |
comparison
equal
deleted
inserted
replaced
32671:0e69949b3e61 | 32672:3828a61c44da |
---|---|
40 void *handle; | 40 void *handle; |
41 void *ui_handle; | 41 void *ui_handle; |
42 | 42 |
43 } PurpleRequestInfo; | 43 } PurpleRequestInfo; |
44 | 44 |
45 struct _PurpleRequestField | |
46 { | |
47 PurpleRequestFieldType type; | |
48 PurpleRequestFieldGroup *group; | |
49 | |
50 char *id; | |
51 char *label; | |
52 char *type_hint; | |
53 | |
54 gboolean visible; | |
55 gboolean required; | |
56 | |
57 union | |
58 { | |
59 struct | |
60 { | |
61 gboolean multiline; | |
62 gboolean masked; | |
63 gboolean editable; | |
64 char *default_value; | |
65 char *value; | |
66 | |
67 } string; | |
68 | |
69 struct | |
70 { | |
71 int default_value; | |
72 int value; | |
73 | |
74 } integer; | |
75 | |
76 struct | |
77 { | |
78 gboolean default_value; | |
79 gboolean value; | |
80 | |
81 } boolean; | |
82 | |
83 struct | |
84 { | |
85 int default_value; | |
86 int value; | |
87 | |
88 GList *labels; | |
89 | |
90 } choice; | |
91 | |
92 struct | |
93 { | |
94 GList *items; | |
95 GList *icons; | |
96 GHashTable *item_data; | |
97 GList *selected; | |
98 GHashTable *selected_table; | |
99 | |
100 gboolean multiple_selection; | |
101 | |
102 } list; | |
103 | |
104 struct | |
105 { | |
106 PurpleAccount *default_account; | |
107 PurpleAccount *account; | |
108 gboolean show_all; | |
109 | |
110 PurpleFilterAccountFunc filter_func; | |
111 | |
112 } account; | |
113 | |
114 struct | |
115 { | |
116 unsigned int scale_x; | |
117 unsigned int scale_y; | |
118 const char *buffer; | |
119 gsize size; | |
120 } image; | |
121 | |
122 } u; | |
123 | |
124 void *ui_data; | |
125 char *tooltip; | |
126 }; | |
127 | |
128 struct _PurpleRequestFields | |
129 { | |
130 GList *groups; | |
131 | |
132 GHashTable *fields; | |
133 | |
134 GList *required_fields; | |
135 | |
136 void *ui_data; | |
137 }; | |
138 | |
139 struct _PurpleRequestFieldGroup | |
140 { | |
141 PurpleRequestFields *fields_list; | |
142 | |
143 char *title; | |
144 | |
145 GList *fields; | |
146 }; | |
45 | 147 |
46 PurpleRequestFields * | 148 PurpleRequestFields * |
47 purple_request_fields_new(void) | 149 purple_request_fields_new(void) |
48 { | 150 { |
49 PurpleRequestFields *fields; | 151 PurpleRequestFields *fields; |
269 return NULL; | 371 return NULL; |
270 | 372 |
271 return purple_request_field_account_get_value(field); | 373 return purple_request_field_account_get_value(field); |
272 } | 374 } |
273 | 375 |
376 gpointer purple_request_fields_get_ui_data(const PurpleRequestFields *fields) | |
377 { | |
378 g_return_val_if_fail(fields != NULL, NULL); | |
379 | |
380 return fields->ui_data; | |
381 } | |
382 | |
383 void purple_request_fields_set_ui_data(PurpleRequestFields *fields, gpointer ui_data) | |
384 { | |
385 g_return_if_fail(fields != NULL); | |
386 | |
387 fields->ui_data = ui_data; | |
388 } | |
389 | |
274 PurpleRequestFieldGroup * | 390 PurpleRequestFieldGroup * |
275 purple_request_field_group_new(const char *title) | 391 purple_request_field_group_new(const char *title) |
276 { | 392 { |
277 PurpleRequestFieldGroup *group; | 393 PurpleRequestFieldGroup *group; |
278 | 394 |
333 purple_request_field_group_get_fields(const PurpleRequestFieldGroup *group) | 449 purple_request_field_group_get_fields(const PurpleRequestFieldGroup *group) |
334 { | 450 { |
335 g_return_val_if_fail(group != NULL, NULL); | 451 g_return_val_if_fail(group != NULL, NULL); |
336 | 452 |
337 return group->fields; | 453 return group->fields; |
454 } | |
455 | |
456 PurpleRequestFields * | |
457 purple_request_field_group_get_fields_list(const PurpleRequestFieldGroup *group) | |
458 { | |
459 g_return_val_if_fail(group != NULL, NULL); | |
460 | |
461 return group->fields_list; | |
338 } | 462 } |
339 | 463 |
340 PurpleRequestField * | 464 PurpleRequestField * |
341 purple_request_field_new(const char *id, const char *text, | 465 purple_request_field_new(const char *id, const char *text, |
342 PurpleRequestFieldType type) | 466 PurpleRequestFieldType type) |
863 | 987 |
864 return g_hash_table_lookup(field->u.list.item_data, text); | 988 return g_hash_table_lookup(field->u.list.item_data, text); |
865 } | 989 } |
866 | 990 |
867 void | 991 void |
868 purple_request_field_list_add(PurpleRequestField *field, const char *item, | |
869 void *data) | |
870 { | |
871 purple_request_field_list_add_icon(field, item, NULL, data); | |
872 } | |
873 | |
874 void | |
875 purple_request_field_list_add_icon(PurpleRequestField *field, const char *item, const char* icon_path, | 992 purple_request_field_list_add_icon(PurpleRequestField *field, const char *item, const char* icon_path, |
876 void *data) | 993 void *data) |
877 { | 994 { |
878 g_return_if_fail(field != NULL); | 995 g_return_if_fail(field != NULL); |
879 g_return_if_fail(item != NULL); | 996 g_return_if_fail(item != NULL); |