Fri, 04 Oct 2024 00:48:33 -0500
Split purpleprivate.h up into individual files
purpleprivate.h got over used and was poorly maintained previously. By breaking
it up to separate files they will be easier to maintain and should be less
likely to be included when they're not necessary.
Testing Done:
Called in the turtles and ran in a devenv.
Reviewed at https://reviews.imfreedom.org/r/3562/
|
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 | 4 | * |
| 15884 | 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 | 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 | 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 | 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 | 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 | 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( |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
195 | "item-type", "item-type", |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
196 | "The type of the contained items.", |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
197 | G_TYPE_OBJECT, |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
198 | 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
|
199 | |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
200 | /** |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
201 | * PurpleRequestPage:n-items: |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
202 | * |
|
42984
818220289e67
Update the gi-docgen subproject and fix some new issues it found
Gary Kramlich <grim@reaperworld.com>
parents:
42667
diff
changeset
|
203 | * 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
|
204 | * |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
205 | * Since: 3.0 |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
206 | */ |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
207 | properties[PROP_N_ITEMS] = g_param_spec_uint( |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
208 | "n-items", "n-items", |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
209 | "The number of contained items.", |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
210 | 0, G_MAXUINT, 0, |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
211 | 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
|
212 | |
|
cf3379295bb5
Add item-type and n-items properties to PurpleRequestPage
Gary Kramlich <grim@reaperworld.com>
parents:
42617
diff
changeset
|
213 | /** |
|
42152
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
214 | * PurpleRequestPage:valid: |
|
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
215 | * |
|
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
216 | * 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
|
217 | * |
|
42617
c8eb73bff6e0
Remove the micro version from since tags for libpurple part 6
Gary Kramlich <grim@reaperworld.com>
parents:
42594
diff
changeset
|
218 | * Since: 3.0 |
|
42152
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
219 | */ |
|
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
220 | properties[PROP_VALID] = g_param_spec_boolean( |
|
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
221 | "valid", "valid", |
|
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
222 | "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
|
223 | TRUE, |
|
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
224 | 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
|
225 | |
|
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
226 | 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
|
227 | } |
|
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 | /****************************************************************************** |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
230 | * Public API |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
231 | *****************************************************************************/ |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
232 | PurpleRequestPage * |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
233 | purple_request_page_new(void) { |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
234 | return g_object_new(PURPLE_TYPE_REQUEST_PAGE, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
235 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
236 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
237 | void |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
238 | 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
|
239 | PurpleRequestGroup *group) |
|
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 | guint position; |
|
42158
4a65f0fbc3dc
Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42154
diff
changeset
|
242 | GListModel *model = NULL; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
243 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
244 | 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
|
245 | g_return_if_fail(PURPLE_IS_REQUEST_GROUP(group)); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
246 | |
|
42170
c9968cbf01d5
Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42169
diff
changeset
|
247 | position = page->groups->len; |
|
c9968cbf01d5
Use GPtrArray internally to PurpleRequest{Group,Page}
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42169
diff
changeset
|
248 | g_ptr_array_add(page->groups, group); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
249 | |
|
42152
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
250 | 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
|
251 | 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
|
252 | 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
|
253 | |
|
42158
4a65f0fbc3dc
Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42154
diff
changeset
|
254 | 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
|
255 | 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
|
256 | 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
|
257 | page); |
|
4a65f0fbc3dc
Use GListModel API for request fields in libpurple
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42154
diff
changeset
|
258 | 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
|
259 | 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
|
260 | |
|
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
261 | g_list_model_items_changed(G_LIST_MODEL(page), position, 0, 1); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
262 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
263 | |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
264 | gboolean |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
265 | 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
|
266 | 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
|
267 | g_return_val_if_fail(id != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
268 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
269 | return (g_hash_table_lookup(page->fields, id) != NULL); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
270 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
271 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
272 | gboolean |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
273 | 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
|
274 | { |
| 15884 | 275 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
276 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
277 | 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
|
278 | g_return_val_if_fail(id != NULL, FALSE); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
279 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
280 | if((field = purple_request_page_get_field(page, id)) == NULL) { |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
281 | return FALSE; |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
282 | } |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
283 | |
| 15884 | 284 | return purple_request_field_is_required(field); |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
285 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
286 | |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
287 | gboolean |
|
42152
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
288 | 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
|
289 | 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
|
290 | |
|
42152
2bcdf415a79d
Add PurpleRequest{Group,Page}:valid properties
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42145
diff
changeset
|
291 | return g_hash_table_size(page->invalid_groups) == 0; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
292 | } |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
293 | |
| 15884 | 294 | PurpleRequestField * |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
295 | purple_request_page_get_field(PurpleRequestPage *page, const char *id) { |
| 15884 | 296 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
297 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
298 | 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
|
299 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
300 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
301 | field = g_hash_table_lookup(page->fields, id); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
302 | |
|
42124
472dc8caeda3
Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42122
diff
changeset
|
303 | 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
|
304 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
305 | return field; |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
306 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
307 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
308 | const char * |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
309 | purple_request_page_get_string(PurpleRequestPage *page, const char *id) { |
| 15884 | 310 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
311 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
312 | 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
|
313 | g_return_val_if_fail(id != NULL, NULL); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
314 | |
|
42135
1a89a067a0d5
Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42134
diff
changeset
|
315 | 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
|
316 | if(!PURPLE_IS_REQUEST_FIELD_STRING(field)) { |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
317 | return NULL; |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
318 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
319 | |
|
42135
1a89a067a0d5
Add a PurpleRequestFieldString subclass
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42134
diff
changeset
|
320 | 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
|
321 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
322 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
323 | int |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
324 | purple_request_page_get_integer(PurpleRequestPage *page, const char *id) { |
| 15884 | 325 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
326 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
327 | 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
|
328 | g_return_val_if_fail(id != NULL, 0); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
329 | |
|
42137
59ceb87dc43c
Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42136
diff
changeset
|
330 | 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
|
331 | if(!PURPLE_IS_REQUEST_FIELD_INT(field)) { |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
332 | return 0; |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
333 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
334 | |
|
42137
59ceb87dc43c
Make PurpleRequestFieldInt into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42136
diff
changeset
|
335 | 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
|
336 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
337 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
338 | gboolean |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
339 | purple_request_page_get_bool(PurpleRequestPage *page, const char *id) { |
| 15884 | 340 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
341 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
342 | 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
|
343 | g_return_val_if_fail(id != NULL, FALSE); |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
344 | |
|
42136
cfa707dcda7d
Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42135
diff
changeset
|
345 | 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
|
346 | if(!PURPLE_IS_REQUEST_FIELD_BOOL(field)) { |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
347 | return FALSE; |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
348 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
349 | |
|
42136
cfa707dcda7d
Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42135
diff
changeset
|
350 | 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
|
351 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
352 | |
|
34338
c652670afac5
Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34336
diff
changeset
|
353 | gpointer |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
354 | purple_request_page_get_choice(PurpleRequestPage *page, const char *id) { |
| 15884 | 355 | PurpleRequestField *field; |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
356 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
357 | 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
|
358 | g_return_val_if_fail(id != NULL, NULL); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
359 | |
|
42139
c053558f1236
Make PurpleRequestFieldChoice into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
360 | 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
|
361 | 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
|
362 | return NULL; |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
363 | } |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
364 | |
|
42139
c053558f1236
Make PurpleRequestFieldChoice into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42137
diff
changeset
|
365 | 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
|
366 | } |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5496
diff
changeset
|
367 | |
| 15884 | 368 | PurpleAccount * |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
369 | purple_request_page_get_account(PurpleRequestPage *page, const char *id) { |
| 15884 | 370 | PurpleRequestField *field; |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
371 | |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
372 | 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
|
373 | g_return_val_if_fail(id != NULL, NULL); |
|
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
374 | |
|
42134
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42132
diff
changeset
|
375 | 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
|
376 | if(!PURPLE_IS_REQUEST_FIELD_ACCOUNT(field)) { |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
377 | return NULL; |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
378 | } |
|
8286
7a4c038d1ecd
[gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents:
8285
diff
changeset
|
379 | |
|
42134
1b5ce0f4302d
Make PurpleRequestFieldAccount into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42132
diff
changeset
|
380 | 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
|
381 | } |