libpurple/purplerequestfield.c

Mon, 06 Mar 2023 21:23:17 -0600

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Mon, 06 Mar 2023 21:23:17 -0600
changeset 42125
fe51d95f3c12
parent 42124
472dc8caeda3
child 42127
18acb99a0fa6
permissions
-rw-r--r--

Replace PurpleRequestField UI data with GObject data

Testing Done:
Compiled and opened Request Fields from Demo protocol.

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

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
1 /* purple
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
5 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6325
diff changeset
6 *
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * (at your option) any later version.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * GNU General Public License for more details.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19585
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 */
24900
a19d983918c2 Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents: 24899
diff changeset
21
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
22 #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
23
40756
3a58ef28ee44 Implement mitigation for GHSL-2021-045
Gary Kramlich <grim@reaperworld.com>
parents: 40564
diff changeset
24 #include "glibcompat.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 #include "request.h"
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
26 #include "debug.h"
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
27 #include "purpleaccountmanager.h"
40350
72271baf92bc Split PurpleKeyValuePair out to it's own file and try to do some cleanup in the files that need to include it.
Gary Kramlich <grim@reaperworld.com>
parents: 40329
diff changeset
28 #include "purplekeyvaluepair.h"
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
29 #include "purpleprivate.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
31 typedef struct {
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
32 PurpleRequestFieldType type;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
33 PurpleRequestFieldGroup *group;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
34
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
35 char *id;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
36 char *label;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
37 char *type_hint;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
38
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
39 gboolean visible;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
40 gboolean required;
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
41 gboolean sensitive;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
42
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
43 union {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
44 struct {
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
45 gboolean multiline;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
46 gboolean masked;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
47 char *default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
48 char *value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
49 } string;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
50
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
51 struct {
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
52 int default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
53 int value;
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
54 int lower_bound;
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
55 int upper_bound;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
56 } integer;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
57
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
58 struct {
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
59 gboolean default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
60 gboolean value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
61 } boolean;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
62
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
63 struct {
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
64 gpointer default_value;
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
65 gpointer value;
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
66
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
67 GList *elements;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
68 } choice;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
69
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
70 struct {
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
71 GList *items;
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
72 gboolean has_icons;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
73 GHashTable *item_data;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
74 GList *selected;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
75 GHashTable *selected_table;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
76
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
77 gboolean multiple_selection;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
78 } list;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
79
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
80 struct {
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
81 PurpleAccount *default_account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
82 PurpleAccount *account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
83 gboolean show_all;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
84
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
85 PurpleFilterAccountFunc filter_func;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
86 } account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
87
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
88 struct {
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
89 unsigned int scale_x;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
90 unsigned int scale_y;
42105
e431d160e3a1 Fix leaks in requests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42005
diff changeset
91 char *buffer;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
92 gsize size;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
93 } image;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
94
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
95 struct {
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
96 PurpleRequestDatasheet *sheet;
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
97 } datasheet;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
98 } u;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
99
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
100 void *ui_data;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
101 char *tooltip;
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
102
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
103 PurpleRequestFieldValidator validator;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
104 void *validator_data;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
105 } PurpleRequestFieldPrivate;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
106
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
107 enum {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
108 PROP_0,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
109 PROP_ID,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
110 PROP_LABEL,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
111 PROP_VISIBLE,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
112 PROP_SENSITIVE,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
113 PROP_TYPE_HINT,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
114 PROP_TOOLTIP,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
115 PROP_REQUIRED,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
116 PROP_IS_VALIDATABLE,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
117 N_PROPERTIES,
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
118 };
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
119 static GParamSpec *properties[N_PROPERTIES] = {NULL, };
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
120
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
121 G_DEFINE_TYPE_WITH_PRIVATE(PurpleRequestField, purple_request_field, G_TYPE_OBJECT)
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
122
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
123 /******************************************************************************
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
124 * Helpers
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
125 *****************************************************************************/
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
126 static void
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
127 purple_request_field_set_id(PurpleRequestField *field, const char *id) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
128 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
129
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
130 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
131
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
132 g_free(priv->id);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
133 priv->id = g_strdup(id);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
134
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
135 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_ID]);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
136 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
137
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
138 static void
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
139 purple_request_field_set_field_type(PurpleRequestField *field,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
140 PurpleRequestFieldType type)
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
141 {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
142 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
143
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
144 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
145
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
146 priv->type = type;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
147 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
148
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
149 /******************************************************************************
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
150 * GObject Implementation
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
151 *****************************************************************************/
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
152 static void
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
153 purple_request_field_get_property(GObject *obj, guint param_id, GValue *value,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
154 GParamSpec *pspec)
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
155 {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
156 PurpleRequestField *field = PURPLE_REQUEST_FIELD(obj);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
157
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
158 switch(param_id) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
159 case PROP_ID:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
160 g_value_set_string(value, purple_request_field_get_id(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
161 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
162 case PROP_LABEL:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
163 g_value_set_string(value, purple_request_field_get_label(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
164 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
165 case PROP_VISIBLE:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
166 g_value_set_boolean(value, purple_request_field_is_visible(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
167 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
168 case PROP_SENSITIVE:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
169 g_value_set_boolean(value,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
170 purple_request_field_is_sensitive(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
171 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
172 case PROP_TYPE_HINT:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
173 g_value_set_string(value,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
174 purple_request_field_get_type_hint(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
175 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
176 case PROP_TOOLTIP:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
177 g_value_set_string(value, purple_request_field_get_tooltip(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
178 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
179 case PROP_REQUIRED:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
180 g_value_set_boolean(value,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
181 purple_request_field_is_required(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
182 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
183 case PROP_IS_VALIDATABLE:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
184 g_value_set_boolean(value,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
185 purple_request_field_is_validatable(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
186 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
187 default:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
188 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
189 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
190 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
191 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
192
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
193 static void
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
194 purple_request_field_set_property(GObject *obj, guint param_id,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
195 const GValue *value, GParamSpec *pspec)
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
196 {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
197 PurpleRequestField *field = PURPLE_REQUEST_FIELD(obj);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
198
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
199 switch(param_id) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
200 case PROP_ID:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
201 purple_request_field_set_id(field, g_value_get_string(value));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
202 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
203 case PROP_LABEL:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
204 purple_request_field_set_label(field, g_value_get_string(value));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
205 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
206 case PROP_VISIBLE:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
207 purple_request_field_set_visible(field,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
208 g_value_get_boolean(value));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
209 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
210 case PROP_SENSITIVE:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
211 purple_request_field_set_sensitive(field,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
212 g_value_get_boolean(value));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
213 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
214 case PROP_TYPE_HINT:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
215 purple_request_field_set_type_hint(field,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
216 g_value_get_string(value));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
217 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
218 case PROP_TOOLTIP:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
219 purple_request_field_set_tooltip(field, g_value_get_string(value));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
220 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
221 case PROP_REQUIRED:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
222 purple_request_field_set_required(field,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
223 g_value_get_boolean(value));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
224 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
225 default:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
226 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
227 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
228 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
229 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
230
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
231 static void
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
232 purple_request_field_finalize(GObject *obj) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
233 PurpleRequestField *field = PURPLE_REQUEST_FIELD(obj);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
234 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
235
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
236 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
237
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
238 g_free(priv->id);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
239 g_free(priv->label);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
240 g_free(priv->type_hint);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
241 g_free(priv->tooltip);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
242
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
243 if(priv->type == PURPLE_REQUEST_FIELD_STRING) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
244 g_free(priv->u.string.default_value);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
245 g_free(priv->u.string.value);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
246 } else if(priv->type == PURPLE_REQUEST_FIELD_CHOICE) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
247 g_list_free_full(priv->u.choice.elements,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
248 (GDestroyNotify)purple_key_value_pair_free);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
249 } else if(priv->type == PURPLE_REQUEST_FIELD_LIST) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
250 g_list_free_full(priv->u.list.items,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
251 (GDestroyNotify)purple_key_value_pair_free);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
252 g_list_free_full(priv->u.list.selected, g_free);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
253 g_hash_table_destroy(priv->u.list.item_data);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
254 g_hash_table_destroy(priv->u.list.selected_table);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
255 } else if(priv->type == PURPLE_REQUEST_FIELD_DATASHEET) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
256 purple_request_datasheet_free(priv->u.datasheet.sheet);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
257 } else if(priv->type == PURPLE_REQUEST_FIELD_IMAGE) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
258 g_free(priv->u.image.buffer);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
259 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
260
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
261 G_OBJECT_CLASS(purple_request_field_parent_class)->finalize(obj);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
262 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
263
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
264 static void
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
265 purple_request_field_init(PurpleRequestField *field) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
266 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
267
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
268 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
269
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
270 priv->visible = TRUE;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
271 priv->sensitive = TRUE;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
272 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
273
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
274 static void
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
275 purple_request_field_class_init(PurpleRequestFieldClass *klass) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
276 GObjectClass *obj_class = G_OBJECT_CLASS(klass);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
277
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
278 obj_class->finalize = purple_request_field_finalize;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
279 obj_class->get_property = purple_request_field_get_property;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
280 obj_class->set_property = purple_request_field_set_property;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
281
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
282 /**
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
283 * PurpleRequestField:id:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
284 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
285 * The ID of the field.
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
286 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
287 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
288 */
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
289 properties[PROP_ID] = g_param_spec_string(
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
290 "id", "id",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
291 "The ID of the field.",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
292 NULL,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
293 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
294
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
295 /**
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
296 * PurpleRequestField:label:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
297 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
298 * The label of the field.
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
299 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
300 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
301 */
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
302 properties[PROP_LABEL] = g_param_spec_string(
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
303 "label", "label",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
304 "The label of the field.",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
305 NULL,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
306 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
307
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
308 /**
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
309 * PurpleRequestField:visible:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
310 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
311 * Whether the field should be visible.
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
312 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
313 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
314 */
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
315 properties[PROP_VISIBLE] = g_param_spec_boolean(
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
316 "visible", "visible",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
317 "Whether the field should be visible.",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
318 TRUE,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
319 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
320
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
321 /**
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
322 * PurpleRequestField:sensitive:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
323 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
324 * Whether the field should be sensitive.
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
325 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
326 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
327 */
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
328 properties[PROP_SENSITIVE] = g_param_spec_boolean(
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
329 "sensitive", "sensitive",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
330 "Whether the field should be sensitive.",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
331 TRUE,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
332 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
333
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
334 /**
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
335 * PurpleRequestField:type-hint:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
336 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
337 * The type hint of the field.
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
338 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
339 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
340 */
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
341 properties[PROP_TYPE_HINT] = g_param_spec_string(
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
342 "type-hint", "type-hint",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
343 "The type hint of the field.",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
344 NULL,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
345 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
346
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
347 /**
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
348 * PurpleRequestField:tooltip:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
349 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
350 * The tooltip of the field.
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
351 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
352 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
353 */
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
354 properties[PROP_TOOLTIP] = g_param_spec_string(
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
355 "tooltip", "tooltip",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
356 "The tooltip of the field.",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
357 NULL,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
358 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
359
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
360 /**
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
361 * PurpleRequestField:required:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
362 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
363 * Whether the field is required to complete the request.
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
364 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
365 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
366 */
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
367 properties[PROP_REQUIRED] = g_param_spec_boolean(
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
368 "required", "required",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
369 "Whether the field is required to complete the request.",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
370 FALSE,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
371 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
372
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
373 /**
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
374 * PurpleRequestField:is-validatable:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
375 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
376 * Whether the field can be validated by the requestor.
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
377 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
378 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
379 */
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
380 properties[PROP_IS_VALIDATABLE] = g_param_spec_boolean(
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
381 "is-validatable", "is-validatable",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
382 "Whether the field can be validated by the requestor.",
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
383 FALSE,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
384 G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
385
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
386 g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
387 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
388
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
389 /******************************************************************************
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
390 * Public API
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
391 *****************************************************************************/
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
392 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
393 purple_request_field_new(const char *id, const char *text,
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
394 PurpleRequestFieldType type)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
395 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
396 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
397
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
398 g_return_val_if_fail(id != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
399 g_return_val_if_fail(type != PURPLE_REQUEST_FIELD_NONE, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
400
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
401 field = g_object_new(PURPLE_TYPE_REQUEST_FIELD,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
402 "id", id,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
403 "label", text,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
404 NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
405 purple_request_field_set_field_type(field, type);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
406
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
407 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
408 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
409
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
410 void
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
411 _purple_request_field_set_group(PurpleRequestField *field,
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
412 PurpleRequestFieldGroup *group)
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
413 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
414 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
415
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
416 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
417
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
418 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
419
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
420 priv->group = group;
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
421 }
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
422
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
423 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
424 purple_request_field_set_label(PurpleRequestField *field, const char *label)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
425 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
426 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
427
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
428 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
429
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
430 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
431
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
432 g_free(priv->label);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
433 priv->label = g_strdup(label);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
434
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
435 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_LABEL]);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
436 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
437
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
438 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
439 purple_request_field_set_visible(PurpleRequestField *field, gboolean visible)
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
440 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
441 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
442
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
443 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
444
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
445 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
446
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
447 priv->visible = visible;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
448
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
449 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_VISIBLE]);
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
450 }
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
451
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
452 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
453 purple_request_field_set_type_hint(PurpleRequestField *field,
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
454 const char *type_hint)
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
455 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
456 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
457
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
458 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
459
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
460 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
461
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
462 g_free(priv->type_hint);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
463 priv->type_hint = g_strdup(type_hint);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
464
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
465 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_TYPE_HINT]);
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
466 }
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
467
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
468 void
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
469 purple_request_field_set_tooltip(PurpleRequestField *field, const char *tooltip)
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
470 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
471 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
472
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
473 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
474
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
475 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
476
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
477 g_free(priv->tooltip);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
478 priv->tooltip = g_strdup(tooltip);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
479
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
480 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_TOOLTIP]);
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
481 }
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
482
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
483 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
484 purple_request_field_set_required(PurpleRequestField *field, gboolean required)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
485 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
486 PurpleRequestFieldPrivate *priv = NULL;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
487
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
488 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
489
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
490 priv = purple_request_field_get_instance_private(field);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
491
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
492 if(priv->required == required) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
493 return;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
494 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
495
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
496 priv->required = required;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
497
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
498 if(priv->group != NULL) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
499 _purple_request_field_group_set_field_required(priv->group, field,
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
500 required);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
501 }
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
502
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
503 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_REQUIRED]);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
504 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
505
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
506 PurpleRequestFieldType
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
507 purple_request_field_get_field_type(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
508 PurpleRequestFieldPrivate *priv = NULL;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
509
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
510 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field),
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
511 PURPLE_REQUEST_FIELD_NONE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
512
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
513 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
514
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
515 return priv->type;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
516 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
517
24984
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
518 PurpleRequestFieldGroup *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
519 purple_request_field_get_group(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
520 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
521
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
522 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
24984
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
523
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
524 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
525
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
526 return priv->group;
24984
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
527 }
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
528
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
529 const char *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
530 purple_request_field_get_id(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
531 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
532
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
533 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
534
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
535 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
536
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
537 return priv->id;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
538 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
539
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
540 const char *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
541 purple_request_field_get_label(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
542 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
543
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
544 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
545
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
546 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
547
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
548 return priv->label;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
549 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
550
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
551 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
552 purple_request_field_is_visible(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
553 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
554
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
555 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
556
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
557 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
558
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
559 return priv->visible;
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
560 }
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
561
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
562 const char *
42123
78bae9d1b69b Fix typo in request field getter
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42121
diff changeset
563 purple_request_field_get_type_hint(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
564 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
565
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
566 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
567
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
568 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
569
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
570 return priv->type_hint;
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
571 }
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
572
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
573 const char *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
574 purple_request_field_get_tooltip(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
575 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
576
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
577 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
578
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
579 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
580
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
581 return priv->tooltip;
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
582 }
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
583
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
584 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
585 purple_request_field_is_required(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
586 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
587
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
588 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
589
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
590 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
591
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
592 return priv->required;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
593 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
594
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
595 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
596 purple_request_field_is_filled(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
597 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
598
35378
5d9e2581005b gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents: 35190
diff changeset
599 switch (purple_request_field_get_field_type(field))
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
600 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
601 case PURPLE_REQUEST_FIELD_STRING:
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
602 return (purple_request_field_string_get_value(field) != NULL &&
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
603 *(purple_request_field_string_get_value(field)) != '\0');
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
604 default:
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
605 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
606 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
607 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
608
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
609 void
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
610 purple_request_field_set_validator(PurpleRequestField *field,
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
611 PurpleRequestFieldValidator validator, void *user_data)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
612 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
613 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
614
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
615 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
616
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
617 priv = purple_request_field_get_instance_private(field);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
618
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
619 priv->validator = validator;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
620 priv->validator_data = validator ? user_data : NULL;
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
621
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
622 if(priv->group != NULL) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
623 _purple_request_field_group_set_field_validator(priv->group, field,
42117
8a001a903e90 Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42116
diff changeset
624 validator != NULL);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
625 }
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
626
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
627 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_IS_VALIDATABLE]);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
628 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
629
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
630 gboolean
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
631 purple_request_field_is_validatable(PurpleRequestField *field)
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
632 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
633 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
634
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
635 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
636
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
637 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
638
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
639 return priv->validator != NULL;
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
640 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
641
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
642 gboolean
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
643 purple_request_field_is_valid(PurpleRequestField *field, gchar **errmsg)
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
644 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
645 PurpleRequestFieldPrivate *priv = NULL;
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
646 gboolean valid;
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
647
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
648 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
649
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
650 priv = purple_request_field_get_instance_private(field);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
651
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
652 if(!priv->validator) {
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
653 return TRUE;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
654 }
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
655
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
656 if (!purple_request_field_is_required(field) &&
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
657 !purple_request_field_is_filled(field))
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
658 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
659
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
660 valid = priv->validator(field, errmsg, priv->validator_data);
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
661
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
662 if (valid && errmsg)
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
663 *errmsg = NULL;
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
664
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
665 return valid;
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
666 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
667
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
668 void
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
669 purple_request_field_set_sensitive(PurpleRequestField *field,
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
670 gboolean sensitive)
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
671 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
672 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
673
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
674 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
675
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
676 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
677
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
678 priv->sensitive = sensitive;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
679
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
680 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_SENSITIVE]);
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
681 }
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
682
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
683 gboolean
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
684 purple_request_field_is_sensitive(PurpleRequestField *field)
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
685 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
686 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
687
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
688 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
689
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
690 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
691
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
692 return priv->sensitive;
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
693 }
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
694
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
695 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
696 purple_request_field_string_new(const char *id, const char *text,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
697 const char *default_value, gboolean multiline)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
698 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
699 PurpleRequestField *field;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
700 PurpleRequestFieldPrivate *priv = NULL;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
701
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
702 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
703 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
704
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
705 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_STRING);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
706 priv = purple_request_field_get_instance_private(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
707
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
708 priv->u.string.multiline = multiline;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
709
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
710 purple_request_field_string_set_default_value(field, default_value);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
711 purple_request_field_string_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
712
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
713 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
714 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
715
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
716 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
717 purple_request_field_string_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
718 const char *default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
719 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
720 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
721
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
722 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
723
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
724 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
725 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
726
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
727 g_free(priv->u.string.default_value);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
728 priv->u.string.default_value = g_strdup(default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
729 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
730
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
731 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
732 purple_request_field_string_set_value(PurpleRequestField *field, const char *value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
733 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
734 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
735
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
736 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
737
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
738 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
739 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
740
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
741 g_free(priv->u.string.value);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
742 priv->u.string.value = g_strdup(value);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
743 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
744
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
745 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
746 purple_request_field_string_set_masked(PurpleRequestField *field, gboolean masked)
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
747 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
748 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
749
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
750 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
751
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
752 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
753 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
754
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
755 priv->u.string.masked = masked;
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
756 }
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
757
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
758 const char *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
759 purple_request_field_string_get_default_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
760 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
761
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
762 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
763
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
764 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
765 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
766
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
767 return priv->u.string.default_value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
768 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
769
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
770 const char *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
771 purple_request_field_string_get_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
772 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
773
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
774 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
775
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
776 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
777 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
778
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
779 return priv->u.string.value;
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
780 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
781
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
782 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
783 purple_request_field_string_is_multiline(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
784 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
785
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
786 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
787
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
788 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
789 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
790
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
791 return priv->u.string.multiline;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
792 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
793
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
794 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
795 purple_request_field_string_is_masked(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
796 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
797
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
798 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
799
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
800 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
801 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
802
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
803 return priv->u.string.masked;
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
804 }
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
805
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
806 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
807 purple_request_field_int_new(const char *id, const char *text,
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
808 int default_value, int lower_bound, int upper_bound)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
809 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
810 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
811
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
812 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
813 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
814
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
815 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_INTEGER);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
816
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
817 purple_request_field_int_set_lower_bound(field, lower_bound);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
818 purple_request_field_int_set_upper_bound(field, upper_bound);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
819 purple_request_field_int_set_default_value(field, default_value);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
820 purple_request_field_int_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
821
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
822 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
823 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
824
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
825 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
826 purple_request_field_int_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
827 int default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
828 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
829 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
830
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
831 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
832
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
833 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
834 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_INTEGER);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
835
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
836 priv->u.integer.default_value = default_value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
837 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
838
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
839 void
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
840 purple_request_field_int_set_lower_bound(PurpleRequestField *field,
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
841 int lower_bound)
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
842 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
843 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
844
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
845 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
846
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
847 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
848 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_INTEGER);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
849
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
850 priv->u.integer.lower_bound = lower_bound;
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
851 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
852
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
853 void
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
854 purple_request_field_int_set_upper_bound(PurpleRequestField *field,
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
855 int upper_bound)
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
856 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
857 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
858
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
859 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
860
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
861 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
862 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_INTEGER);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
863
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
864 priv->u.integer.upper_bound = upper_bound;
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
865 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
866
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
867 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
868 purple_request_field_int_set_value(PurpleRequestField *field, int value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
869 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
870 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
871
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
872 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
873
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
874 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
875 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_INTEGER);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
876
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
877 if(value < priv->u.integer.lower_bound ||
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
878 value > priv->u.integer.upper_bound)
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
879 {
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
880 purple_debug_error("request", "Int value out of bounds\n");
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
881 return;
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
882 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
883
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
884 priv->u.integer.value = value;
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
885 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
886
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
887 int
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
888 purple_request_field_int_get_default_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
889 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
890
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
891 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), 0);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
892
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
893 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
894 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_INTEGER, 0);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
895
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
896 return priv->u.integer.default_value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
897 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
898
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
899 int
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
900 purple_request_field_int_get_lower_bound(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
901 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
902
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
903 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), 0);
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
904
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
905 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
906 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_INTEGER, 0);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
907
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
908 return priv->u.integer.lower_bound;
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
909 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
910
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
911 int
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
912 purple_request_field_int_get_upper_bound(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
913 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
914
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
915 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), 0);
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
916
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
917 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
918 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_INTEGER, 0);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
919
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
920 return priv->u.integer.upper_bound;
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
921 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
922
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
923 int
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
924 purple_request_field_int_get_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
925 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
926
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
927 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), 0);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
928
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
929 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
930 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_INTEGER, 0);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
931
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
932 return priv->u.integer.value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
933 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
934
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
935 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
936 purple_request_field_bool_new(const char *id, const char *text,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
937 gboolean default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
938 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
939 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
940
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
941 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
942 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
943
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
944 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_BOOLEAN);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
945
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
946 purple_request_field_bool_set_default_value(field, default_value);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
947 purple_request_field_bool_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
948
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
949 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
950 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
951
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
952 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
953 purple_request_field_bool_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
954 gboolean default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
955 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
956 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
957
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
958 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
959
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
960 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
961 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_BOOLEAN);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
962
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
963 priv->u.boolean.default_value = default_value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
964 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
965
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
966 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
967 purple_request_field_bool_set_value(PurpleRequestField *field, gboolean value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
968 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
969 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
970
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
971 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
972
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
973 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
974 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_BOOLEAN);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
975
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
976 priv->u.boolean.value = value;
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
977 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
978
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
979 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
980 purple_request_field_bool_get_default_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
981 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
982
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
983 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
984
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
985 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
986 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_BOOLEAN, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
987
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
988 return priv->u.boolean.default_value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
989 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
990
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
991 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
992 purple_request_field_bool_get_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
993 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
994
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
995 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
996
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
997 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
998 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_BOOLEAN, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
999
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1000 return priv->u.boolean.value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1001 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1002
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1003 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1004 purple_request_field_choice_new(const char *id, const char *text,
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1005 gpointer default_value)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1006 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1007 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1008
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1009 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1010 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1011
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1012 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_CHOICE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1013
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1014 purple_request_field_choice_set_default_value(field, default_value);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1015 purple_request_field_choice_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1016
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1017 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1018 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1019
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1020 void
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1021 purple_request_field_choice_add(PurpleRequestField *field, const char *label,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1022 gpointer value)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1023 {
40817
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1024 purple_request_field_choice_add_full(field, label, value, NULL);
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1025 }
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1026
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1027 void
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1028 purple_request_field_choice_add_full(PurpleRequestField *field, const char *label,
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1029 gpointer value, GDestroyNotify destroy)
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1030 {
40329
b5e0f65a5d9c Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
1031 PurpleKeyValuePair *choice;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1032 PurpleRequestFieldPrivate *priv = NULL;
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
1033
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1034 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1035 g_return_if_fail(label != NULL);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1036
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1037 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1038 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_CHOICE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1039
40817
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1040 choice = purple_key_value_pair_new_full(label, value, destroy);
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
1041
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1042 priv->u.choice.elements = g_list_append(priv->u.choice.elements, choice);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1043 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1044
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1045 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1046 purple_request_field_choice_set_default_value(PurpleRequestField *field,
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1047 gpointer default_value)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1048 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1049 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1050
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1051 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1052
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1053 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1054 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_CHOICE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1055
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1056 priv->u.choice.default_value = default_value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1057 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1058
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1059 void
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1060 purple_request_field_choice_set_value(PurpleRequestField *field, gpointer value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1061 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1062 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1063
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1064 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1065
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1066 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1067 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_CHOICE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1068
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1069 priv->u.choice.value = value;
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1070 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1071
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1072 gpointer
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1073 purple_request_field_choice_get_default_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1074 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1075
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1076 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
1077
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1078 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1079 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_CHOICE, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1080
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1081 return priv->u.choice.default_value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1082 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1083
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1084 gpointer
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1085 purple_request_field_choice_get_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1086 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1087
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1088 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
1089
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1090 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1091 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_CHOICE, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1092
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1093 return priv->u.choice.value;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1094 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1095
5809
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1096 GList *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1097 purple_request_field_choice_get_elements(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1098 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1099
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1100 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
5809
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1101
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1102 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1103 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_CHOICE, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1104
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1105 return priv->u.choice.elements;
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1106 }
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1107
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1108 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1109 purple_request_field_list_new(const char *id, const char *text)
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1110 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1111 PurpleRequestField *field;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1112 PurpleRequestFieldPrivate *priv = NULL;
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1113
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1114 g_return_val_if_fail(id != NULL, NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1115
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1116 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_LIST);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1117 priv = purple_request_field_get_instance_private(field);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1118
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1119 priv->u.list.item_data = g_hash_table_new_full(g_str_hash, g_str_equal,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1120 g_free, NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1121
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1122 priv->u.list.selected_table = g_hash_table_new_full(g_str_hash, g_str_equal,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1123 g_free, NULL);
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1124
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1125 return field;
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1126 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1127
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1128 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1129 purple_request_field_list_set_multi_select(PurpleRequestField *field,
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1130 gboolean multi_select)
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1131 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1132 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1133
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1134 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1135
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1136 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1137 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1138
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1139 priv->u.list.multiple_selection = multi_select;
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1140 }
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1141
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1142 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1143 purple_request_field_list_get_multi_select(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1144 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1145
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1146 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1147
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1148 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1149 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1150
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1151 return priv->u.list.multiple_selection;
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1152 }
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1153
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1154 void *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1155 purple_request_field_list_get_data(PurpleRequestField *field, const char *text)
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1156 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1157 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1158
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1159 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1160 g_return_val_if_fail(text != NULL, NULL);
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1161
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1162 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1163 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1164
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1165 return g_hash_table_lookup(priv->u.list.item_data, text);
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1166 }
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1167
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1168 void
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1169 purple_request_field_list_add_icon(PurpleRequestField *field, const char *item, const char* icon_path,
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1170 void *data)
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1171 {
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1172 PurpleKeyValuePair *kvp;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1173 PurpleRequestFieldPrivate *priv = NULL;
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1174
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1175 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1176 g_return_if_fail(item != NULL);
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1177 g_return_if_fail(data != NULL);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1178
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1179 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1180 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST);
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1181
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1182 priv->u.list.has_icons = priv->u.list.has_icons || (icon_path != NULL);
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1183 kvp = purple_key_value_pair_new_full(item, g_strdup(icon_path), g_free);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1184 priv->u.list.items = g_list_append(priv->u.list.items, kvp);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1185 g_hash_table_insert(priv->u.list.item_data, g_strdup(item), data);
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1186 }
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1187
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1188 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1189 purple_request_field_list_add_selected(PurpleRequestField *field, const char *item)
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1190 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1191 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1192
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1193 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1194 g_return_if_fail(item != NULL);
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1195
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1196 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1197 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1198
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1199 if(!purple_request_field_list_get_multi_select(field) &&
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1200 priv->u.list.selected != NULL)
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1201 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1202 purple_debug_warning("request",
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1203 "More than one item added to non-multi-select "
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1204 "field %s\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1205 purple_request_field_get_id(field));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1206 return;
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1207 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1208
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1209 priv->u.list.selected = g_list_append(priv->u.list.selected,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1210 g_strdup(item));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1211
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1212 g_hash_table_add(priv->u.list.selected_table, g_strdup(item));
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1213 }
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1214
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1215 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1216 purple_request_field_list_clear_selected(PurpleRequestField *field)
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1217 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1218 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1219
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1220 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1221
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1222 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1223 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1224
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1225 if(priv->u.list.selected != NULL) {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1226 g_list_free_full(priv->u.list.selected, g_free);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1227 priv->u.list.selected = NULL;
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1228 }
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1229
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1230 g_hash_table_remove_all(priv->u.list.selected_table);
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1231 }
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1232
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1233 void
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1234 purple_request_field_list_set_selected(PurpleRequestField *field, GList *items)
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1235 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1236 PurpleRequestFieldPrivate *priv = NULL;
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1237 GList *l;
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1238
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1239 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1240 g_return_if_fail(items != NULL);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1241
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1242 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1243 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1244
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1245 purple_request_field_list_clear_selected(field);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1246
39913
ce96d4639dc7 Remove redundant conditions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39897
diff changeset
1247 if (!purple_request_field_list_get_multi_select(field) && items->next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1248 purple_debug_warning("request",
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1249 "More than one item added to non-multi-select "
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1250 "field %s\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1251 purple_request_field_get_id(field));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1252 return;
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1253 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1254
42005
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1255 for (l = items; l != NULL; l = l->next) {
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1256 char *selected = l->data;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1257 priv->u.list.selected = g_list_append(priv->u.list.selected,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1258 g_strdup(selected));
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1259 g_hash_table_add(priv->u.list.selected_table, g_strdup(selected));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1260 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1261 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1262
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1263 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1264 purple_request_field_list_is_selected(PurpleRequestField *field,
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1265 const char *item)
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1266 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1267 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1268
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1269 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1270 g_return_val_if_fail(item != NULL, FALSE);
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1271
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1272 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1273 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1274
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1275 return g_hash_table_contains(priv->u.list.selected_table, item);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1276 }
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1277
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1278 GList *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1279 purple_request_field_list_get_selected(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1280 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1281
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1282 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1283
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1284 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1285 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1286
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1287 return priv->u.list.selected;
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1288 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1289
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1290 GList *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1291 purple_request_field_list_get_items(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1292 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1293
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1294 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1295
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1296 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1297 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1298
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1299 return priv->u.list.items;
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1300 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1301
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1302 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1303 purple_request_field_list_has_icons(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1304 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1305
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1306 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1307
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1308 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1309 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_LIST, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1310
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1311 return priv->u.list.has_icons;
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1312 }
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1313
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1314 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1315 purple_request_field_label_new(const char *id, const char *text)
7905
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1316 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1317 PurpleRequestField *field;
7905
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1318
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1319 g_return_val_if_fail(id != NULL, NULL);
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1320 g_return_val_if_fail(text != NULL, NULL);
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1321
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1322 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_LABEL);
7905
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1323
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1324 return field;
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1325 }
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1326
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1327 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1328 purple_request_field_image_new(const char *id, const char *text, const char *buf, gsize size)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1329 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1330 PurpleRequestField *field;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1331
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1332 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1333
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1334 g_return_val_if_fail(id != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1335 g_return_val_if_fail(text != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1336 g_return_val_if_fail(buf != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1337 g_return_val_if_fail(size > 0, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1338
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1339 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_IMAGE);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1340 priv = purple_request_field_get_instance_private(field);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1341
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1342 priv->u.image.buffer = g_memdup2(buf, size);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1343 priv->u.image.size = size;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1344 priv->u.image.scale_x = 1;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1345 priv->u.image.scale_y = 1;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1346
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1347 return field;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1348 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1349
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1350 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1351 purple_request_field_image_set_scale(PurpleRequestField *field, unsigned int x, unsigned int y)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1352 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1353 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1354
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1355 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1356
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1357 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1358 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_IMAGE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1359
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1360 priv->u.image.scale_x = x;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1361 priv->u.image.scale_y = y;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1362 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1363
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1364 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1365 purple_request_field_image_get_buffer(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1366 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1367 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1368
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1369 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1370
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1371 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1372 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_IMAGE, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1373
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1374 return priv->u.image.buffer;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1375 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1376
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1377 gsize
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1378 purple_request_field_image_get_size(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1379 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1380 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1381
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1382 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), 0);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1383
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1384 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1385 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_IMAGE, 0);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1386
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1387 return priv->u.image.size;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1388 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1389
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1390 unsigned int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1391 purple_request_field_image_get_scale_x(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1392 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1393 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1394
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1395 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), 0);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1396
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1397 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1398 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_IMAGE, 0);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1399
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1400 return priv->u.image.scale_x;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1401 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1402
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1403 unsigned int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1404 purple_request_field_image_get_scale_y(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1405 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1406 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1407
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1408 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), 0);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1409
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1410 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1411 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_IMAGE, 0);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1412
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1413 return priv->u.image.scale_y;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1414 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1415
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1416 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1417 purple_request_field_account_new(const char *id, const char *text,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1418 PurpleAccount *account)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1419 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1420 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1421
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1422 g_return_val_if_fail(id != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1423 g_return_val_if_fail(text != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1424
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1425 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_ACCOUNT);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1426
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1427 if(account == NULL) {
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1428 PurpleAccountManager *manager = purple_account_manager_get_default();
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1429 GList *accounts = purple_account_manager_get_connected(manager);
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1430
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1431 if(accounts != NULL) {
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1432 account = accounts->data;
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1433 g_list_free(accounts);
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1434 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1435 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1436
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1437 purple_request_field_account_set_default_value(field, account);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1438 purple_request_field_account_set_value(field, account);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1439
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1440 return field;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1441 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1442
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1443 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1444 purple_request_field_account_set_default_value(PurpleRequestField *field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1445 PurpleAccount *default_value)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1446 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1447 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1448
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1449 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1450
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1451 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1452 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_ACCOUNT);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1453
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1454 priv->u.account.default_account = default_value;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1455 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1456
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1457 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1458 purple_request_field_account_set_value(PurpleRequestField *field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1459 PurpleAccount *value)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1460 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1461 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1462
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1463 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1464
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1465 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1466 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_ACCOUNT);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1467
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1468 priv->u.account.account = value;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1469 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1470
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1471 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1472 purple_request_field_account_set_show_all(PurpleRequestField *field,
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1473 gboolean show_all)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1474 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1475 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1476
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1477 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1478
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1479 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1480 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_ACCOUNT);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1481
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1482 if(priv->u.account.show_all == show_all) {
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1483 return;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1484 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1485
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1486 priv->u.account.show_all = show_all;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1487
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1488 if(!show_all) {
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1489 PurpleAccountManager *manager = purple_account_manager_get_default();
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1490 GList *accounts = purple_account_manager_get_connected(manager);
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1491
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1492 if(purple_account_is_connected(priv->u.account.default_account)) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1493 purple_request_field_account_set_default_value(field,
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1494 accounts->data);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1495 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1496
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1497 if(purple_account_is_connected(priv->u.account.account)) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1498 purple_request_field_account_set_value(field,
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1499 accounts->data);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1500 }
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1501
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1502 g_list_free(accounts);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1503 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1504 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1505
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1506 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1507 purple_request_field_account_set_filter(PurpleRequestField *field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1508 PurpleFilterAccountFunc filter_func)
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1509 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1510 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1511
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1512 g_return_if_fail(PURPLE_IS_REQUEST_FIELD(field));
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1513
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1514 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1515 g_return_if_fail(priv->type == PURPLE_REQUEST_FIELD_ACCOUNT);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1516
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1517 priv->u.account.filter_func = filter_func;
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1518 }
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1519
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1520 PurpleAccount *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1521 purple_request_field_account_get_default_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1522 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1523
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1524 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1525
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1526 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1527 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_ACCOUNT, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1528
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1529 return priv->u.account.default_account;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1530 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1531
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1532 PurpleAccount *
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1533 purple_request_field_account_get_value(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1534 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1535
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1536 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1537
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1538 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1539 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_ACCOUNT, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1540
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1541 return priv->u.account.account;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1542 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1543
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1544 gboolean
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1545 purple_request_field_account_get_show_all(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1546 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1547
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1548 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1549
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1550 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1551 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_ACCOUNT, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1552
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1553 return priv->u.account.show_all;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1554 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1555
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1556 PurpleFilterAccountFunc
42121
b6e38c635deb De-constify PurpleRequestField
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42117
diff changeset
1557 purple_request_field_account_get_filter(PurpleRequestField *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1558 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1559
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1560 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1561
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1562 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1563 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_ACCOUNT, FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1564
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1565 return priv->u.account.filter_func;
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1566 }
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1567
32886
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1568 PurpleRequestField *
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1569 purple_request_field_datasheet_new(const char *id,
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1570 const gchar *text, PurpleRequestDatasheet *sheet)
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1571 {
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1572 PurpleRequestField *field;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1573 PurpleRequestFieldPrivate *priv = NULL;
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1574
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1575 g_return_val_if_fail(id != NULL, NULL);
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1576 g_return_val_if_fail(sheet != NULL, NULL);
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1577
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1578 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_DATASHEET);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1579 priv = purple_request_field_get_instance_private(field);
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1580
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1581 priv->u.datasheet.sheet = sheet;
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1582
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1583 return field;
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1584 }
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1585
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1586 PurpleRequestDatasheet *
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1587 purple_request_field_datasheet_get_sheet(PurpleRequestField *field)
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1588 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1589 PurpleRequestFieldPrivate *priv = NULL;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1590
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1591 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), NULL);
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1592
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1593 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1594 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_DATASHEET, NULL);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1595
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1596 return priv->u.datasheet.sheet;
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1597 }
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1598
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1599 /* -- */
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1600
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1601 gboolean
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1602 purple_request_field_email_validator(PurpleRequestField *field, gchar **errmsg,
41960
c8a4853205e3 Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41890
diff changeset
1603 G_GNUC_UNUSED gpointer user_data)
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1604 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1605 PurpleRequestFieldPrivate *priv = NULL;
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1606 const char *value;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1607
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1608 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1609
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1610 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1611 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1612
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1613 value = purple_request_field_string_get_value(field);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1614
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1615 if (value != NULL && purple_email_is_valid(value))
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1616 return TRUE;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1617
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1618 if (errmsg)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1619 *errmsg = g_strdup(_("Invalid email address"));
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1620 return FALSE;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1621 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1622
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1623 gboolean
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1624 purple_request_field_alphanumeric_validator(PurpleRequestField *field,
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1625 gchar **errmsg, void *allowed_characters)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1626 {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1627 PurpleRequestFieldPrivate *priv = NULL;
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1628 const char *value;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1629 gchar invalid_char = '\0';
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1630
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1631 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD(field), FALSE);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1632
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1633 priv = purple_request_field_get_instance_private(field);
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
1634 g_return_val_if_fail(priv->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1635
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1636 value = purple_request_field_string_get_value(field);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1637
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1638 g_return_val_if_fail(value != NULL, FALSE);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1639
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1640 if (allowed_characters)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1641 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1642 gchar *value_r = g_strdup(value);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1643 g_strcanon(value_r, allowed_characters, '\0');
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1644 invalid_char = value[strlen(value_r)];
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1645 g_free(value_r);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1646 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1647 else
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1648 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1649 while (value)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1650 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1651 if (!g_ascii_isalnum(*value))
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1652 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1653 invalid_char = *value;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1654 break;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1655 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1656 value++;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1657 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1658 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1659 if (!invalid_char)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1660 return TRUE;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1661
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1662 if (errmsg)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1663 *errmsg = g_strdup_printf(_("Invalid character '%c'"),
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1664 invalid_char);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1665 return FALSE;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1666 }

mercurial