libpurple/request/purplerequestpage.c

Mon, 12 May 2025 20:25:16 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Mon, 12 May 2025 20:25:16 -0500
changeset 43246
0e9bbe9b4da8
parent 43128
1ce3ad90614c
permissions
-rw-r--r--

Handle formatting in server messages

Testing Done:
Used the default motd on my local ergo server to verify that formatting was working.

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

42144
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42139
diff changeset
1 /*
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42139
diff changeset
2 * Purple - Internet Messaging Library
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42139
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
7 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6325
diff changeset
8 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
9 * This library is free software; you can redistribute it and/or modify it
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
10 * under the terms of the GNU General Public License as published by the Free
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
11 * Software Foundation; either version 2 of the License, or (at your option)
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
12 * any later version.
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
14 * This library is distributed in the hope that it will be useful, but WITHOUT
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
17 * more details.
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
19 * You should have received a copy of the GNU General Public License along with
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42576
diff changeset
20 * this library; if not, see <https://www.gnu.org/licenses/>.
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 */
24900
a19d983918c2 Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents: 24899
diff changeset
22
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
23 #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
24
42122
77a267934abf Split PurpleRequestFields into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42120
diff changeset
25 #include "purplerequestpage.h"
42997
368deff13c21 Split purpleprivate.h up into individual files
Gary Kramlich <grim@reaperworld.com>
parents: 42984
diff changeset
26
42134
1b5ce0f4302d Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42132
diff changeset
27 #include "request/purplerequestfieldaccount.h"
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
28 #include "request/purplerequestfieldbool.h"
42139
c053558f1236 Make PurpleRequestFieldChoice into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42137
diff changeset
29 #include "request/purplerequestfieldchoice.h"
42137
59ceb87dc43c Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
30 #include "request/purplerequestfieldint.h"
42135
1a89a067a0d5 Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42134
diff changeset
31 #include "request/purplerequestfieldstring.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
33 struct _PurpleRequestPage {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
34 GObject parent;
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
35
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
36 GPtrArray *groups;
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
37 GHashTable *invalid_groups;
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
38
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
39 GHashTable *fields;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
40 };
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
41
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
42 enum {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
43 PROP_0,
42667
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
44 PROP_ITEM_TYPE,
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
45 PROP_N_ITEMS,
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
46 PROP_VALID,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
47 N_PROPERTIES,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
48 };
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
49 static GParamSpec *properties[N_PROPERTIES] = {NULL, };
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
50
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
51 /******************************************************************************
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
52 * Callbacks
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
53 *****************************************************************************/
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
54 static void
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
55 purple_request_page_notify_group_cb(GObject *obj,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
56 G_GNUC_UNUSED GParamSpec *pspec,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
57 gpointer data)
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
58 {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
59 PurpleRequestPage *page = PURPLE_REQUEST_PAGE(data);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
60 PurpleRequestGroup *group = PURPLE_REQUEST_GROUP(obj);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
61 gboolean before, after;
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
62
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
63 before = purple_request_page_is_valid(page);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
64 if(purple_request_group_is_valid(group)) {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
65 g_hash_table_remove(page->invalid_groups, group);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
66 } else {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
67 g_hash_table_add(page->invalid_groups, group);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
68 }
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
69 after = purple_request_page_is_valid(page);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
70
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
71 if(before != after) {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
72 g_object_notify_by_pspec(G_OBJECT(page), properties[PROP_VALID]);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
73 }
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
74 }
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
75
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
76 static void
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
77 purple_request_page_items_changed_cb(GListModel *list, guint position,
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
78 guint removed, guint added, gpointer data)
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
79 {
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
80 PurpleRequestPage *page = data;
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
81
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
82 /* Groups don't support removing fields, nor do pages support removing
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
83 * groups, so we don't attempt to support that here. */
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
84 g_return_if_fail(removed == 0);
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
85
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
86 for(guint offset = 0; offset < added; offset++) {
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
87 PurpleRequestField *field;
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
88 field = g_list_model_get_item(list, position + offset);
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
89 g_hash_table_insert(page->fields,
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
90 g_strdup(purple_request_field_get_id(field)),
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
91 field);
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
92 g_object_unref(field);
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
93 }
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
94 }
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
95
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
96 /******************************************************************************
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
97 * GListModel Implementation
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
98 *****************************************************************************/
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
99 static GType
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
100 purple_request_page_get_item_type(G_GNUC_UNUSED GListModel *model) {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
101 return PURPLE_TYPE_REQUEST_GROUP;
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
102 }
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
103
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
104 static guint
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
105 purple_request_page_get_n_items(GListModel *model) {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
106 PurpleRequestPage *page = PURPLE_REQUEST_PAGE(model);
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
107
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
108 return page->groups->len;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
109 }
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
110
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
111 static gpointer
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
112 purple_request_page_get_item(GListModel *model, guint index) {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
113 PurpleRequestPage *page = PURPLE_REQUEST_PAGE(model);
42132
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42129
diff changeset
114 PurpleRequestGroup *group = NULL;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
115
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
116 if(index < page->groups->len) {
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
117 group = g_ptr_array_index(page->groups, index);
42132
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42129
diff changeset
118 g_object_ref(group);
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42129
diff changeset
119 }
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42129
diff changeset
120
358f8573573f Fix refs in request page/group list model implementation
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42129
diff changeset
121 return group;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
122 }
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
123
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
124 static void
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
125 purple_request_page_list_model_init(GListModelInterface *iface) {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
126 iface->get_item_type = purple_request_page_get_item_type;
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
127 iface->get_item = purple_request_page_get_item;
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
128 iface->get_n_items = purple_request_page_get_n_items;
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
129 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
130
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
131 /******************************************************************************
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
132 * GObject Implementation
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
133 *****************************************************************************/
42576
ab1ca778ddb2 Make sure all of the final types in libpurple are defined as such
Gary Kramlich <grim@reaperworld.com>
parents: 42327
diff changeset
134 G_DEFINE_FINAL_TYPE_WITH_CODE(PurpleRequestPage, purple_request_page, G_TYPE_OBJECT,
ab1ca778ddb2 Make sure all of the final types in libpurple are defined as such
Gary Kramlich <grim@reaperworld.com>
parents: 42327
diff changeset
135 G_IMPLEMENT_INTERFACE(G_TYPE_LIST_MODEL,
ab1ca778ddb2 Make sure all of the final types in libpurple are defined as such
Gary Kramlich <grim@reaperworld.com>
parents: 42327
diff changeset
136 purple_request_page_list_model_init))
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
137
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
138 static void
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
139 purple_request_page_get_property(GObject *obj, guint param_id, GValue *value,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
140 GParamSpec *pspec)
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
141 {
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
142 PurpleRequestPage *page = PURPLE_REQUEST_PAGE(obj);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
143
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
144 switch(param_id) {
42667
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
145 case PROP_ITEM_TYPE:
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
146 g_value_set_gtype(value,
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
147 purple_request_page_get_item_type(G_LIST_MODEL(page)));
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
148 break;
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
149 case PROP_N_ITEMS:
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
150 g_value_set_uint(value,
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
151 purple_request_page_get_n_items(G_LIST_MODEL(page)));
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
152 break;
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
153 case PROP_VALID:
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
154 g_value_set_boolean(value, purple_request_page_is_valid(page));
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
155 break;
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
156 default:
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
157 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
158 break;
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
159 }
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
160 }
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
161
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
162 static void
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
163 purple_request_page_finalize(GObject *obj) {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
164 PurpleRequestPage *page = PURPLE_REQUEST_PAGE(obj);
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
165
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
166 g_clear_pointer(&page->groups, g_ptr_array_unref);
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
167 g_clear_pointer(&page->invalid_groups, g_hash_table_destroy);
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
168 g_hash_table_destroy(page->fields);
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
169
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
170 G_OBJECT_CLASS(purple_request_page_parent_class)->finalize(obj);
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
171 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
172
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
173 static void
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
174 purple_request_page_init(PurpleRequestPage *page) {
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
175 page->groups = g_ptr_array_new_with_free_func(g_object_unref);
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
176 page->fields = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
177 page->invalid_groups = g_hash_table_new(g_direct_hash, g_direct_equal);
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
178 }
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
179
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
180 static void
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
181 purple_request_page_class_init(PurpleRequestPageClass *klass) {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
182 GObjectClass *obj_class = G_OBJECT_CLASS(klass);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
183
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
184 obj_class->finalize = purple_request_page_finalize;
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
185 obj_class->get_property = purple_request_page_get_property;
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
186
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
187 /**
42667
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
188 * PurpleRequestPage:item-type:
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
189 *
42984
818220289e67 Update the gi-docgen subproject and fix some new issues it found
Gary Kramlich <grim@reaperworld.com>
parents: 42667
diff changeset
190 * The type of items. See [vfunc@Gio.ListModel.get_item_type].
42667
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
191 *
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
192 * Since: 3.0
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
193 */
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
194 properties[PROP_ITEM_TYPE] = g_param_spec_gtype(
43071
071588186662 Remove nick and blurb from libpurple properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42997
diff changeset
195 "item-type", NULL, NULL,
42667
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
196 G_TYPE_OBJECT,
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
197 G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
198
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
199 /**
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
200 * PurpleRequestPage:n-items:
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
201 *
42984
818220289e67 Update the gi-docgen subproject and fix some new issues it found
Gary Kramlich <grim@reaperworld.com>
parents: 42667
diff changeset
202 * The number of items. See [vfunc@Gio.ListModel.get_n_items].
42667
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
203 *
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
204 * Since: 3.0
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
205 */
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
206 properties[PROP_N_ITEMS] = g_param_spec_uint(
43071
071588186662 Remove nick and blurb from libpurple properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42997
diff changeset
207 "n-items", NULL, NULL,
42667
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
208 0, G_MAXUINT, 0,
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
209 G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
210
cf3379295bb5 Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents: 42617
diff changeset
211 /**
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
212 * PurpleRequestPage:valid:
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
213 *
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
214 * Whether all fields in a page are valid.
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
215 *
42617
c8eb73bff6e0 Remove the micro version from since tags for libpurple part 6
Gary Kramlich <grim@reaperworld.com>
parents: 42594
diff changeset
216 * Since: 3.0
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
217 */
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
218 properties[PROP_VALID] = g_param_spec_boolean(
43071
071588186662 Remove nick and blurb from libpurple properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42997
diff changeset
219 "valid", NULL, NULL,
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
220 TRUE,
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
221 G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
222
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
223 g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
224 }
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
225
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
226 /******************************************************************************
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
227 * Public API
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
228 *****************************************************************************/
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
229 PurpleRequestPage *
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
230 purple_request_page_new(void) {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
231 return g_object_new(PURPLE_TYPE_REQUEST_PAGE, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
232 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
233
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
234 void
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
235 purple_request_page_add_group(PurpleRequestPage *page,
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
236 PurpleRequestGroup *group)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
237 {
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
238 guint position;
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
239 GListModel *model = NULL;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
240
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
241 g_return_if_fail(PURPLE_IS_REQUEST_PAGE(page));
42127
18acb99a0fa6 Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42124
diff changeset
242 g_return_if_fail(PURPLE_IS_REQUEST_GROUP(group));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
243
42170
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
244 position = page->groups->len;
c9968cbf01d5 Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42169
diff changeset
245 g_ptr_array_add(page->groups, group);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
246
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
247 purple_request_page_notify_group_cb(G_OBJECT(group), NULL, page);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
248 g_signal_connect(group, "notify::valid",
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
249 G_CALLBACK(purple_request_page_notify_group_cb), page);
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
250
42158
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
251 model = G_LIST_MODEL(group);
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
252 purple_request_page_items_changed_cb(model, 0, 0,
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
253 g_list_model_get_n_items(model),
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
254 page);
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
255 g_signal_connect(group, "items-changed",
4a65f0fbc3dc Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42154
diff changeset
256 G_CALLBACK(purple_request_page_items_changed_cb), page);
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
257
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
258 g_list_model_items_changed(G_LIST_MODEL(page), position, 0, 1);
43128
1ce3ad90614c Make sure we notify on the n-items property for all objects that have it
Gary Kramlich <grim@reaperworld.com>
parents: 43071
diff changeset
259 g_object_notify_by_pspec(G_OBJECT(page), properties[PROP_N_ITEMS]);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
260 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
261
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
262 gboolean
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
263 purple_request_page_exists(PurpleRequestPage *page, const char *id) {
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
264 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), FALSE);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
265 g_return_val_if_fail(id != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
266
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
267 return (g_hash_table_lookup(page->fields, id) != NULL);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
268 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
269
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
270 gboolean
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
271 purple_request_page_is_field_required(PurpleRequestPage *page, const char *id)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
272 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
273 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
274
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
275 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), FALSE);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
276 g_return_val_if_fail(id != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
277
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
278 if((field = purple_request_page_get_field(page, id)) == NULL) {
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
279 return FALSE;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
280 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
281
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
282 return purple_request_field_is_required(field);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
283 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
284
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
285 gboolean
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
286 purple_request_page_is_valid(PurpleRequestPage *page) {
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
287 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), FALSE);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
288
42152
2bcdf415a79d Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42145
diff changeset
289 return g_hash_table_size(page->invalid_groups) == 0;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
290 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
291
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
292 PurpleRequestField *
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
293 purple_request_page_get_field(PurpleRequestPage *page, const char *id) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
294 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
295
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
296 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
297 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
298
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
299 field = g_hash_table_lookup(page->fields, id);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
300
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42122
diff changeset
301 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
302
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
303 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
304 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
305
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
306 const char *
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
307 purple_request_page_get_string(PurpleRequestPage *page, const char *id) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
308 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
309
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
310 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
311 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
312
42135
1a89a067a0d5 Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42134
diff changeset
313 field = purple_request_page_get_field(page, id);
1a89a067a0d5 Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42134
diff changeset
314 if(!PURPLE_IS_REQUEST_FIELD_STRING(field)) {
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
315 return NULL;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
316 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
317
42135
1a89a067a0d5 Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42134
diff changeset
318 return purple_request_field_string_get_value(PURPLE_REQUEST_FIELD_STRING(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
319 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
320
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
321 int
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
322 purple_request_page_get_integer(PurpleRequestPage *page, const char *id) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
323 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
324
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
325 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), 0);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
326 g_return_val_if_fail(id != NULL, 0);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
327
42137
59ceb87dc43c Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
328 field = purple_request_page_get_field(page, id);
59ceb87dc43c Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
329 if(!PURPLE_IS_REQUEST_FIELD_INT(field)) {
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
330 return 0;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
331 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
332
42137
59ceb87dc43c Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
333 return purple_request_field_int_get_value(PURPLE_REQUEST_FIELD_INT(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
334 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
335
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
336 gboolean
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
337 purple_request_page_get_bool(PurpleRequestPage *page, const char *id) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
338 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
339
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
340 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), FALSE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
341 g_return_val_if_fail(id != NULL, FALSE);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
342
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
343 field = purple_request_page_get_field(page, id);
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
344 if(!PURPLE_IS_REQUEST_FIELD_BOOL(field)) {
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
345 return FALSE;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
346 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
347
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
348 return purple_request_field_bool_get_value(PURPLE_REQUEST_FIELD_BOOL(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
349 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
350
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
351 gpointer
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
352 purple_request_page_get_choice(PurpleRequestPage *page, const char *id) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
353 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
354
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
355 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), NULL);
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
356 g_return_val_if_fail(id != NULL, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
357
42139
c053558f1236 Make PurpleRequestFieldChoice into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42137
diff changeset
358 field = purple_request_page_get_field(page, id);
c053558f1236 Make PurpleRequestFieldChoice into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42137
diff changeset
359 if(!PURPLE_IS_REQUEST_FIELD_CHOICE(field)) {
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
360 return NULL;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
361 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
362
42139
c053558f1236 Make PurpleRequestFieldChoice into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42137
diff changeset
363 return purple_request_field_choice_get_value(PURPLE_REQUEST_FIELD_CHOICE(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
364 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
365
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
366 PurpleAccount *
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
367 purple_request_page_get_account(PurpleRequestPage *page, const char *id) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
368 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
369
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
370 g_return_val_if_fail(PURPLE_IS_REQUEST_PAGE(page), NULL);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
371 g_return_val_if_fail(id != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
372
42134
1b5ce0f4302d Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42132
diff changeset
373 field = purple_request_page_get_field(page, id);
1b5ce0f4302d Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42132
diff changeset
374 if(!PURPLE_IS_REQUEST_FIELD_ACCOUNT(field)) {
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
375 return NULL;
42128
118067ca0367 Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42127
diff changeset
376 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
377
42134
1b5ce0f4302d Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42132
diff changeset
378 return purple_request_field_account_get_value(PURPLE_REQUEST_FIELD_ACCOUNT(field));
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
379 }

mercurial