libpurple/request.c

changeset 41745
74985c7b824d
parent 41685
ca22b00972d4
child 41890
2c15f6e30f20
equal deleted inserted replaced
41744:57dcc21a926e 41745:74985c7b824d
140 { 140 {
141 GList *groups; 141 GList *groups;
142 142
143 GHashTable *fields; 143 GHashTable *fields;
144 144
145 gchar **tab_names;
146
147 GList *required_fields; 145 GList *required_fields;
148 146
149 GList *validated_fields; 147 GList *validated_fields;
150 148
151 GList *autosensitive_fields; 149 GList *autosensitive_fields;
156 struct _PurpleRequestFieldGroup 154 struct _PurpleRequestFieldGroup
157 { 155 {
158 PurpleRequestFields *fields_list; 156 PurpleRequestFields *fields_list;
159 157
160 char *title; 158 char *title;
161 gint tab_no;
162 159
163 GList *fields; 160 GList *fields;
164 }; 161 };
165 162
166 struct _PurpleRequestCommonParameters 163 struct _PurpleRequestCommonParameters
483 void 480 void
484 purple_request_fields_destroy(PurpleRequestFields *fields) 481 purple_request_fields_destroy(PurpleRequestFields *fields)
485 { 482 {
486 g_return_if_fail(fields != NULL); 483 g_return_if_fail(fields != NULL);
487 484
488 g_strfreev(fields->tab_names);
489 g_list_free_full(fields->groups, 485 g_list_free_full(fields->groups,
490 (GDestroyNotify)purple_request_field_group_destroy); 486 (GDestroyNotify)purple_request_field_group_destroy);
491 g_list_free(fields->required_fields); 487 g_list_free(fields->required_fields);
492 g_list_free(fields->validated_fields); 488 g_list_free(fields->validated_fields);
493 g_list_free(fields->autosensitive_fields); 489 g_list_free(fields->autosensitive_fields);
541 g_return_val_if_fail(fields != NULL, NULL); 537 g_return_val_if_fail(fields != NULL, NULL);
542 538
543 return fields->groups; 539 return fields->groups;
544 } 540 }
545 541
546 void
547 purple_request_fields_set_tab_names(PurpleRequestFields *fields,
548 const gchar **tab_names)
549 {
550 guint i, tab_count;
551 gchar **new_names;
552
553 g_return_if_fail(fields != NULL);
554
555 tab_count = (tab_names != NULL) ? g_strv_length((gchar **)tab_names) : 0;
556 new_names = (tab_count > 0) ? g_new0(gchar*, tab_count + 1) : NULL;
557 for (i = 0; i < tab_count; i++)
558 new_names[i] = g_strdup(tab_names[i]);
559
560 g_strfreev(fields->tab_names);
561 fields->tab_names = new_names;
562 }
563
564 const gchar **
565 purple_request_fields_get_tab_names(const PurpleRequestFields *fields)
566 {
567 g_return_val_if_fail(fields != NULL, NULL);
568
569 return (const gchar **)fields->tab_names;
570 }
571
572 gboolean 542 gboolean
573 purple_request_fields_exists(const PurpleRequestFields *fields, const char *id) 543 purple_request_fields_exists(const PurpleRequestFields *fields, const char *id)
574 { 544 {
575 g_return_val_if_fail(fields != NULL, FALSE); 545 g_return_val_if_fail(fields != NULL, FALSE);
576 g_return_val_if_fail(id != NULL, FALSE); 546 g_return_val_if_fail(id != NULL, FALSE);
811 group = g_new0(PurpleRequestFieldGroup, 1); 781 group = g_new0(PurpleRequestFieldGroup, 1);
812 782
813 group->title = g_strdup(title); 783 group->title = g_strdup(title);
814 784
815 return group; 785 return group;
816 }
817
818 void
819 purple_request_field_group_set_tab(PurpleRequestFieldGroup *group, guint tab_no)
820 {
821 g_return_if_fail(group != NULL);
822
823 group->tab_no = tab_no;
824 }
825
826 guint
827 purple_request_field_group_get_tab(const PurpleRequestFieldGroup *group)
828 {
829 return group->tab_no;
830 } 786 }
831 787
832 void 788 void
833 purple_request_field_group_destroy(PurpleRequestFieldGroup *group) 789 purple_request_field_group_destroy(PurpleRequestFieldGroup *group)
834 { 790 {

mercurial