Mon, 12 May 2025 20:25:16 -0500
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 | 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( |
|
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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | } |