libpurple/purplerequestgroup.c

Mon, 20 Mar 2023 23:04:04 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Mon, 20 Mar 2023 23:04:04 -0500
changeset 42170
c9968cbf01d5
parent 42169
a35df4578814
permissions
-rw-r--r--

Use GPtrArray internally to PurpleRequest{Group,Page}

Now that we don't export a `GList`, we can use these arrays internally.

Testing Done:
Opened Request Fields from Demo protocol, and confirmed all groups/fields were there.

Reviewed at https://reviews.imfreedom.org/r/2364/

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
1 /* purple
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
5 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6325
diff changeset
6 *
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * (at your option) any later version.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * GNU General Public License for more details.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
42144
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42132
diff changeset
18 * along with this program; if not, see <https://www.gnu.org/licenses/>.
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 */
24900
a19d983918c2 Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents: 24899
diff changeset
20
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
21 #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
22
42120
1de24f50c9a6 Split PurpleRequestFieldGroup into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
23 #include "purplerequestgroup.h"
42144
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42132
diff changeset
24 #include "purplerequestpage.h"
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
25 #include "purpleprivate.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
27 struct _PurpleRequestGroup {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
28 GObject parent;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
29
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
30 char *title;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
31
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
32 GPtrArray *fields;
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
33 GHashTable *invalid_fields;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
34 };
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
36 enum {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
37 PROP_0,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
38 PROP_TITLE,
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
39 PROP_VALID,
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
40 N_PROPERTIES,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
41 };
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
42 static GParamSpec *properties[N_PROPERTIES] = {NULL, };
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
43
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
44 /******************************************************************************
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
45 * Helpers
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
46 *****************************************************************************/
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
47 static void
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
48 purple_request_group_set_title(PurpleRequestGroup *group, const char *title) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
49 g_free(group->title);
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
50 group->title = g_strdup(title);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
51
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
52 g_object_notify_by_pspec(G_OBJECT(group), properties[PROP_TITLE]);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
53 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
54
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
55 /******************************************************************************
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
56 * Callbacks
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
57 *****************************************************************************/
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
58 static void
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
59 purple_request_group_notify_field_cb(GObject *obj,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
60 G_GNUC_UNUSED GParamSpec *pspec,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
61 gpointer data)
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
62 {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
63 PurpleRequestGroup *group = PURPLE_REQUEST_GROUP(data);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
64 PurpleRequestField *field = PURPLE_REQUEST_FIELD(obj);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
65 gboolean before, after;
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
66
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
67 before = purple_request_group_is_valid(group);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
68 if(purple_request_field_is_valid(field, NULL)) {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
69 g_hash_table_remove(group->invalid_fields, field);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
70 } else {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
71 g_hash_table_add(group->invalid_fields, field);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
72 }
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
73 after = purple_request_group_is_valid(group);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
74
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
75 if(before != after) {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
76 g_object_notify_by_pspec(G_OBJECT(group), properties[PROP_VALID]);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
77 }
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
78 }
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
79
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
80 /******************************************************************************
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
81 * GListModel Implementation
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
82 *****************************************************************************/
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
83 static GType
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
84 purple_request_group_get_item_type(G_GNUC_UNUSED GListModel *model) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
85 return PURPLE_TYPE_REQUEST_FIELD;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
86 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
87
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
88 static guint
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
89 purple_request_group_get_n_items(GListModel *model) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
90 PurpleRequestGroup *group = PURPLE_REQUEST_GROUP(model);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
91
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
92 return group->fields->len;
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
93 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
94
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
95 static gpointer
42132
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
96 purple_request_group_get_item(GListModel *model, guint index) {
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
97 PurpleRequestGroup *group = PURPLE_REQUEST_GROUP(model);
42132
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
98 PurpleRequestField *field = NULL;
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
99
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
100 if(index < group->fields->len) {
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
101 field = g_ptr_array_index(group->fields, index);
42132
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
102 g_object_ref(field);
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
103 }
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
104
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42128
diff changeset
105 return field;
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
106 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
107
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
108 static void
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
109 purple_request_group_list_model_init(GListModelInterface *iface) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
110 iface->get_item_type = purple_request_group_get_item_type;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
111 iface->get_item = purple_request_group_get_item;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
112 iface->get_n_items = purple_request_group_get_n_items;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
113 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
114
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
115 /******************************************************************************
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
116 * GObject Implementation
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
117 *****************************************************************************/
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
118 G_DEFINE_TYPE_WITH_CODE(PurpleRequestGroup, purple_request_group, G_TYPE_OBJECT,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
119 G_IMPLEMENT_INTERFACE(G_TYPE_LIST_MODEL,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
120 purple_request_group_list_model_init))
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
121
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
122 static void
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
123 purple_request_group_get_property(GObject *obj, guint param_id, GValue *value,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
124 GParamSpec *pspec)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
125 {
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
126 PurpleRequestGroup *group = PURPLE_REQUEST_GROUP(obj);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
128 switch(param_id) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
129 case PROP_TITLE:
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
130 g_value_set_string(value, purple_request_group_get_title(group));
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
131 break;
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
132 case PROP_VALID:
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
133 g_value_set_boolean(value, purple_request_group_is_valid(group));
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
134 break;
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
135 default:
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
136 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
137 break;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
138 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
139 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
140
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
141 static void
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
142 purple_request_group_set_property(GObject *obj, guint param_id,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
143 const GValue *value, GParamSpec *pspec)
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
144 {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
145 PurpleRequestGroup *group = PURPLE_REQUEST_GROUP(obj);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
146
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
147 switch(param_id) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
148 case PROP_TITLE:
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
149 purple_request_group_set_title(group, g_value_get_string(value));
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
150 break;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
151 default:
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
152 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
153 break;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
154 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
155 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
156
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
157 static void
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
158 purple_request_group_finalize(GObject *obj) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
159 PurpleRequestGroup *group = PURPLE_REQUEST_GROUP(obj);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
160
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
161 g_free(group->title);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
162
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
163 g_clear_pointer(&group->fields, g_ptr_array_unref);
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
164 g_clear_pointer(&group->invalid_fields, g_hash_table_destroy);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
165
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
166 G_OBJECT_CLASS(purple_request_group_parent_class)->finalize(obj);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
167 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
168
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
169 static void
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
170 purple_request_group_init(PurpleRequestGroup *group) {
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
171 group->fields = g_ptr_array_new_with_free_func(g_object_unref);
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
172 group->invalid_fields = g_hash_table_new(g_direct_hash, g_direct_equal);
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
173 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
174
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
175 static void
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
176 purple_request_group_class_init(PurpleRequestGroupClass *klass) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
177 GObjectClass *obj_class = G_OBJECT_CLASS(klass);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
178
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
179 obj_class->finalize = purple_request_group_finalize;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
180 obj_class->get_property = purple_request_group_get_property;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
181 obj_class->set_property = purple_request_group_set_property;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
182
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
183 /**
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
184 * PurpleRequestGroup:title:
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
185 *
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
186 * The title of the field group.
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
187 *
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
188 * Since: 3.0.0
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
189 */
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
190 properties[PROP_TITLE] = g_param_spec_string(
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
191 "title", "title",
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
192 "The title of the field group.",
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
193 NULL,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
194 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
195
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
196 /**
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
197 * PurpleRequestGroup:valid:
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
198 *
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
199 * Whether all fields in a group are valid.
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
200 *
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
201 * Since: 3.0.0
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
202 */
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
203 properties[PROP_VALID] = g_param_spec_boolean(
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
204 "valid", "valid",
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
205 "Whether all fields in a group are valid.",
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
206 TRUE,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
207 G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
208
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
209 g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
210 }
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
211
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
212 /******************************************************************************
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
213 * Public API
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
214 *****************************************************************************/
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
215 PurpleRequestGroup *
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
216 purple_request_group_new(const char *title) {
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
217 return g_object_new(PURPLE_TYPE_REQUEST_GROUP,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
218 "title", title,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
219 NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
220 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
221
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
222 void
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
223 purple_request_group_add_field(PurpleRequestGroup *group,
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
224 PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
225 {
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
226 guint position;
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
227
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
228 g_return_if_fail(PURPLE_IS_REQUEST_GROUP(group));
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42120
diff changeset
229 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
230
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
231 position = group->fields->len;
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
232 g_ptr_array_add(group->fields, field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
233
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
234 purple_request_group_notify_field_cb(G_OBJECT(field), NULL, group);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
235 g_signal_connect(field, "notify::valid",
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
236 G_CALLBACK(purple_request_group_notify_field_cb), group);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
237
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
238 g_list_model_items_changed(G_LIST_MODEL(group), position, 0, 1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
239 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
240
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
241 const char *
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
242 purple_request_group_get_title(PurpleRequestGroup *group)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
243 {
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
244 g_return_val_if_fail(PURPLE_IS_REQUEST_GROUP(group), NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
245
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
246 return group->title;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
247 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
248
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
249 gboolean
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
250 purple_request_group_is_valid(PurpleRequestGroup *group) {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
251 g_return_val_if_fail(PURPLE_IS_REQUEST_GROUP(group), FALSE);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
252
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
253 return g_hash_table_size(group->invalid_fields) == 0;
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
254 }

mercurial