libpurple/request/purplerequestfieldbool.c

Fri, 20 Oct 2023 01:09:45 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 20 Oct 2023 01:09:45 -0500
changeset 42375
8e61249e9b10
parent 42149
4de5a514b8ba
child 42576
ab1ca778ddb2
permissions
-rw-r--r--

Implement ProtocolFileTransfer

Testing Done:
Ran the unit tests under valgrind.

Bugs closed: PIDGIN-17833

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

42144
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
1 /*
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
2 * Purple - Internet Messaging Library
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
6 * 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
7 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6325
diff changeset
8 *
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * 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
11 * the Free Software Foundation; either version 2 of the License, or
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * (at your option) any later version.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * GNU General Public License for more details.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
42144
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 */
24900
a19d983918c2 Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents: 24899
diff changeset
22
40441
f23c7e772667 Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents: 40350
diff changeset
23 #include <glib/gi18n-lib.h>
f23c7e772667 Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents: 40350
diff changeset
24
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
25 #include "purplerequestfield.h"
42144
92dd14dc8a73 Cleanup request field files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42136
diff changeset
26 #include "purplerequestfieldbool.h"
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
27
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
28 struct _PurpleRequestFieldBool {
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
29 PurpleRequestField parent;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
30
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
31 gboolean default_value;
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
32 gboolean value;
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
33 };
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
34
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
35 enum {
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
36 PROP_0,
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
37 PROP_DEFAULT_VALUE,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
38 PROP_VALUE,
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
39 N_PROPERTIES,
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
40 };
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
41 static GParamSpec *properties[N_PROPERTIES] = {NULL, };
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 /******************************************************************************
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
44 * GObject Implementation
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
45 *****************************************************************************/
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
46 G_DEFINE_TYPE(PurpleRequestFieldBool, purple_request_field_bool,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
47 PURPLE_TYPE_REQUEST_FIELD)
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
48
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
49 static void
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
50 purple_request_field_bool_get_property(GObject *obj, guint param_id,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
51 GValue *value, GParamSpec *pspec)
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
52 {
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
53 PurpleRequestFieldBool *field = PURPLE_REQUEST_FIELD_BOOL(obj);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
54
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
55 switch(param_id) {
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
56 case PROP_DEFAULT_VALUE:
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
57 g_value_set_boolean(value,
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
58 purple_request_field_bool_get_default_value(field));
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
59 break;
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
60 case PROP_VALUE:
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
61 g_value_set_boolean(value,
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
62 purple_request_field_bool_get_value(field));
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
63 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
64 default:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
65 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
66 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
67 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
68 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
69
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
70 static void
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
71 purple_request_field_bool_set_property(GObject *obj, guint param_id,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
72 const GValue *value, GParamSpec *pspec)
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
73 {
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
74 PurpleRequestFieldBool *field = PURPLE_REQUEST_FIELD_BOOL(obj);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
75
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
76 switch(param_id) {
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
77 case PROP_DEFAULT_VALUE:
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
78 purple_request_field_bool_set_default_value(field,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
79 g_value_get_boolean(value));
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
80 break;
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
81 case PROP_VALUE:
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
82 purple_request_field_bool_set_value(field,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
83 g_value_get_boolean(value));
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
84 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
85 default:
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
86 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
87 break;
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
88 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
89 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
90
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
91 static void
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
92 purple_request_field_bool_init(G_GNUC_UNUSED PurpleRequestFieldBool *field) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
93 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
94
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
95 static void
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
96 purple_request_field_bool_class_init(PurpleRequestFieldBoolClass *klass) {
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
97 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
98
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
99 obj_class->get_property = purple_request_field_bool_get_property;
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
100 obj_class->set_property = purple_request_field_bool_set_property;
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
101
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
102 /**
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
103 * PurpleRequestFieldBool:default-value:
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
104 *
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
105 * The default value of the field.
42124
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 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
108 */
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
109 properties[PROP_DEFAULT_VALUE] = g_param_spec_boolean(
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
110 "default-value", "default-value",
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
111 "The default value of the field.",
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
112 FALSE,
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
113 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
114
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
115 /**
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
116 * PurpleRequestFieldBool:value:
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
117 *
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
118 * The value of the field.
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
119 *
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
120 * Since: 3.0.0
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
121 */
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
122 properties[PROP_VALUE] = g_param_spec_boolean(
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
123 "value", "value",
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
124 "The value of the field.",
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
125 FALSE,
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
126 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
127
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
128 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
129 }
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
130
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 * Public API
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
133 *****************************************************************************/
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
134 PurpleRequestField *
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
135 purple_request_field_bool_new(const char *id, const char *text,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
136 gboolean default_value)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
137 {
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
138 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
139 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
140
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
141 return g_object_new(PURPLE_TYPE_REQUEST_FIELD_BOOL,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
142 "id", id,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
143 "label", text,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
144 "default-value", default_value,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
145 "value", default_value,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
146 NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
147 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
148
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
149 void
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
150 purple_request_field_bool_set_default_value(PurpleRequestFieldBool *field,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
151 gboolean default_value)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
152 {
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
153 g_return_if_fail(PURPLE_IS_REQUEST_FIELD_BOOL(field));
42124
472dc8caeda3 Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42123
diff changeset
154
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
155 if(field->default_value == default_value) {
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
156 return;
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
157 }
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
158
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
159 field->default_value = default_value;
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
160
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
161 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_DEFAULT_VALUE]);
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
162 }
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
163
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
164 void
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
165 purple_request_field_bool_set_value(PurpleRequestFieldBool *field,
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
166 gboolean value)
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
167 {
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
168 g_return_if_fail(PURPLE_IS_REQUEST_FIELD_BOOL(field));
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
169
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
170 if(field->value == value) {
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
171 return;
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
172 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
173
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
174 field->value = value;
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
175
42149
4de5a514b8ba Add a PurpleRequestField:valid property and is_valid vfunc
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
176 g_object_freeze_notify(G_OBJECT(field));
4de5a514b8ba Add a PurpleRequestField:valid property and is_valid vfunc
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
177 g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_VALUE]);
4de5a514b8ba Add a PurpleRequestField:valid property and is_valid vfunc
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
178 g_object_notify(G_OBJECT(field), "valid");
4de5a514b8ba Add a PurpleRequestField:valid property and is_valid vfunc
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42144
diff changeset
179 g_object_thaw_notify(G_OBJECT(field));
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
180 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
181
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
182 gboolean
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
183 purple_request_field_bool_get_default_value(PurpleRequestFieldBool *field) {
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
184 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD_BOOL(field), FALSE);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
185
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
186 return field->default_value;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
187 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
188
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
189 gboolean
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
190 purple_request_field_bool_get_value(PurpleRequestFieldBool *field) {
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
191 g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD_BOOL(field), FALSE);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
192
42136
cfa707dcda7d Make PurpleRequestFieldBool into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42135
diff changeset
193 return field->value;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
194 }

mercurial