libpurple/request.c

Sat, 04 Aug 2012 08:52:12 +0200

author
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
date
Sat, 04 Aug 2012 08:52:12 +0200
changeset 33219
06b19630bdb0
parent 33213
2852fbde4722
child 33237
2574432da068
permissions
-rw-r--r--

Validation for Request API fixes

5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file request.c Request API
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 * @ingroup core
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
6 /* purple
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
8 * 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
9 * 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
10 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6325
diff changeset
11 *
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * 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
14 * the Free Software Foundation; either version 2 of the License, or
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * (at your option) any later version.
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 * This program is distributed in the hope that it will be useful,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 * GNU General Public License for more details.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23 * 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
24 * 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
25 */
24900
a19d983918c2 Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents: 24899
diff changeset
26 #define _PURPLE_REQUEST_C_
a19d983918c2 Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents: 24899
diff changeset
27
18265
9f26190d7f46 Move the define in internal.h instead.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18190
diff changeset
28 #include "internal.h"
9f26190d7f46 Move the define in internal.h instead.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18190
diff changeset
29
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
30 #include "notify.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 #include "request.h"
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
32 #include "debug.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
34 static PurpleRequestUiOps *request_ui_ops = NULL;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 static GList *handles = NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 typedef struct
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
39 PurpleRequestType type;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 void *handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 void *ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
43 } PurpleRequestInfo;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
45 struct _PurpleRequestField
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
46 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
47 PurpleRequestFieldType type;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
48 PurpleRequestFieldGroup *group;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
49
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
50 char *id;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
51 char *label;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
52 char *type_hint;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
53
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
54 gboolean visible;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
55 gboolean required;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
56
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
57 union
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
58 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
59 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
60 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
61 gboolean multiline;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
62 gboolean masked;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
63 gboolean editable;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
64 char *default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
65 char *value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
66
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
67 } string;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
68
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
69 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
70 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
71 int default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
72 int value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
73
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
74 } integer;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
75
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
76 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
77 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
78 gboolean default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
79 gboolean value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
80
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
81 } boolean;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
82
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
83 struct
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 int default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
86 int value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
87
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
88 GList *labels;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
89
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
90 } choice;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
91
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
92 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
93 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
94 GList *items;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
95 GList *icons;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
96 GHashTable *item_data;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
97 GList *selected;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
98 GHashTable *selected_table;
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 gboolean multiple_selection;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
101
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
102 } list;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
103
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
104 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
105 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
106 PurpleAccount *default_account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
107 PurpleAccount *account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
108 gboolean show_all;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
109
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
110 PurpleFilterAccountFunc filter_func;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
111
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
112 } account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
113
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
114 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
115 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
116 unsigned int scale_x;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
117 unsigned int scale_y;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
118 const char *buffer;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
119 gsize size;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
120 } image;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
121
32886
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
122 struct
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
123 {
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
124 PurpleCertificate *cert;
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
125 } certificate;
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
126
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
127 } u;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
128
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
129 void *ui_data;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
130 char *tooltip;
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
131
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
132 PurpleRequestFieldValidator validator;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
133 void *validator_data;
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
134 };
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
135
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
136 struct _PurpleRequestFields
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
137 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
138 GList *groups;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
139
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
140 GHashTable *fields;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
141
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
142 GList *required_fields;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
143
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
144 GList *validated_fields;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
145
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
146 void *ui_data;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
147 };
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
148
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
149 struct _PurpleRequestFieldGroup
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
150 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
151 PurpleRequestFields *fields_list;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
152
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
153 char *title;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
154
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
155 GList *fields;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
156 };
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
157
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
158 PurpleRequestFields *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
159 purple_request_fields_new(void)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
160 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
161 PurpleRequestFields *fields;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
162
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
163 fields = g_new0(PurpleRequestFields, 1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
164
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
165 fields->fields = g_hash_table_new_full(g_str_hash, g_str_equal,
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
166 g_free, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
167
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
168 return fields;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
169 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
170
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
171 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
172 purple_request_fields_destroy(PurpleRequestFields *fields)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
173 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
174 g_return_if_fail(fields != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
175
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
176 g_list_foreach(fields->groups, (GFunc)purple_request_field_group_destroy, NULL);
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
177 g_list_free(fields->groups);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
178 g_list_free(fields->required_fields);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
179 g_list_free(fields->validated_fields);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
180 g_hash_table_destroy(fields->fields);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
181 g_free(fields);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
182 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
183
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
184 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
185 purple_request_fields_add_group(PurpleRequestFields *fields,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
186 PurpleRequestFieldGroup *group)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
187 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
188 GList *l;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
189 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
190
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
191 g_return_if_fail(fields != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
192 g_return_if_fail(group != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
193
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
194 fields->groups = g_list_append(fields->groups, group);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
195
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
196 group->fields_list = fields;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
197
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
198 for (l = purple_request_field_group_get_fields(group);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
199 l != NULL;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
200 l = l->next) {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
201
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
202 field = l->data;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
203
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
204 g_hash_table_insert(fields->fields,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
205 g_strdup(purple_request_field_get_id(field)), field);
14149
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
206
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
207 if (purple_request_field_is_required(field)) {
14149
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
208 fields->required_fields =
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
209 g_list_append(fields->required_fields, field);
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
210 }
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
211
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
212 if (purple_request_field_is_validatable(field)) {
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
213 fields->validated_fields =
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
214 g_list_append(fields->validated_fields, field);
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
215 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
216
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
217 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
218 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
219
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
220 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
221 purple_request_fields_get_groups(const PurpleRequestFields *fields)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
222 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
223 g_return_val_if_fail(fields != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
224
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
225 return fields->groups;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
226 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
227
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
228 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
229 purple_request_fields_exists(const PurpleRequestFields *fields, const char *id)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
230 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
231 g_return_val_if_fail(fields != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
232 g_return_val_if_fail(id != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
233
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
234 return (g_hash_table_lookup(fields->fields, id) != NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
235 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
236
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
237 const GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
238 purple_request_fields_get_required(const PurpleRequestFields *fields)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
239 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
240 g_return_val_if_fail(fields != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
241
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
242 return fields->required_fields;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
243 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
244
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
245 const GList *
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
246 purple_request_fields_get_validatable(const PurpleRequestFields *fields)
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
247 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
248 g_return_val_if_fail(fields != NULL, NULL);
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
249
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
250 return fields->validated_fields;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
251 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
252
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
253 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
254 purple_request_fields_is_field_required(const PurpleRequestFields *fields,
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
255 const char *id)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
256 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
257 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
258
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
259 g_return_val_if_fail(fields != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
260 g_return_val_if_fail(id != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
261
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
262 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
263 return FALSE;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
264
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
265 return purple_request_field_is_required(field);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
266 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
267
24984
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
268 gpointer
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
269 purple_request_field_get_ui_data(const PurpleRequestField *field)
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
270 {
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
271 g_return_val_if_fail(field != NULL, NULL);
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
272
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
273 return field->ui_data;
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
274 }
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
275
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
276 void
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
277 purple_request_field_set_ui_data(PurpleRequestField *field,
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
278 gpointer ui_data)
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
279 {
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
280 g_return_if_fail(field != NULL);
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
281
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
282 field->ui_data = ui_data;
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
283 }
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
284
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
285 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
286 purple_request_fields_all_required_filled(const PurpleRequestFields *fields)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
287 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
288 GList *l;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
289
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
290 g_return_val_if_fail(fields != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
291
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
292 for (l = fields->required_fields; l != NULL; l = l->next)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
293 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
294 PurpleRequestField *field = (PurpleRequestField *)l->data;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
295
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
296 if (!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
297 return FALSE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
298 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
299
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
300 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
301 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
302
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
303 gboolean
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
304 purple_request_fields_all_valid(const PurpleRequestFields *fields)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
305 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
306 GList *l;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
307
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
308 g_return_val_if_fail(fields != NULL, FALSE);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
309
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
310 for (l = fields->validated_fields; l != NULL; l = l->next)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
311 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
312 PurpleRequestField *field = (PurpleRequestField *)l->data;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
313
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
314 if (!purple_request_field_is_valid(field, NULL))
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
315 return FALSE;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
316 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
317
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
318 return TRUE;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
319 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
320
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
321 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
322 purple_request_fields_get_field(const PurpleRequestFields *fields, const char *id)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
323 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
324 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
325
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
326 g_return_val_if_fail(fields != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
327 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
328
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
329 field = g_hash_table_lookup(fields->fields, id);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
330
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
331 g_return_val_if_fail(field != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
332
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
333 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
334 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
335
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
336 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
337 purple_request_fields_get_string(const PurpleRequestFields *fields, const char *id)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
338 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
339 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
340
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
341 g_return_val_if_fail(fields != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
342 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
343
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
344 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
345 return NULL;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
346
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
347 return purple_request_field_string_get_value(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
348 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
349
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
350 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
351 purple_request_fields_get_integer(const PurpleRequestFields *fields,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
352 const char *id)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
353 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
354 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
355
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
356 g_return_val_if_fail(fields != NULL, 0);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
357 g_return_val_if_fail(id != NULL, 0);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
358
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
359 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
360 return 0;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
361
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
362 return purple_request_field_int_get_value(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
363 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
364
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
365 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
366 purple_request_fields_get_bool(const PurpleRequestFields *fields, const char *id)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
367 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
368 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
369
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
370 g_return_val_if_fail(fields != NULL, FALSE);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
371 g_return_val_if_fail(id != NULL, FALSE);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
372
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
373 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
374 return FALSE;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
375
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
376 return purple_request_field_bool_get_value(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
377 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
378
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
379 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
380 purple_request_fields_get_choice(const PurpleRequestFields *fields, const char *id)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
381 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
382 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
383
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
384 g_return_val_if_fail(fields != NULL, -1);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
385 g_return_val_if_fail(id != NULL, -1);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
386
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
387 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
388 return -1;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
389
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
390 return purple_request_field_choice_get_value(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
391 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
392
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
393 PurpleAccount *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
394 purple_request_fields_get_account(const PurpleRequestFields *fields,
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
395 const char *id)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
396 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
397 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
398
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
399 g_return_val_if_fail(fields != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
400 g_return_val_if_fail(id != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
401
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
402 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
403 return NULL;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
404
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
405 return purple_request_field_account_get_value(field);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
406 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
407
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
408 gpointer purple_request_fields_get_ui_data(const PurpleRequestFields *fields)
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
409 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
410 g_return_val_if_fail(fields != NULL, NULL);
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
411
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
412 return fields->ui_data;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
413 }
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
414
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
415 void purple_request_fields_set_ui_data(PurpleRequestFields *fields, gpointer ui_data)
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
416 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
417 g_return_if_fail(fields != NULL);
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
418
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
419 fields->ui_data = ui_data;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
420 }
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
421
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
422 PurpleRequestFieldGroup *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
423 purple_request_field_group_new(const char *title)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
424 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
425 PurpleRequestFieldGroup *group;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
426
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
427 group = g_new0(PurpleRequestFieldGroup, 1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
428
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
429 group->title = g_strdup(title);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
430
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
431 return group;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
432 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
433
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
434 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
435 purple_request_field_group_destroy(PurpleRequestFieldGroup *group)
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 g_return_if_fail(group != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
438
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
439 g_free(group->title);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
440
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
441 g_list_foreach(group->fields, (GFunc)purple_request_field_destroy, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
442 g_list_free(group->fields);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
443
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
444 g_free(group);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
445 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
446
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
447 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
448 purple_request_field_group_add_field(PurpleRequestFieldGroup *group,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
449 PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
450 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
451 g_return_if_fail(group != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
452 g_return_if_fail(field != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
453
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
454 group->fields = g_list_append(group->fields, field);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
455
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
456 if (group->fields_list != NULL)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
457 {
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
458 g_hash_table_insert(group->fields_list->fields,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
459 g_strdup(purple_request_field_get_id(field)), field);
14149
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
460
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
461 if (purple_request_field_is_required(field))
14149
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
462 {
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
463 group->fields_list->required_fields =
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
464 g_list_append(group->fields_list->required_fields, field);
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
465 }
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
466
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
467 if (purple_request_field_is_validatable(field))
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
468 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
469 group->fields_list->validated_fields =
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
470 g_list_append(group->fields_list->validated_fields, field);
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
471 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
472 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
473
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
474 field->group = group;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
475
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
476 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
477
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
478 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
479 purple_request_field_group_get_title(const PurpleRequestFieldGroup *group)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
480 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
481 g_return_val_if_fail(group != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
482
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
483 return group->title;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
484 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
485
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
486 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
487 purple_request_field_group_get_fields(const PurpleRequestFieldGroup *group)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
488 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
489 g_return_val_if_fail(group != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
490
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
491 return group->fields;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
492 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
493
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
494 PurpleRequestFields *
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
495 purple_request_field_group_get_fields_list(const PurpleRequestFieldGroup *group)
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
496 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
497 g_return_val_if_fail(group != NULL, NULL);
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
498
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
499 return group->fields_list;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
500 }
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
501
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
502 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
503 purple_request_field_new(const char *id, const char *text,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
504 PurpleRequestFieldType type)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
505 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
506 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
507
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
508 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
509 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
510
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
511 field = g_new0(PurpleRequestField, 1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
512
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
513 field->id = g_strdup(id);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
514 field->type = type;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
515
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
516 purple_request_field_set_label(field, text);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
517 purple_request_field_set_visible(field, TRUE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
518
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
519 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
520 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
521
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
522 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
523 purple_request_field_destroy(PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
524 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
525 g_return_if_fail(field != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
526
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
527 g_free(field->id);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
528 g_free(field->label);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
529 g_free(field->type_hint);
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
530 g_free(field->tooltip);
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
531
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
532 if (field->type == PURPLE_REQUEST_FIELD_STRING)
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
533 {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
534 g_free(field->u.string.default_value);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
535 g_free(field->u.string.value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
536 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
537 else if (field->type == PURPLE_REQUEST_FIELD_CHOICE)
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
538 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
539 if (field->u.choice.labels != NULL)
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
540 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
541 g_list_foreach(field->u.choice.labels, (GFunc)g_free, NULL);
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
542 g_list_free(field->u.choice.labels);
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
543 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
544 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
545 else if (field->type == PURPLE_REQUEST_FIELD_LIST)
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
546 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
547 if (field->u.list.items != NULL)
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
548 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
549 g_list_foreach(field->u.list.items, (GFunc)g_free, NULL);
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
550 g_list_free(field->u.list.items);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
551 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
552
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
553 if (field->u.list.selected != NULL)
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
554 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
555 g_list_foreach(field->u.list.selected, (GFunc)g_free, NULL);
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
556 g_list_free(field->u.list.selected);
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
557 }
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
558
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
559 g_hash_table_destroy(field->u.list.item_data);
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
560 g_hash_table_destroy(field->u.list.selected_table);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
561 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
562
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
563 g_free(field);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
564 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
565
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
566 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
567 purple_request_field_set_label(PurpleRequestField *field, const char *label)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
568 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
569 g_return_if_fail(field != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
570
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
571 g_free(field->label);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
572 field->label = g_strdup(label);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
573 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
574
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
575 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
576 purple_request_field_set_visible(PurpleRequestField *field, gboolean visible)
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
577 {
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
578 g_return_if_fail(field != NULL);
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
579
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
580 field->visible = visible;
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
581 }
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
582
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
583 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
584 purple_request_field_set_type_hint(PurpleRequestField *field,
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
585 const char *type_hint)
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
586 {
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
587 g_return_if_fail(field != NULL);
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
588
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
589 g_free(field->type_hint);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
590 field->type_hint = g_strdup(type_hint);
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
591 }
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
592
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
593 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
594 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
595 {
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
596 g_return_if_fail(field != NULL);
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
597
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
598 g_free(field->tooltip);
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
599 field->tooltip = g_strdup(tooltip);
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
600 }
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
601
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
602 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
603 purple_request_field_set_required(PurpleRequestField *field, gboolean required)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
604 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
605 g_return_if_fail(field != NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
606
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
607 if (field->required == required)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
608 return;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
609
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
610 field->required = required;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
611
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
612 if (field->group != NULL)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
613 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
614 if (required)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
615 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
616 field->group->fields_list->required_fields =
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
617 g_list_append(field->group->fields_list->required_fields,
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
618 field);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
619 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
620 else
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
621 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
622 field->group->fields_list->required_fields =
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
623 g_list_remove(field->group->fields_list->required_fields,
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
624 field);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
625 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
626 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
627 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
628
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
629 PurpleRequestFieldType
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
630 purple_request_field_get_type(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
631 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
632 g_return_val_if_fail(field != NULL, PURPLE_REQUEST_FIELD_NONE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
633
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
634 return field->type;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
635 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
636
24984
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
637 PurpleRequestFieldGroup *
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
638 purple_request_field_get_group(const PurpleRequestField *field)
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
639 {
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
640 g_return_val_if_fail(field != NULL, NULL);
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
641
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
642 return field->group;
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
643 }
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
644
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
645 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
646 purple_request_field_get_id(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
647 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
648 g_return_val_if_fail(field != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
649
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
650 return field->id;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
651 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
652
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
653 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
654 purple_request_field_get_label(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
655 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
656 g_return_val_if_fail(field != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
657
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
658 return field->label;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
659 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
660
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
661 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
662 purple_request_field_is_visible(const PurpleRequestField *field)
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
663 {
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
664 g_return_val_if_fail(field != NULL, FALSE);
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
665
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
666 return field->visible;
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
667 }
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
668
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
669 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
670 purple_request_field_get_type_hint(const PurpleRequestField *field)
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
671 {
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
672 g_return_val_if_fail(field != NULL, NULL);
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
673
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
674 return field->type_hint;
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
675 }
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
676
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
677 const char *
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
678 purple_request_field_get_tooltip(const PurpleRequestField *field)
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
679 {
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
680 g_return_val_if_fail(field != NULL, NULL);
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
681
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
682 return field->tooltip;
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
683 }
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
684
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
685 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
686 purple_request_field_is_required(const PurpleRequestField *field)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
687 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
688 g_return_val_if_fail(field != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
689
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
690 return field->required;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
691 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
692
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
693 gboolean
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
694 purple_request_field_is_filled(const PurpleRequestField *field)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
695 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
696 g_return_val_if_fail(field != NULL, FALSE);
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
697
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
698 switch (purple_request_field_get_type(field))
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
699 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
700 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
701 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
702 *(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
703 default:
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
704 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
705 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
706 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
707
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
708 void
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
709 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
710 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
711 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
712 g_return_if_fail(field != NULL);
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
713
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
714 field->validator = validator;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
715 field->validator_data = validator ? user_data : NULL;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
716
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
717 if (field->group != NULL)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
718 {
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
719 PurpleRequestFields *flist = field->group->fields_list;
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
720 flist->validated_fields = g_list_remove(flist->validated_fields,
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
721 field);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
722 if (validator)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
723 {
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
724 flist->validated_fields = g_list_append(
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
725 flist->validated_fields, field);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
726 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
727 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
728 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
729
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
730 gboolean
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
731 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
732 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
733 g_return_val_if_fail(field != NULL, FALSE);
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
734
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
735 return field->validator != NULL;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
736 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
737
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
738 gboolean
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
739 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
740 {
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
741 gboolean valid;
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
742
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
743 g_return_val_if_fail(field != NULL, FALSE);
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
744
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
745 if (!field->validator)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
746 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
747
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
748 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
749 !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
750 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
751
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
752 valid = field->validator(field, errmsg, field->validator_data);
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
753
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
754 if (valid && errmsg)
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
755 *errmsg = NULL;
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
756
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
757 return valid;
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
758 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
759
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
760 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
761 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
762 const char *default_value, gboolean multiline)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
763 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
764 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
765
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
766 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
767 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
768
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
769 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_STRING);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
770
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
771 field->u.string.multiline = multiline;
7048
53e1ea65540e [gaim-migrate @ 7611]
Christian Hammond <chipx86@chipx86.com>
parents: 7047
diff changeset
772 field->u.string.editable = TRUE;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
773
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
774 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
775 purple_request_field_string_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
776
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
777 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
778 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
779
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
780 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
781 purple_request_field_string_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
782 const char *default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
783 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
784 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
785 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
786
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
787 g_free(field->u.string.default_value);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
788 field->u.string.default_value = g_strdup(default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
789 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
790
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
791 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
792 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
793 {
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
794 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
795 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
796
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
797 g_free(field->u.string.value);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
798 field->u.string.value = g_strdup(value);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
799 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
800
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
801 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
802 purple_request_field_string_set_masked(PurpleRequestField *field, gboolean masked)
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
803 {
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
804 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
805 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING);
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
806
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
807 field->u.string.masked = masked;
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
808 }
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
809
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
810 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
811 purple_request_field_string_set_editable(PurpleRequestField *field,
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
812 gboolean editable)
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
813 {
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
814 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
815 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING);
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
816
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
817 field->u.string.editable = editable;
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
818 }
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
819
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
820 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
821 purple_request_field_string_get_default_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
822 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
823 g_return_val_if_fail(field != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
824 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
825
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
826 return field->u.string.default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
827 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
828
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
829 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
830 purple_request_field_string_get_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
831 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
832 g_return_val_if_fail(field != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
833 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
834
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
835 return field->u.string.value;
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
836 }
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 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
839 purple_request_field_string_is_multiline(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
840 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
841 g_return_val_if_fail(field != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
842 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
843
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
844 return field->u.string.multiline;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
845 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
846
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
847 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
848 purple_request_field_string_is_masked(const PurpleRequestField *field)
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
849 {
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
850 g_return_val_if_fail(field != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
851 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
852
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
853 return field->u.string.masked;
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
854 }
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
855
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
856 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
857 purple_request_field_string_is_editable(const PurpleRequestField *field)
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
858 {
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
859 g_return_val_if_fail(field != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
860 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
861
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
862 return field->u.string.editable;
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
863 }
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
864
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
865 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
866 purple_request_field_int_new(const char *id, const char *text,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
867 int default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
868 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
869 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
870
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
871 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
872 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
873
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
874 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
875
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
876 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
877 purple_request_field_int_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
878
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
879 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
880 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
881
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
882 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
883 purple_request_field_int_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
884 int default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
885 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
886 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
887 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
888
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
889 field->u.integer.default_value = default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
890 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
891
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
892 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
893 purple_request_field_int_set_value(PurpleRequestField *field, int value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
894 {
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
895 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
896 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
897
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
898 field->u.integer.value = value;
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
899 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
900
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
901 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
902 purple_request_field_int_get_default_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
903 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
904 g_return_val_if_fail(field != NULL, 0);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
905 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER, 0);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
906
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
907 return field->u.integer.default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
908 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
909
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
910 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
911 purple_request_field_int_get_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
912 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
913 g_return_val_if_fail(field != NULL, 0);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
914 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER, 0);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
915
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
916 return field->u.integer.value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
917 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
918
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
919 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
920 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
921 gboolean default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
922 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
923 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
924
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
925 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
926 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
927
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
928 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
929
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
930 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
931 purple_request_field_bool_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
932
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
933 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
934 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
935
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
936 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
937 purple_request_field_bool_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
938 gboolean default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
939 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
940 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
941 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
942
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
943 field->u.boolean.default_value = default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
944 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
945
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
946 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
947 purple_request_field_bool_set_value(PurpleRequestField *field, gboolean value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
948 {
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
949 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
950 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
951
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
952 field->u.boolean.value = value;
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
953 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
954
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
955 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
956 purple_request_field_bool_get_default_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
957 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
958 g_return_val_if_fail(field != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
959 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN, FALSE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
960
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
961 return field->u.boolean.default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
962 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
963
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
964 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
965 purple_request_field_bool_get_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
966 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
967 g_return_val_if_fail(field != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
968 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN, FALSE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
969
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
970 return field->u.boolean.value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
971 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
972
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
973 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
974 purple_request_field_choice_new(const char *id, const char *text,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
975 int default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
976 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
977 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
978
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
979 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
980 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
981
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
982 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
983
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
984 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
985 purple_request_field_choice_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
986
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
987 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
988 }
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 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
991 purple_request_field_choice_add(PurpleRequestField *field, const char *label)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
992 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
993 g_return_if_fail(field != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
994 g_return_if_fail(label != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
995 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
996
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
997 field->u.choice.labels = g_list_append(field->u.choice.labels,
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
998 g_strdup(label));
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
999 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1000
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1001 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1002 purple_request_field_choice_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1003 int default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1004 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1005 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1006 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1007
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1008 field->u.choice.default_value = default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1009 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1010
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1011 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1012 purple_request_field_choice_set_value(PurpleRequestField *field,
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1013 int value)
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1014 {
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1015 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1016 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1017
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1018 field->u.choice.value = value;
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1019 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1020
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1021 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1022 purple_request_field_choice_get_default_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1023 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1024 g_return_val_if_fail(field != NULL, -1);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1025 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, -1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1026
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1027 return field->u.choice.default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1028 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1029
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1030 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1031 purple_request_field_choice_get_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1032 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1033 g_return_val_if_fail(field != NULL, -1);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1034 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, -1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1035
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1036 return field->u.choice.value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1037 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1038
5809
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1039 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1040 purple_request_field_choice_get_labels(const PurpleRequestField *field)
5809
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1041 {
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1042 g_return_val_if_fail(field != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1043 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, NULL);
5809
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1044
5810
1d659318f194 [gaim-migrate @ 6240]
Christian Hammond <chipx86@chipx86.com>
parents: 5809
diff changeset
1045 return field->u.choice.labels;
5809
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1046 }
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1047
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1048 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1049 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
1050 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1051 PurpleRequestField *field;
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1052
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1053 g_return_val_if_fail(id != NULL, NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1054
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1055 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_LIST);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1056
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1057 field->u.list.item_data = g_hash_table_new_full(g_str_hash, g_str_equal,
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1058 g_free, NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1059
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1060 field->u.list.selected_table =
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1061 g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1062
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1063 return field;
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1064 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1065
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1066 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1067 purple_request_field_list_set_multi_select(PurpleRequestField *field,
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1068 gboolean multi_select)
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1069 {
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1070 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1071 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1072
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1073 field->u.list.multiple_selection = multi_select;
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1074 }
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1075
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1076 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1077 purple_request_field_list_get_multi_select(const PurpleRequestField *field)
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1078 {
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1079 g_return_val_if_fail(field != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1080 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, FALSE);
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1081
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1082 return field->u.list.multiple_selection;
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1083 }
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1084
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1085 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1086 purple_request_field_list_get_data(const PurpleRequestField *field,
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1087 const char *text)
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1088 {
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1089 g_return_val_if_fail(field != NULL, NULL);
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1090 g_return_val_if_fail(text != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1091 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL);
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1092
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1093 return g_hash_table_lookup(field->u.list.item_data, text);
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1094 }
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1095
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1096 void
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1097 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
1098 void *data)
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1099 {
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1100 g_return_if_fail(field != NULL);
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1101 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
1102 g_return_if_fail(data != NULL);
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1103 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1104
24899
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1105 if (icon_path)
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1106 {
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1107 if (field->u.list.icons == NULL)
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1108 {
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1109 GList *l;
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1110 for (l = field->u.list.items ; l != NULL ; l = l->next)
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1111 {
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1112 /* Order doesn't matter, because we're just
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1113 * filing in blank items. So, we use
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1114 * g_list_prepend() because it's faster. */
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1115 field->u.list.icons = g_list_prepend(field->u.list.icons, NULL);
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1116 }
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1117 }
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1118 field->u.list.icons = g_list_append(field->u.list.icons, g_strdup(icon_path));
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1119 }
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1120 else if (field->u.list.icons)
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1121 {
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1122 /* Keep this even with the items list. */
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1123 field->u.list.icons = g_list_append(field->u.list.icons, NULL);
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1124 }
54719498c900 Deprecate purple_request_field_list_add() in favor of the new
Richard Laager <rlaager@pidgin.im>
parents: 24892
diff changeset
1125
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1126 field->u.list.items = g_list_append(field->u.list.items, g_strdup(item));
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1127 g_hash_table_insert(field->u.list.item_data, g_strdup(item), data);
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1128 }
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1129
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1130 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1131 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
1132 {
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1133 g_return_if_fail(field != NULL);
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1134 g_return_if_fail(item != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1135 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1136
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1137 if (!purple_request_field_list_get_multi_select(field) &&
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1138 field->u.list.selected != NULL)
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1139 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1140 purple_debug_warning("request",
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1141 "More than one item added to non-multi-select "
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1142 "field %s\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1143 purple_request_field_get_id(field));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1144 return;
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1145 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1146
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1147 field->u.list.selected = g_list_append(field->u.list.selected,
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1148 g_strdup(item));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1149
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1150 g_hash_table_insert(field->u.list.selected_table, g_strdup(item), NULL);
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1151 }
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1152
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1153 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1154 purple_request_field_list_clear_selected(PurpleRequestField *field)
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1155 {
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1156 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1157 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1158
7962
92ef549901f6 [gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents: 7909
diff changeset
1159 if (field->u.list.selected != NULL)
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1160 {
7962
92ef549901f6 [gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents: 7909
diff changeset
1161 g_list_foreach(field->u.list.selected, (GFunc)g_free, NULL);
92ef549901f6 [gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents: 7909
diff changeset
1162 g_list_free(field->u.list.selected);
92ef549901f6 [gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents: 7909
diff changeset
1163 field->u.list.selected = NULL;
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1164 }
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1165
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1166 g_hash_table_destroy(field->u.list.selected_table);
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1167
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1168 field->u.list.selected_table =
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1169 g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1170 }
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1171
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1172 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
1173 purple_request_field_list_set_selected(PurpleRequestField *field, GList *items)
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1174 {
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1175 GList *l;
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1176
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1177 g_return_if_fail(field != NULL);
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1178 g_return_if_fail(items != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1179 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1180
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1181 purple_request_field_list_clear_selected(field);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1182
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1183 if (!purple_request_field_list_get_multi_select(field) &&
24816
bd870d9ff0ab The other day while struct hiding, I noticed a for loop that was checking
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
1184 items && items->next)
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1185 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1186 purple_debug_warning("request",
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1187 "More than one item added to non-multi-select "
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1188 "field %s\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1189 purple_request_field_get_id(field));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1190 return;
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1191 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1192
14128
3f6654cc8746 [gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14097
diff changeset
1193 for (l = items; l != NULL; l = l->next)
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1194 {
14128
3f6654cc8746 [gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14097
diff changeset
1195 field->u.list.selected = g_list_append(field->u.list.selected,
3f6654cc8746 [gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14097
diff changeset
1196 g_strdup(l->data));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1197 g_hash_table_insert(field->u.list.selected_table,
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1198 g_strdup((char *)l->data), NULL);
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1199 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1200 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1201
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1202 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1203 purple_request_field_list_is_selected(const PurpleRequestField *field,
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1204 const char *item)
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1205 {
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1206 g_return_val_if_fail(field != NULL, FALSE);
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1207 g_return_val_if_fail(item != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1208 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, FALSE);
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1209
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1210 return g_hash_table_lookup_extended(field->u.list.selected_table,
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1211 item, NULL, NULL);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1212 }
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1213
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1214 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1215 purple_request_field_list_get_selected(const PurpleRequestField *field)
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1216 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1217 g_return_val_if_fail(field != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1218 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1219
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1220 return field->u.list.selected;
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1221 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1222
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1223 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1224 purple_request_field_list_get_items(const PurpleRequestField *field)
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1225 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1226 g_return_val_if_fail(field != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1227 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1228
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1229 return field->u.list.items;
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1230 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1231
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1232 GList *
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1233 purple_request_field_list_get_icons(const PurpleRequestField *field)
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1234 {
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1235 g_return_val_if_fail(field != NULL, NULL);
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1236 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, NULL);
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1237
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1238 return field->u.list.icons;
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1239 }
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1240
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1241 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1242 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
1243 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1244 PurpleRequestField *field;
7905
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1245
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1246 g_return_val_if_fail(id != NULL, NULL);
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1247 g_return_val_if_fail(text != NULL, NULL);
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1248
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1249 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
1250
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1251 return field;
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1252 }
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1253
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1254 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1255 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
1256 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1257 PurpleRequestField *field;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1258
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1259 g_return_val_if_fail(id != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1260 g_return_val_if_fail(text != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1261 g_return_val_if_fail(buf != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1262 g_return_val_if_fail(size > 0, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1263
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1264 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_IMAGE);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1265
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1266 field->u.image.buffer = g_memdup(buf, size);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1267 field->u.image.size = size;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1268 field->u.image.scale_x = 1;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1269 field->u.image.scale_y = 1;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1270
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1271 return field;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1272 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1273
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1274 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1275 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
1276 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1277 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1278 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1279
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1280 field->u.image.scale_x = x;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1281 field->u.image.scale_y = y;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1282 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1283
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1284 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1285 purple_request_field_image_get_buffer(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1286 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1287 g_return_val_if_fail(field != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1288 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, NULL);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1289
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1290 return field->u.image.buffer;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1291 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1292
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1293 gsize
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1294 purple_request_field_image_get_size(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1295 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1296 g_return_val_if_fail(field != NULL, 0);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1297 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1298
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1299 return field->u.image.size;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1300 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1301
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1302 unsigned int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1303 purple_request_field_image_get_scale_x(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1304 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1305 g_return_val_if_fail(field != NULL, 0);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1306 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1307
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1308 return field->u.image.scale_x;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1309 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1310
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1311 unsigned int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1312 purple_request_field_image_get_scale_y(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1313 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1314 g_return_val_if_fail(field != NULL, 0);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1315 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE, 0);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1316
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1317 return field->u.image.scale_y;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1318 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1319
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1320 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1321 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
1322 PurpleAccount *account)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1323 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1324 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1325
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1326 g_return_val_if_fail(id != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1327 g_return_val_if_fail(text != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1328
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1329 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
1330
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1331 if (account == NULL && purple_connections_get_all() != NULL)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1332 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1333 account = purple_connection_get_account(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1334 (PurpleConnection *)purple_connections_get_all()->data);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1335 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1336
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1337 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
1338 purple_request_field_account_set_value(field, account);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1339
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1340 return field;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1341 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1342
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1343 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1344 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
1345 PurpleAccount *default_value)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1346 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1347 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1348 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1349
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1350 field->u.account.default_account = default_value;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1351 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1352
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1353 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1354 purple_request_field_account_set_value(PurpleRequestField *field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1355 PurpleAccount *value)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1356 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1357 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1358 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1359
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1360 field->u.account.account = value;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1361 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1362
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1363 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1364 purple_request_field_account_set_show_all(PurpleRequestField *field,
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1365 gboolean show_all)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1366 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1367 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1368 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1369
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1370 if (field->u.account.show_all == show_all)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1371 return;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1372
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1373 field->u.account.show_all = show_all;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1374
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1375 if (!show_all)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1376 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1377 if (purple_account_is_connected(field->u.account.default_account))
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1378 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1379 purple_request_field_account_set_default_value(field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1380 (PurpleAccount *)purple_connections_get_all()->data);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1381 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1382
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1383 if (purple_account_is_connected(field->u.account.account))
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1384 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1385 purple_request_field_account_set_value(field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1386 (PurpleAccount *)purple_connections_get_all()->data);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1387 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1388 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1389 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1390
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1391 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1392 purple_request_field_account_set_filter(PurpleRequestField *field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1393 PurpleFilterAccountFunc filter_func)
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1394 {
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1395 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1396 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT);
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1397
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1398 field->u.account.filter_func = filter_func;
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1399 }
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1400
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1401 PurpleAccount *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1402 purple_request_field_account_get_default_value(const PurpleRequestField *field)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1403 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1404 g_return_val_if_fail(field != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1405 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT, NULL);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1406
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1407 return field->u.account.default_account;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1408 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1409
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1410 PurpleAccount *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1411 purple_request_field_account_get_value(const PurpleRequestField *field)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1412 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1413 g_return_val_if_fail(field != NULL, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1414 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT, NULL);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1415
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1416 return field->u.account.account;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1417 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1418
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1419 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1420 purple_request_field_account_get_show_all(const 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(field != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1423 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT, FALSE);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1424
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1425 return field->u.account.show_all;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1426 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1427
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1428 PurpleFilterAccountFunc
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1429 purple_request_field_account_get_filter(const PurpleRequestField *field)
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1430 {
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1431 g_return_val_if_fail(field != NULL, FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1432 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT, FALSE);
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1433
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1434 return field->u.account.filter_func;
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1435 }
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1436
32886
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1437 PurpleRequestField *
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1438 purple_request_field_certificate_new(const char *id, const char *text, PurpleCertificate *cert)
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1439 {
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1440 PurpleRequestField *field;
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1441
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1442 g_return_val_if_fail(id != NULL, NULL);
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1443 g_return_val_if_fail(text != NULL, NULL);
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1444 g_return_val_if_fail(cert != NULL, NULL);
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1445
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1446 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_CERTIFICATE);
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1447
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1448 field->u.certificate.cert = cert;
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1449
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1450 return field;
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1451 }
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1452
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1453 PurpleCertificate *
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1454 purple_request_field_certificate_get_value(const PurpleRequestField *field)
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1455 {
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1456 g_return_val_if_fail(field != NULL, NULL);
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1457 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CERTIFICATE, NULL);
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1458
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1459 return field->u.certificate.cert;
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1460 }
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1461
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1462 /* -- */
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1463
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1464 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1465 purple_request_input(void *handle, const char *title, const char *primary,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1466 const char *secondary, const char *default_value,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8332
diff changeset
1467 gboolean multiline, gboolean masked, gchar *hint,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1468 const char *ok_text, GCallback ok_cb,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1469 const char *cancel_text, GCallback cancel_cb,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1470 PurpleAccount *account, const char *who, PurpleConversation *conv,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1471 void *user_data)
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1472 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1473 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1474
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1475 g_return_val_if_fail(ok_text != NULL, NULL);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1476 g_return_val_if_fail(ok_cb != NULL, NULL);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1477
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1478 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1479
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1480 if (ops != NULL && ops->request_input != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1481 PurpleRequestInfo *info;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1482
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1483 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1484 info->type = PURPLE_REQUEST_INPUT;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1485 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1486 info->ui_handle = ops->request_input(title, primary, secondary,
6035
b245be9cbe3b [gaim-migrate @ 6485]
Christian Hammond <chipx86@chipx86.com>
parents: 5810
diff changeset
1487 default_value,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8332
diff changeset
1488 multiline, masked, hint,
5482
6831f83bfae5 [gaim-migrate @ 5878]
Christian Hammond <chipx86@chipx86.com>
parents: 5477
diff changeset
1489 ok_text, ok_cb,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1490 cancel_text, cancel_cb,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1491 account, who, conv,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1492 user_data);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1493
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1494 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1495
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1496 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1497 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1498
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1499 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1500 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1501
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1502 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1503 purple_request_choice(void *handle, const char *title, const char *primary,
19585
14b519abcc26 Fix some conversion warnings about using negative values with unsigned types. There are more, but these were easy fixes. You may think that I'm changing the API, but I'm really not - it was just wrong.
Daniel Atallah <datallah@pidgin.im>
parents: 18384
diff changeset
1504 const char *secondary, int default_value,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1505 const char *ok_text, GCallback ok_cb,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1506 const char *cancel_text, GCallback cancel_cb,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1507 PurpleAccount *account, const char *who, PurpleConversation *conv,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1508 void *user_data, ...)
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1509 {
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1510 void *ui_handle;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1511 va_list args;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1512
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1513 g_return_val_if_fail(ok_text != NULL, NULL);
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1514 g_return_val_if_fail(ok_cb != NULL, NULL);
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1515
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1516 va_start(args, user_data);
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1517 ui_handle = purple_request_choice_varg(handle, title, primary, secondary,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1518 default_value, ok_text, ok_cb,
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1519 cancel_text, cancel_cb,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1520 account, who, conv, user_data, args);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1521 va_end(args);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1522
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1523 return ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1524 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1525
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1526 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1527 purple_request_choice_varg(void *handle, const char *title,
10229
39ffee70c286 [gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents: 9502
diff changeset
1528 const char *primary, const char *secondary,
19585
14b519abcc26 Fix some conversion warnings about using negative values with unsigned types. There are more, but these were easy fixes. You may think that I'm changing the API, but I'm really not - it was just wrong.
Daniel Atallah <datallah@pidgin.im>
parents: 18384
diff changeset
1529 int default_value,
10229
39ffee70c286 [gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents: 9502
diff changeset
1530 const char *ok_text, GCallback ok_cb,
39ffee70c286 [gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents: 9502
diff changeset
1531 const char *cancel_text, GCallback cancel_cb,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1532 PurpleAccount *account, const char *who, PurpleConversation *conv,
20696
fed6b4e72b8f Weirdness
Gabriel Schulhof <nix@go-nix.ca>
parents: 20689
diff changeset
1533 void *user_data, va_list choices)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1534 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1535 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1536
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
1537 g_return_val_if_fail(ok_text != NULL, NULL);
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
1538 g_return_val_if_fail(ok_cb != NULL, NULL);
21980
3d855e66dc9e Documentation tweaks and more g_return_if_fail checks for NULL parameters which
Will Thompson <resiak@pidgin.im>
parents: 21648
diff changeset
1539 g_return_val_if_fail(cancel_text != NULL, NULL);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1540
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1541 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1542
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
1543 if (ops != NULL && ops->request_choice != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1544 PurpleRequestInfo *info;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1545
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1546 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1547 info->type = PURPLE_REQUEST_CHOICE;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1548 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1549 info->ui_handle = ops->request_choice(title, primary, secondary,
10229
39ffee70c286 [gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents: 9502
diff changeset
1550 default_value,
39ffee70c286 [gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents: 9502
diff changeset
1551 ok_text, ok_cb,
39ffee70c286 [gaim-migrate @ 11364]
Alceste Scalas <alceste.scalas@gmx.net>
parents: 9502
diff changeset
1552 cancel_text, cancel_cb,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1553 account, who, conv,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1554 user_data, choices);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1555
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1556 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1557
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1558 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1559 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1560
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1561 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1562 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1563
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1564 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1565 purple_request_action(void *handle, const char *title, const char *primary,
19585
14b519abcc26 Fix some conversion warnings about using negative values with unsigned types. There are more, but these were easy fixes. You may think that I'm changing the API, but I'm really not - it was just wrong.
Daniel Atallah <datallah@pidgin.im>
parents: 18384
diff changeset
1566 const char *secondary, int default_action,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1567 PurpleAccount *account, const char *who, PurpleConversation *conv,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1568 void *user_data, size_t action_count, ...)
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1569 {
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1570 void *ui_handle;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1571 va_list args;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1572
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1573 g_return_val_if_fail(action_count > 0, NULL);
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1574
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1575 va_start(args, action_count);
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1576 ui_handle = purple_request_action_varg(handle, title, primary, secondary,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1577 default_action, account, who, conv,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1578 user_data, action_count, args);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1579 va_end(args);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1580
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1581 return ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1582 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1583
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1584 void *
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30720
diff changeset
1585 purple_request_action_with_icon(void *handle, const char *title,
27427
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1586 const char *primary,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1587 const char *secondary, int default_action,
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30720
diff changeset
1588 PurpleAccount *account, const char *who,
27427
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1589 PurpleConversation *conv, gconstpointer icon_data,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1590 gsize icon_size, void *user_data, size_t action_count, ...)
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1591 {
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1592 void *ui_handle;
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1593 va_list args;
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1594
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1595 g_return_val_if_fail(action_count > 0, NULL);
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1596
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1597 va_start(args, action_count);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30720
diff changeset
1598 ui_handle = purple_request_action_with_icon_varg(handle, title, primary,
27427
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1599 secondary, default_action, account, who, conv, icon_data, icon_size,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1600 user_data, action_count, args);
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1601 va_end(args);
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1602
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1603 return ui_handle;
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1604 }
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1605
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1606
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1607 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1608 purple_request_action_varg(void *handle, const char *title,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1609 const char *primary, const char *secondary,
19585
14b519abcc26 Fix some conversion warnings about using negative values with unsigned types. There are more, but these were easy fixes. You may think that I'm changing the API, but I'm really not - it was just wrong.
Daniel Atallah <datallah@pidgin.im>
parents: 18384
diff changeset
1610 int default_action,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1611 PurpleAccount *account, const char *who, PurpleConversation *conv,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1612 void *user_data, size_t action_count, va_list actions)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1613 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1614 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1615
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
1616 g_return_val_if_fail(action_count > 0, NULL);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1617
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1618 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1619
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
1620 if (ops != NULL && ops->request_action != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1621 PurpleRequestInfo *info;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1622
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1623 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1624 info->type = PURPLE_REQUEST_ACTION;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1625 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1626 info->ui_handle = ops->request_action(title, primary, secondary,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1627 default_action, account, who, conv,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1628 user_data, action_count, actions);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1629
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1630 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1631
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1632 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1633 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1634
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1635 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1636 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1637
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1638 void *
30146
ffa4c7208d1c It seems like the _varg should be at the end.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30130
diff changeset
1639 purple_request_action_with_icon_varg(void *handle, const char *title,
27427
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1640 const char *primary, const char *secondary,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1641 int default_action,
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30720
diff changeset
1642 PurpleAccount *account, const char *who,
27427
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1643 PurpleConversation *conv, gconstpointer icon_data,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1644 gsize icon_size,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1645 void *user_data, size_t action_count, va_list actions)
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1646 {
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1647 PurpleRequestUiOps *ops;
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1648
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1649 g_return_val_if_fail(action_count > 0, NULL);
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1650
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1651 ops = purple_request_get_ui_ops();
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1652
30130
08725e76283a Woops, copy-paste error... :)
Marcus Lundblad <malu@pidgin.im>
parents: 29775
diff changeset
1653 if (ops != NULL && ops->request_action_with_icon != NULL) {
27427
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1654 PurpleRequestInfo *info;
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1655
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1656 info = g_new0(PurpleRequestInfo, 1);
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1657 info->type = PURPLE_REQUEST_ACTION;
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1658 info->handle = handle;
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1659 info->ui_handle = ops->request_action_with_icon(title, primary, secondary,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1660 default_action, account, who, conv,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1661 icon_data, icon_size,
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1662 user_data, action_count, actions);
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1663
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1664 handles = g_list_append(handles, info);
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1665
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1666 return info->ui_handle;
30720
021f34d5ceb3 Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents: 30146
diff changeset
1667 } else {
021f34d5ceb3 Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents: 30146
diff changeset
1668 /* Fall back on the non-icon request if the UI doesn't support icon
021f34d5ceb3 Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents: 30146
diff changeset
1669 requests */
021f34d5ceb3 Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents: 30146
diff changeset
1670 return purple_request_action_varg(handle, title, primary, secondary,
021f34d5ceb3 Fall back to a non-icon request dialog if a UI does not support showing icon requests. Fixes receiving file transfer offers including a thumbnail in finch. Closes #12561
Marcus Lundblad <malu@pidgin.im>
parents: 30146
diff changeset
1671 default_action, account, who, conv, user_data, action_count, actions);
27427
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1672 }
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1673
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1674 return NULL;
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1675 }
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1676
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1677
00f91afbd4d9 Show thumbnail in ft request dialog
Marcus Lundblad <malu@pidgin.im>
parents: 24990
diff changeset
1678 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1679 purple_request_fields(void *handle, const char *title, const char *primary,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1680 const char *secondary, PurpleRequestFields *fields,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1681 const char *ok_text, GCallback ok_cb,
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1682 const char *cancel_text, GCallback cancel_cb,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1683 PurpleAccount *account, const char *who, PurpleConversation *conv,
20696
fed6b4e72b8f Weirdness
Gabriel Schulhof <nix@go-nix.ca>
parents: 20689
diff changeset
1684 void *user_data)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1685 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1686 PurpleRequestUiOps *ops;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1687
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1688 g_return_val_if_fail(fields != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1689 g_return_val_if_fail(ok_text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1690 g_return_val_if_fail(ok_cb != NULL, NULL);
21980
3d855e66dc9e Documentation tweaks and more g_return_if_fail checks for NULL parameters which
Will Thompson <resiak@pidgin.im>
parents: 21648
diff changeset
1691 g_return_val_if_fail(cancel_text != NULL, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1692
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1693 ops = purple_request_get_ui_ops();
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1694
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1695 if (ops != NULL && ops->request_fields != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1696 PurpleRequestInfo *info;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1697
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1698 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1699 info->type = PURPLE_REQUEST_FIELDS;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1700 info->handle = handle;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1701 info->ui_handle = ops->request_fields(title, primary, secondary,
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1702 fields, ok_text, ok_cb,
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1703 cancel_text, cancel_cb,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1704 account, who, conv,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1705 user_data);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1706
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1707 handles = g_list_append(handles, info);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1708
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1709 return info->ui_handle;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1710 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1711
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1712 return NULL;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1713 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1714
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1715 void *
20686
ec1a687480d2 Minor fix
Gabriel Schulhof <nix@go-nix.ca>
parents: 20685
diff changeset
1716 purple_request_file(void *handle, const char *title, const char *filename,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1717 gboolean savedialog,
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1718 GCallback ok_cb, GCallback cancel_cb,
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1719 PurpleAccount *account, const char *who, PurpleConversation *conv,
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1720 void *user_data)
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1721 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1722 PurpleRequestUiOps *ops;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1723
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1724 ops = purple_request_get_ui_ops();
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1725
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1726 if (ops != NULL && ops->request_file != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1727 PurpleRequestInfo *info;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1728
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1729 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1730 info->type = PURPLE_REQUEST_FILE;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1731 info->handle = handle;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1732 info->ui_handle = ops->request_file(title, filename, savedialog,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1733 ok_cb, cancel_cb,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1734 account, who, conv, user_data);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1735 handles = g_list_append(handles, info);
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1736 return info->ui_handle;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1737 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1738
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1739 return NULL;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1740 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1741
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1742 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1743 purple_request_folder(void *handle, const char *title, const char *dirname,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1744 GCallback ok_cb, GCallback cancel_cb,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1745 PurpleAccount *account, const char *who, PurpleConversation *conv,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1746 void *user_data)
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1747 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1748 PurpleRequestUiOps *ops;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1749
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1750 ops = purple_request_get_ui_ops();
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1751
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1752 if (ops != NULL && ops->request_file != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1753 PurpleRequestInfo *info;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1754
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1755 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1756 info->type = PURPLE_REQUEST_FOLDER;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1757 info->handle = handle;
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1758 info->ui_handle = ops->request_folder(title, dirname,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1759 ok_cb, cancel_cb,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
1760 account, who, conv,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1761 user_data);
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1762 handles = g_list_append(handles, info);
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1763 return info->ui_handle;
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1764 }
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1765
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1766 return NULL;
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1767 }
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
1768
32888
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1769 void *
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1770 purple_request_certificate(void *handle, const char *title,
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1771 const char *primary, const char *secondary,
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1772 PurpleCertificate *cert,
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1773 const char *ok_text, GCallback ok_cb,
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1774 const char *cancel_text, GCallback cancel_cb,
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1775 void *user_data)
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1776 {
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1777 PurpleRequestFields *fields;
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1778 PurpleRequestFieldGroup *group;
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1779 PurpleRequestField *field;
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1780
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1781 fields = purple_request_fields_new();
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1782 group = purple_request_field_group_new(NULL);
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1783 purple_request_fields_add_group(fields, group);
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1784 field = purple_request_field_certificate_new("certificate", "Certificate", cert);
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1785 purple_request_field_group_add_field(group, field);
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1786
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1787 return purple_request_fields(handle, title, primary, secondary, fields,
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1788 ok_text, ok_cb, cancel_text, cancel_cb,
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1789 NULL, NULL, NULL, user_data);
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1790 }
3dc779e621c5 Add a function for prompting about a certificate. This is basically
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32886
diff changeset
1791
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1792 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1793 purple_request_close_info(PurpleRequestInfo *info)
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1794 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1795 PurpleRequestUiOps *ops;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1796
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1797 ops = purple_request_get_ui_ops();
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1798
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1799 purple_notify_close_with_handle(info->ui_handle);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1800 purple_request_close_with_handle(info->ui_handle);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1801
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1802 if (ops != NULL && ops->close_request != NULL)
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1803 ops->close_request(info->type, info->ui_handle);
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1804
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1805 g_free(info);
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1806 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
1807
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1808 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1809 purple_request_close(PurpleRequestType type, void *ui_handle)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1810 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1811 GList *l;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1812
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1813 g_return_if_fail(ui_handle != NULL);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1814
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1815 for (l = handles; l != NULL; l = l->next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1816 PurpleRequestInfo *info = l->data;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1817
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1818 if (info->ui_handle == ui_handle) {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1819 handles = g_list_remove(handles, info);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1820 purple_request_close_info(info);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1821 break;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1822 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1823 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1824 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1825
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1826 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1827 purple_request_close_with_handle(void *handle)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1828 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1829 GList *l, *l_next;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1830
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1831 g_return_if_fail(handle != NULL);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1832
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1833 for (l = handles; l != NULL; l = l_next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1834 PurpleRequestInfo *info = l->data;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1835
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1836 l_next = l->next;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1837
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1838 if (info->handle == handle) {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1839 handles = g_list_remove(handles, info);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1840 purple_request_close_info(info);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1841 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1842 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1843 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1844
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1845 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1846 purple_request_set_ui_ops(PurpleRequestUiOps *ops)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1847 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1848 request_ui_ops = ops;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1849 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1850
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1851 PurpleRequestUiOps *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1852 purple_request_get_ui_ops(void)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1853 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1854 return request_ui_ops;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1855 }

mercurial