libpurple/request.c

Sat, 04 Mar 2023 06:26:56 -0600

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Sat, 04 Mar 2023 06:26:56 -0600
changeset 42116
d80a59dc4c91
parent 42112
86e0a26348a1
child 42117
8a001a903e90
permissions
-rw-r--r--

Remove autosensitivity from request field

Nothing sets a sensitivity callback, and this induces a lot of bookkeeping to
track. When things are GObject, then interested parties can connect to property
notification instead of these callbacks.

Testing Done:
Compiled only.

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

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
1 /* purple
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7964
diff changeset
5 * source distribution.
7035
76bca80cd91d [gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents: 6325
diff changeset
6 *
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * (at your option) any later version.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * GNU General Public License for more details.
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 *
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19585
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 */
24900
a19d983918c2 Deprecate purple_request_field_list_add()
Richard Laager <rlaager@pidgin.im>
parents: 24899
diff changeset
21
40441
f23c7e772667 Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents: 40350
diff changeset
22 #include <glib/gi18n-lib.h>
f23c7e772667 Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents: 40350
diff changeset
23
40756
3a58ef28ee44 Implement mitigation for GHSL-2021-045
Gary Kramlich <grim@reaperworld.com>
parents: 40564
diff changeset
24 #include "glibcompat.h"
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
25 #include "notify.h"
40564
2c5b4dc2e86a Pull the purple_markup_* api out of util.[ch] to purplemarkup.[ch]. No code was changed just moved it from one file to the other.
Gary Kramlich <grim@reaperworld.com>
parents: 40441
diff changeset
26 #include "purplemarkup.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27 #include "request.h"
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
28 #include "debug.h"
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
29 #include "purpleaccountmanager.h"
40350
72271baf92bc Split PurpleKeyValuePair out to it's own file and try to do some cleanup in the files that need to include it.
Gary Kramlich <grim@reaperworld.com>
parents: 40329
diff changeset
30 #include "purplekeyvaluepair.h"
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
32 static PurpleRequestUiOps *request_ui_ops = NULL;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 static GList *handles = NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 typedef struct
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 {
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
37 GDestroyNotify cb;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
38 gpointer data;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
39 } PurpleRequestCloseNotified;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
40
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
41 typedef struct
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
42 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
43 PurpleRequestType type;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 void *handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 void *ui_handle;
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
46 GSList *notify_on_close;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
47 } PurpleRequestInfo;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
49 struct _PurpleRequestField
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
50 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
51 PurpleRequestFieldType type;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
52 PurpleRequestFieldGroup *group;
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 char *id;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
55 char *label;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
56 char *type_hint;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
57
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
58 gboolean visible;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
59 gboolean required;
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
60 gboolean sensitive;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
61
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
62 union
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
63 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
64 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
65 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
66 gboolean multiline;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
67 gboolean masked;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
68 char *default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
69 char *value;
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 } string;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
72
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
73 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
74 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
75 int default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
76 int value;
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
77 int lower_bound;
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
78 int upper_bound;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
79 } integer;
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 struct
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 gboolean default_value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
84 gboolean value;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
85
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
86 } boolean;
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 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
89 {
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
90 gpointer default_value;
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
91 gpointer value;
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
92
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
93 GList *elements;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
94 } choice;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
95
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
96 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
97 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
98 GList *items;
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
99 gboolean has_icons;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
100 GHashTable *item_data;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
101 GList *selected;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
102 GHashTable *selected_table;
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 gboolean multiple_selection;
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 } list;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
107
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
108 struct
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 PurpleAccount *default_account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
111 PurpleAccount *account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
112 gboolean show_all;
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 PurpleFilterAccountFunc filter_func;
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 } account;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
117
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
118 struct
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
119 {
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
120 unsigned int scale_x;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
121 unsigned int scale_y;
42105
e431d160e3a1 Fix leaks in requests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42005
diff changeset
122 char *buffer;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
123 gsize size;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
124 } image;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
125
32886
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
126 struct
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
127 {
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
128 PurpleRequestDatasheet *sheet;
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
129 } datasheet;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
130 } u;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
131
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
132 void *ui_data;
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
133 char *tooltip;
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
134
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
135 PurpleRequestFieldValidator validator;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
136 void *validator_data;
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
137 };
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
138
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
139 struct _PurpleRequestFields
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
140 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
141 GList *groups;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
142
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
143 GHashTable *fields;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
144
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
145 GList *required_fields;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
146
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
147 GList *validated_fields;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
148
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
149 void *ui_data;
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
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
152 struct _PurpleRequestFieldGroup
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
153 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
154 PurpleRequestFields *fields_list;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
155
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
156 char *title;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
157
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
158 GList *fields;
32216
5467debfccda Hide-a-Struct
Mark Doliner <markdoliner@pidgin.im>
parents: 31697
diff changeset
159 };
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
160
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
161 struct _PurpleRequestCommonParameters {
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
162 PurpleAccount *account;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
163 PurpleConversation *conv;
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
164
34336
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
165 PurpleRequestIconType icon_type;
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
166 gconstpointer icon_data;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
167 gsize icon_size;
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
168
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
169 gboolean html;
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
170
34339
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
171 gboolean compact;
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
172
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
173 PurpleRequestHelpCb help_cb;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
174 gpointer help_data;
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
175
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
176 GSList *extra_actions;
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
177
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
178 gpointer parent_from;
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
179 };
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
180
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
181 PurpleRequestCommonParameters *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
182 purple_request_cpar_new(void)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
183 {
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
184 return g_rc_box_new0(PurpleRequestCommonParameters);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
185 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
186
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
187 PurpleRequestCommonParameters *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
188 purple_request_cpar_from_connection(PurpleConnection *gc)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
189 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
190 if (gc == NULL)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
191 return purple_request_cpar_new();
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
192 return purple_request_cpar_from_account(
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
193 purple_connection_get_account(gc));
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
194 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
195
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
196 PurpleRequestCommonParameters *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
197 purple_request_cpar_from_account(PurpleAccount *account)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
198 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
199 PurpleRequestCommonParameters *cpar;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
200
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
201 cpar = purple_request_cpar_new();
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
202 purple_request_cpar_set_account(cpar, account);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
203
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
204 return cpar;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
205 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
206
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
207 PurpleRequestCommonParameters *
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
208 purple_request_cpar_from_conversation(PurpleConversation *conv)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
209 {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
210 PurpleRequestCommonParameters *cpar;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
211 PurpleAccount *account = NULL;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
212
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
213 if (conv != NULL) {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
214 account = purple_connection_get_account(
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
215 purple_conversation_get_connection(conv));
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
216 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
217
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
218 cpar = purple_request_cpar_new();
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
219 purple_request_cpar_set_account(cpar, account);
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
220 purple_request_cpar_set_conversation(cpar, conv);
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
221
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
222 return cpar;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
223 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
224
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
225 void
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
226 purple_request_cpar_ref(PurpleRequestCommonParameters *cpar)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
227 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
228 g_return_if_fail(cpar != NULL);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
229
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
230 g_rc_box_acquire(cpar);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
231 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
232
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
233 static void
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
234 purple_request_cpar_destroy(PurpleRequestCommonParameters *cpar) {
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
235 g_slist_free_full(cpar->extra_actions,
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
236 (GDestroyNotify)purple_key_value_pair_free);
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
237 }
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
238
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
239 void
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
240 purple_request_cpar_unref(PurpleRequestCommonParameters *cpar)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
241 {
42112
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
242 if(cpar == NULL) {
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
243 return;
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
244 }
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
245
86e0a26348a1 Use RcBox for PurpleRequestCommonParameters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42105
diff changeset
246 g_rc_box_release_full(cpar, (GDestroyNotify)purple_request_cpar_destroy);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
247 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
248
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
249 void
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
250 purple_request_cpar_set_account(PurpleRequestCommonParameters *cpar,
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
251 PurpleAccount *account)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
252 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
253 g_return_if_fail(cpar != NULL);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
254
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
255 cpar->account = account;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
256 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
257
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
258 PurpleAccount *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
259 purple_request_cpar_get_account(PurpleRequestCommonParameters *cpar)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
260 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
261 if (cpar == NULL)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
262 return NULL;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
263
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
264 return cpar->account;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
265 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
266
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
267 void
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
268 purple_request_cpar_set_conversation(PurpleRequestCommonParameters *cpar,
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
269 PurpleConversation *conv)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
270 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
271 g_return_if_fail(cpar != NULL);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
272
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
273 cpar->conv = conv;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
274 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
275
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
276 PurpleConversation *
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
277 purple_request_cpar_get_conversation(PurpleRequestCommonParameters *cpar)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
278 {
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
279 if (cpar == NULL)
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
280 return NULL;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
281
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
282 return cpar->conv;
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
283 }
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
284
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
285 void
34336
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
286 purple_request_cpar_set_icon(PurpleRequestCommonParameters *cpar,
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
287 PurpleRequestIconType icon_type)
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
288 {
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
289 g_return_if_fail(cpar != NULL);
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
290
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
291 cpar->icon_type = icon_type;
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
292 }
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
293
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
294 PurpleRequestIconType
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
295 purple_request_cpar_get_icon(PurpleRequestCommonParameters *cpar)
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
296 {
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
297 if (cpar == NULL)
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
298 return PURPLE_REQUEST_ICON_DEFAULT;
34336
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
299
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
300 return cpar->icon_type;
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
301 }
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
302
5f3ec29a886b Request API: the ability to set stock icons
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34335
diff changeset
303 void
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
304 purple_request_cpar_set_custom_icon(PurpleRequestCommonParameters *cpar,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
305 gconstpointer icon_data, gsize icon_size)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
306 {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
307 g_return_if_fail(cpar != NULL);
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
308 g_return_if_fail((icon_data == NULL) == (icon_size == 0));
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
309
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
310 cpar->icon_data = icon_data;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
311 cpar->icon_size = icon_size;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
312 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
313
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
314 gconstpointer
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
315 purple_request_cpar_get_custom_icon(PurpleRequestCommonParameters *cpar,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
316 gsize *icon_size)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
317 {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
318 if (cpar == NULL) {
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
319 if (icon_size != NULL)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
320 *icon_size = 0;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
321 return NULL;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
322 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
323
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
324 if (icon_size != NULL)
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
325 *icon_size = cpar->icon_size;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
326 return cpar->icon_data;
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
327 }
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
328
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
329 void
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
330 purple_request_cpar_set_html(PurpleRequestCommonParameters *cpar,
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
331 gboolean enabled)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
332 {
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
333 g_return_if_fail(cpar != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
334
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
335 cpar->html = enabled;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
336 }
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
337
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
338 gboolean
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
339 purple_request_cpar_is_html(PurpleRequestCommonParameters *cpar)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
340 {
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
341 if (cpar == NULL)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
342 return FALSE;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
343
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
344 return cpar->html;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
345 }
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
346
34339
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
347 void
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
348 purple_request_cpar_set_compact(PurpleRequestCommonParameters *cpar,
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
349 gboolean compact)
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
350 {
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
351 g_return_if_fail(cpar != NULL);
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
352
34339
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
353 cpar->compact = compact;
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
354 }
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
355
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
356 gboolean
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
357 purple_request_cpar_is_compact(PurpleRequestCommonParameters *cpar)
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
358 {
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
359 if (cpar == NULL)
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
360 return FALSE;
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
361
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
362 return cpar->compact;
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
363 }
3579cb14f8f2 Request API: compact layout feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34338
diff changeset
364
34341
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
365 void
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
366 purple_request_cpar_set_help_cb(PurpleRequestCommonParameters *cpar,
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
367 PurpleRequestHelpCb cb, gpointer user_data)
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
368 {
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
369 g_return_if_fail(cpar != NULL);
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
370
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
371 cpar->help_cb = cb;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
372 cpar->help_data = cb ? user_data : NULL;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
373 }
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
374
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
375 PurpleRequestHelpCb
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
376 purple_request_cpar_get_help_cb(PurpleRequestCommonParameters *cpar,
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
377 gpointer *user_data)
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
378 {
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
379 if (cpar == NULL)
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
380 return NULL;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
381
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
382 if (user_data != NULL)
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
383 *user_data = cpar->help_data;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
384 return cpar->help_cb;
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
385 }
b23d9c0b64d5 Request API: help button support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34339
diff changeset
386
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
387 void
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
388 purple_request_cpar_set_extra_actions(PurpleRequestCommonParameters *cpar, ...)
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
389 {
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
390 va_list args;
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
391 GSList *extra = NULL;
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
392
40329
b5e0f65a5d9c Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
393 g_slist_free_full(cpar->extra_actions, (GDestroyNotify)purple_key_value_pair_free);
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
394
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
395 va_start(args, cpar);
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
396
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
397 while (TRUE) {
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
398 const gchar *label;
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
399 PurpleRequestFieldsCb cb;
40329
b5e0f65a5d9c Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
400 PurpleKeyValuePair *extra_action;
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
401
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
402 label = va_arg(args, const gchar*);
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
403 if (label == NULL)
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
404 break;
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
405 cb = va_arg(args, PurpleRequestFieldsCb);
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
406
40329
b5e0f65a5d9c Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
407 extra_action = purple_key_value_pair_new(label, cb);
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
408
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
409 extra = g_slist_append(extra, extra_action);
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
410 }
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
411
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
412 va_end(args);
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
413
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
414 cpar->extra_actions = extra;
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
415 }
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
416
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
417 GSList *
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
418 purple_request_cpar_get_extra_actions(PurpleRequestCommonParameters *cpar)
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
419 {
34452
7d05b0f03826 Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34451
diff changeset
420 if (cpar == NULL)
7d05b0f03826 Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34451
diff changeset
421 return NULL;
7d05b0f03826 Request API: fix a crash
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34451
diff changeset
422
34444
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
423 return cpar->extra_actions;
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
424 }
4fe0e2422d82 Request API: extra actions for fields request
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34443
diff changeset
425
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
426 void
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
427 purple_request_cpar_set_parent_from(PurpleRequestCommonParameters *cpar,
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
428 gpointer ui_handle)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
429 {
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
430 g_return_if_fail(cpar != NULL);
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
431
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
432 cpar->parent_from = ui_handle;
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
433 }
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
434
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
435 gpointer
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
436 purple_request_cpar_get_parent_from(PurpleRequestCommonParameters *cpar)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
437 {
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
438 if (cpar == NULL)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
439 return NULL;
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
440
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
441 return cpar->parent_from;
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
442 }
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
443
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
444 static PurpleRequestInfo *
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
445 purple_request_info_from_ui_handle(void *ui_handle)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
446 {
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
447 GList *it;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
448
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
449 g_return_val_if_fail(ui_handle != NULL, NULL);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
450
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
451 for (it = handles; it != NULL; it = g_list_next(it)) {
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
452 PurpleRequestInfo *info = it->data;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
453
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
454 if (info->ui_handle == ui_handle)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
455 return info;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
456 }
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
457
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
458 return NULL;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
459 }
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
460
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
461 PurpleRequestFields *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
462 purple_request_fields_new(void)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
463 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
464 PurpleRequestFields *fields;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
465
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
466 fields = g_new0(PurpleRequestFields, 1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
467
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
468 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
469 g_free, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
470
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
471 return fields;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
472 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
473
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
474 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
475 purple_request_fields_destroy(PurpleRequestFields *fields)
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 g_return_if_fail(fields != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
478
39897
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
479 g_list_free_full(fields->groups,
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
480 (GDestroyNotify)purple_request_field_group_destroy);
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
481 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
482 g_list_free(fields->validated_fields);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
483 g_hash_table_destroy(fields->fields);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
484 g_free(fields);
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
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
487 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
488 purple_request_fields_add_group(PurpleRequestFields *fields,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
489 PurpleRequestFieldGroup *group)
5807
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 GList *l;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
492 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
493
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
494 g_return_if_fail(fields != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
495 g_return_if_fail(group != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
496
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
497 fields->groups = g_list_append(fields->groups, group);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
498
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
499 group->fields_list = fields;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
500
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
501 for (l = purple_request_field_group_get_fields(group);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
502 l != NULL;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
503 l = l->next) {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
504
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
505 field = l->data;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
506
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
507 g_hash_table_insert(fields->fields,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
508 g_strdup(purple_request_field_get_id(field)), field);
14149
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
509
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
510 if (purple_request_field_is_required(field)) {
14149
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
511 fields->required_fields =
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
512 g_list_append(fields->required_fields, field);
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
513 }
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
514
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
515 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
516 fields->validated_fields =
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
517 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
518 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
519 }
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 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
523 purple_request_fields_get_groups(const PurpleRequestFields *fields)
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_val_if_fail(fields != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
526
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
527 return fields->groups;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
528 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
529
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
530 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
531 purple_request_fields_exists(const PurpleRequestFields *fields, const char *id)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
532 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
533 g_return_val_if_fail(fields != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
534 g_return_val_if_fail(id != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
535
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
536 return (g_hash_table_lookup(fields->fields, id) != NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
537 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
538
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
539 const GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
540 purple_request_fields_get_required(const PurpleRequestFields *fields)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
541 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
542 g_return_val_if_fail(fields != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
543
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
544 return fields->required_fields;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
545 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
546
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
547 const GList *
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
548 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
549 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
550 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
551
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
552 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
553 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
554
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
555 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
556 purple_request_fields_is_field_required(const PurpleRequestFields *fields,
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
557 const char *id)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
558 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
559 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
560
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
561 g_return_val_if_fail(fields != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
562 g_return_val_if_fail(id != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
563
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
564 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
565 return FALSE;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
566
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
567 return purple_request_field_is_required(field);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
568 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
569
24984
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
570 gpointer
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
571 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
572 {
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
573 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
574
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
575 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
576 }
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
577
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
578 void
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
579 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
580 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
581 {
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
582 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
583
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
584 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
585 }
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
586
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
587 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
588 purple_request_fields_all_required_filled(const PurpleRequestFields *fields)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
589 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
590 GList *l;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
591
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
592 g_return_val_if_fail(fields != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
593
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
594 for (l = fields->required_fields; l != NULL; l = l->next)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
595 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
596 PurpleRequestField *field = (PurpleRequestField *)l->data;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
597
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
598 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
599 return FALSE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
600 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
601
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
602 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
603 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
604
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
605 gboolean
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
606 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
607 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
608 GList *l;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
609
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
610 g_return_val_if_fail(fields != NULL, FALSE);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
611
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
612 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
613 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
614 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
615
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
616 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
617 return FALSE;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
618 }
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 return TRUE;
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
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
623 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
624 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
625 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
626 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
627
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
628 g_return_val_if_fail(fields != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
629 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
630
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
631 field = g_hash_table_lookup(fields->fields, id);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
632
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
633 g_return_val_if_fail(field != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
634
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
635 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
636 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
637
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
638 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
639 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
640 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
641 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
642
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
643 g_return_val_if_fail(fields != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
644 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
645
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
646 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
647 return NULL;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
648
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
649 return purple_request_field_string_get_value(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
650 }
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 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
653 purple_request_fields_get_integer(const PurpleRequestFields *fields,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
654 const char *id)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
655 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
656 PurpleRequestField *field;
5807
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 g_return_val_if_fail(fields != NULL, 0);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
659 g_return_val_if_fail(id != NULL, 0);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
660
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
661 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
662 return 0;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
663
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
664 return purple_request_field_int_get_value(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
665 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
666
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
667 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
668 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
669 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
670 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
671
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
672 g_return_val_if_fail(fields != NULL, FALSE);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
673 g_return_val_if_fail(id != NULL, FALSE);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
674
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
675 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
676 return FALSE;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
677
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
678 return purple_request_field_bool_get_value(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
679 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
680
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
681 gpointer
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
682 purple_request_fields_get_choice(const PurpleRequestFields *fields,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
683 const char *id)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
684 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
685 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
686
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
687 g_return_val_if_fail(fields != NULL, NULL);
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
688 g_return_val_if_fail(id != NULL, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
689
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
690 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
691 return NULL;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
692
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
693 return purple_request_field_choice_get_value(field);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
694 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
695
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
696 PurpleAccount *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
697 purple_request_fields_get_account(const PurpleRequestFields *fields,
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
698 const char *id)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
699 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
700 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
701
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
702 g_return_val_if_fail(fields != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
703 g_return_val_if_fail(id != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
704
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
705 if ((field = purple_request_fields_get_field(fields, id)) == NULL)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
706 return NULL;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
707
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
708 return purple_request_field_account_get_value(field);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
709 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
710
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
711 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
712 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
713 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
714
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
715 return fields->ui_data;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
716 }
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
717
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
718 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
719 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
720 g_return_if_fail(fields != NULL);
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
721
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
722 fields->ui_data = ui_data;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
723 }
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
724
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
725 PurpleRequestFieldGroup *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
726 purple_request_field_group_new(const char *title)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
727 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
728 PurpleRequestFieldGroup *group;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
729
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
730 group = g_new0(PurpleRequestFieldGroup, 1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
731
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
732 group->title = g_strdup(title);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
733
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
734 return group;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
735 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
736
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
737 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
738 purple_request_field_group_destroy(PurpleRequestFieldGroup *group)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
739 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
740 g_return_if_fail(group != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
741
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
742 g_free(group->title);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
743
39897
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
744 g_list_free_full(group->fields,
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
745 (GDestroyNotify)purple_request_field_destroy);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
746
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
747 g_free(group);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
748 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
749
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
750 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
751 purple_request_field_group_add_field(PurpleRequestFieldGroup *group,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
752 PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
753 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
754 g_return_if_fail(group != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
755 g_return_if_fail(field != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
756
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
757 group->fields = g_list_append(group->fields, field);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
758
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
759 if (group->fields_list != NULL)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
760 {
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
761 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
762 g_strdup(purple_request_field_get_id(field)), field);
14149
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
763
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
764 if (purple_request_field_is_required(field))
14149
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
765 {
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
766 group->fields_list->required_fields =
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
767 g_list_append(group->fields_list->required_fields, field);
df0304d74e95 [gaim-migrate @ 16710]
Daniel Atallah <datallah@pidgin.im>
parents: 14128
diff changeset
768 }
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
769
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
770 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
771 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
772 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
773 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
774 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
775 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
776
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
777 field->group = group;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
778
5807
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
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
781 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
782 purple_request_field_group_get_title(const PurpleRequestFieldGroup *group)
5807
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_val_if_fail(group != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
785
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
786 return group->title;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
787 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
788
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
789 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
790 purple_request_field_group_get_fields(const PurpleRequestFieldGroup *group)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
791 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
792 g_return_val_if_fail(group != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
793
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
794 return group->fields;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
795 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
796
32273
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
797 PurpleRequestFields *
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
798 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
799 {
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
800 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
801
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
802 return group->fields_list;
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
803 }
55a194e489bb A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents: 32216
diff changeset
804
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
805 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
806 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
807 PurpleRequestFieldType type)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
808 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
809 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
810
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
811 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
812 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
813
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
814 field = g_new0(PurpleRequestField, 1);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
815
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
816 field->id = g_strdup(id);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
817 field->type = type;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
818
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
819 purple_request_field_set_label(field, text);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
820 purple_request_field_set_visible(field, TRUE);
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
821 purple_request_field_set_sensitive(field, TRUE);
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 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
824 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
825
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
826 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
827 purple_request_field_destroy(PurpleRequestField *field)
5807
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 g_return_if_fail(field != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
830
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
831 g_free(field->id);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
832 g_free(field->label);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
833 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
834 g_free(field->tooltip);
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
835
42105
e431d160e3a1 Fix leaks in requests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42005
diff changeset
836 if(field->type == PURPLE_REQUEST_FIELD_STRING) {
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
837 g_free(field->u.string.default_value);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
838 g_free(field->u.string.value);
42105
e431d160e3a1 Fix leaks in requests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42005
diff changeset
839 } else if(field->type == PURPLE_REQUEST_FIELD_CHOICE) {
40817
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
840 g_list_free_full(field->u.choice.elements, (GDestroyNotify)purple_key_value_pair_free);
42105
e431d160e3a1 Fix leaks in requests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42005
diff changeset
841 } else if(field->type == PURPLE_REQUEST_FIELD_LIST) {
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
842 g_list_free_full(field->u.list.items, (GDestroyNotify)purple_key_value_pair_free);
39897
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
843 g_list_free_full(field->u.list.selected, g_free);
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
844 g_hash_table_destroy(field->u.list.item_data);
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
845 g_hash_table_destroy(field->u.list.selected_table);
42105
e431d160e3a1 Fix leaks in requests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42005
diff changeset
846 } else if(field->type == PURPLE_REQUEST_FIELD_DATASHEET) {
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
847 purple_request_datasheet_free(field->u.datasheet.sheet);
42105
e431d160e3a1 Fix leaks in requests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42005
diff changeset
848 } else if(field->type == PURPLE_REQUEST_FIELD_IMAGE) {
e431d160e3a1 Fix leaks in requests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42005
diff changeset
849 g_free(field->u.image.buffer);
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
850 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
851
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
852 g_free(field);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
853 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
854
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
855 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
856 purple_request_field_set_label(PurpleRequestField *field, const char *label)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
857 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
858 g_return_if_fail(field != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
859
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
860 g_free(field->label);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
861 field->label = g_strdup(label);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
862 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
863
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
864 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
865 purple_request_field_set_visible(PurpleRequestField *field, gboolean visible)
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
866 {
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
867 g_return_if_fail(field != NULL);
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
868
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
869 field->visible = visible;
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
870 }
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
871
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
872 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
873 purple_request_field_set_type_hint(PurpleRequestField *field,
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
874 const char *type_hint)
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
875 {
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
876 g_return_if_fail(field != NULL);
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
877
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
878 g_free(field->type_hint);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
879 field->type_hint = g_strdup(type_hint);
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
880 }
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
881
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
882 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
883 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
884 {
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
885 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
886
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
887 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
888 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
889 }
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
890
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
891 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
892 purple_request_field_set_required(PurpleRequestField *field, gboolean required)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
893 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
894 g_return_if_fail(field != NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
895
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
896 if (field->required == required)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
897 return;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
898
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
899 field->required = required;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
900
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
901 if (field->group != NULL)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
902 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
903 if (required)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
904 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
905 field->group->fields_list->required_fields =
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
906 g_list_append(field->group->fields_list->required_fields,
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
907 field);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
908 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
909 else
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
910 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
911 field->group->fields_list->required_fields =
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
912 g_list_remove(field->group->fields_list->required_fields,
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
913 field);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
914 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
915 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
916 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
917
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
918 PurpleRequestFieldType
35378
5d9e2581005b gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents: 35190
diff changeset
919 purple_request_field_get_field_type(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
920 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
921 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
922
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
923 return field->type;
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
24984
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
926 PurpleRequestFieldGroup *
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
927 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
928 {
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
929 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
930
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
931 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
932 }
64b88867fbdf Hide the PurpleRequestField struct. I figured this one would be easy and
Richard Laager <rlaager@pidgin.im>
parents: 21990
diff changeset
933
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
934 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
935 purple_request_field_get_id(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
936 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
937 g_return_val_if_fail(field != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
938
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
939 return field->id;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
940 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
941
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
942 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
943 purple_request_field_get_label(const PurpleRequestField *field)
5807
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 g_return_val_if_fail(field != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
946
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
947 return field->label;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
948 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
949
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
950 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
951 purple_request_field_is_visible(const PurpleRequestField *field)
7904
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
952 {
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
953 g_return_val_if_fail(field != NULL, FALSE);
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
954
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
955 return field->visible;
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
956 }
266d6d5c68ac [gaim-migrate @ 8564]
Christian Hammond <chipx86@chipx86.com>
parents: 7902
diff changeset
957
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
958 const char *
35378
5d9e2581005b gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents: 35190
diff changeset
959 purple_request_field_get_field_type_hint(const PurpleRequestField *field)
8285
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
960 {
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
961 g_return_val_if_fail(field != NULL, NULL);
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
962
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
963 return field->type_hint;
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
964 }
22b999a12246 [gaim-migrate @ 9009]
Christian Hammond <chipx86@chipx86.com>
parents: 8046
diff changeset
965
31697
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
966 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
967 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
968 {
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
969 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
970
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
971 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
972 }
b6c47ea33682 Add API: purple_request_field_set_tooltip & purple_request_field_get_tooltip
Andrew Victor <andrew.victor@mxit.com>
parents: 31294
diff changeset
973
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
974 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
975 purple_request_field_is_required(const PurpleRequestField *field)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
976 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
977 g_return_val_if_fail(field != NULL, FALSE);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
978
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
979 return field->required;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
980 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
981
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
982 gboolean
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
983 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
984 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
985 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
986
35378
5d9e2581005b gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents: 35190
diff changeset
987 switch (purple_request_field_get_field_type(field))
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
988 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
989 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
990 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
991 *(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
992 default:
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
993 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
994 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
995 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
996
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
997 void
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
998 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
999 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
1000 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1001 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
1002
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1003 field->validator = validator;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1004 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
1005
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1006 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
1007 {
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1008 PurpleRequestFields *flist = field->group->fields_list;
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1009 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
1010 field);
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1011 if (validator)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1012 {
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1013 flist->validated_fields = g_list_append(
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1014 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
1015 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1016 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1017 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1018
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1019 gboolean
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1020 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
1021 {
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1022 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
1023
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1024 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
1025 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1026
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1027 gboolean
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1028 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
1029 {
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1030 gboolean valid;
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1031
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1032 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
1033
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1034 if (!field->validator)
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1035 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1036
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1037 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
1038 !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
1039 return TRUE;
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1040
33219
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1041 valid = field->validator(field, errmsg, field->validator_data);
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1042
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1043 if (valid && errmsg)
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1044 *errmsg = NULL;
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1045
06b19630bdb0 Validation for Request API fixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33213
diff changeset
1046 return valid;
33213
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1047 }
2852fbde4722 Validation for Request API; use it in 'new IM' dialog.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32888
diff changeset
1048
34494
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1049 void
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1050 purple_request_field_set_sensitive(PurpleRequestField *field,
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1051 gboolean sensitive)
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1052 {
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1053 g_return_if_fail(field != NULL);
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1054
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1055 field->sensitive = sensitive;
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1056 }
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1057
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1058 gboolean
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1059 purple_request_field_is_sensitive(PurpleRequestField *field)
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1060 {
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1061 g_return_val_if_fail(field != NULL, FALSE);
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1062
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1063 return field->sensitive;
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1064 }
eee5ad689415 Request API: fields sensitivity
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
1065
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1066 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1067 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
1068 const char *default_value, gboolean multiline)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1069 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1070 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1071
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1072 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1073 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1074
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1075 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
1076
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1077 field->u.string.multiline = multiline;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1078
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1079 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
1080 purple_request_field_string_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1081
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1082 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1083 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1084
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
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_string_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1087 const char *default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1088 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1089 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1090 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1091
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
1092 g_free(field->u.string.default_value);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
1093 field->u.string.default_value = g_strdup(default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1094 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1095
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1096 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1097 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
1098 {
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1099 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1100 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1101
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
1102 g_free(field->u.string.value);
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13283
diff changeset
1103 field->u.string.value = g_strdup(value);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1104 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1105
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1106 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1107 purple_request_field_string_set_masked(PurpleRequestField *field, gboolean masked)
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1108 {
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1109 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1110 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING);
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1111
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1112 field->u.string.masked = masked;
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1113 }
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1114
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1115 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1116 purple_request_field_string_get_default_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1117 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1118 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
1119 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
1120
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1121 return field->u.string.default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1122 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1123
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1124 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1125 purple_request_field_string_get_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1126 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1127 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
1128 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
1129
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1130 return field->u.string.value;
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1131 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1132
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1133 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1134 purple_request_field_string_is_multiline(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1135 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1136 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
1137 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
1138
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1139 return field->u.string.multiline;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1140 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1141
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1142 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1143 purple_request_field_string_is_masked(const PurpleRequestField *field)
7047
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1144 {
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1145 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
1146 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
1147
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1148 return field->u.string.masked;
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1149 }
0cefcbc12508 [gaim-migrate @ 7610]
Christian Hammond <chipx86@chipx86.com>
parents: 7035
diff changeset
1150
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1151 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1152 purple_request_field_int_new(const char *id, const char *text,
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1153 int default_value, int lower_bound, int upper_bound)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1154 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1155 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1156
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1157 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1158 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1159
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1160 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
1161
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1162 purple_request_field_int_set_lower_bound(field, lower_bound);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1163 purple_request_field_int_set_upper_bound(field, upper_bound);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1164 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
1165 purple_request_field_int_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1166
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1167 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1168 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1169
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1170 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1171 purple_request_field_int_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1172 int default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1173 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1174 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1175 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1176
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1177 field->u.integer.default_value = default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1178 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1179
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1180 void
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1181 purple_request_field_int_set_lower_bound(PurpleRequestField *field,
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1182 int lower_bound)
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1183 {
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1184 g_return_if_fail(field != NULL);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1185 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1186
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1187 field->u.integer.lower_bound = lower_bound;
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1188 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1189
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1190 void
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1191 purple_request_field_int_set_upper_bound(PurpleRequestField *field,
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1192 int upper_bound)
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1193 {
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1194 g_return_if_fail(field != NULL);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1195 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1196
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1197 field->u.integer.upper_bound = upper_bound;
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1198 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1199
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1200 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1201 purple_request_field_int_set_value(PurpleRequestField *field, int value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1202 {
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1203 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1204 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1205
33936
c941cb2cedf7 Fix bound checking in request api
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33935
diff changeset
1206 if (value < field->u.integer.lower_bound ||
c941cb2cedf7 Fix bound checking in request api
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33935
diff changeset
1207 value > field->u.integer.upper_bound) {
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1208 purple_debug_error("request", "Int value out of bounds\n");
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1209 return;
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1210 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1211
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1212 field->u.integer.value = value;
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1213 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1214
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1215 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1216 purple_request_field_int_get_default_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1217 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1218 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
1219 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
1220
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1221 return field->u.integer.default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1222 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1223
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1224 int
33935
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1225 purple_request_field_int_get_lower_bound(const PurpleRequestField *field)
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1226 {
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1227 g_return_val_if_fail(field != NULL, 0);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1228 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER, 0);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1229
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1230 return field->u.integer.lower_bound;
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1231 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1232
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1233 int
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1234 purple_request_field_int_get_upper_bound(const PurpleRequestField *field)
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1235 {
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1236 g_return_val_if_fail(field != NULL, 0);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1237 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_INTEGER, 0);
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1238
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1239 return field->u.integer.upper_bound;
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1240 }
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1241
e740bbb8350c Request API: fix integer fields, add bounds to them
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33237
diff changeset
1242 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1243 purple_request_field_int_get_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1244 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1245 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
1246 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
1247
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1248 return field->u.integer.value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1249 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1250
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1251 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1252 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
1253 gboolean default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1254 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1255 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1256
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1257 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1258 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1259
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1260 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
1261
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1262 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
1263 purple_request_field_bool_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1264
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1265 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1266 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1267
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1268 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1269 purple_request_field_bool_set_default_value(PurpleRequestField *field,
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1270 gboolean default_value)
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1271 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1272 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1273 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1274
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1275 field->u.boolean.default_value = default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1276 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1277
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1278 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1279 purple_request_field_bool_set_value(PurpleRequestField *field, gboolean value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1280 {
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1281 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1282 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_BOOLEAN);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1283
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1284 field->u.boolean.value = value;
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1285 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1286
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1287 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1288 purple_request_field_bool_get_default_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1289 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1290 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
1291 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
1292
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1293 return field->u.boolean.default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1294 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1295
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1296 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1297 purple_request_field_bool_get_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1298 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1299 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
1300 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
1301
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1302 return field->u.boolean.value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1303 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1304
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1305 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1306 purple_request_field_choice_new(const char *id, const char *text,
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1307 gpointer default_value)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1308 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1309 PurpleRequestField *field;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1310
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1311 g_return_val_if_fail(id != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1312 g_return_val_if_fail(text != NULL, NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1313
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1314 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
1315
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1316 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
1317 purple_request_field_choice_set_value(field, default_value);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1318
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1319 return field;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1320 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1321
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1322 void
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1323 purple_request_field_choice_add(PurpleRequestField *field, const char *label,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1324 gpointer value)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1325 {
40817
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1326 purple_request_field_choice_add_full(field, label, value, NULL);
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1327 }
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1328
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1329 void
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1330 purple_request_field_choice_add_full(PurpleRequestField *field, const char *label,
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1331 gpointer value, GDestroyNotify destroy)
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1332 {
40329
b5e0f65a5d9c Replace PurpleNamedValue with PurpleKeyValuePair
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
1333 PurpleKeyValuePair *choice;
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
1334
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1335 g_return_if_fail(field != NULL);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1336 g_return_if_fail(label != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1337 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1338
40817
7f0cde300360 Add purple_request_field_choice_add_full
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40756
diff changeset
1339 choice = purple_key_value_pair_new_full(label, value, destroy);
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
1340
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1341 field->u.choice.elements = g_list_append(field->u.choice.elements,
40326
cdca03a74387 Add PurpleNamedValue to use in lists instead of consecutive key and value elements
qarkai <qarkai@gmail.com>
parents: 40195
diff changeset
1342 choice);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1343 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1344
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1345 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1346 purple_request_field_choice_set_default_value(PurpleRequestField *field,
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1347 gpointer default_value)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1348 {
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1349 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1350 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1351
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1352 field->u.choice.default_value = default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1353 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1354
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1355 void
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1356 purple_request_field_choice_set_value(PurpleRequestField *field, gpointer value)
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1357 {
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1358 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1359 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE);
5808
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1360
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1361 field->u.choice.value = value;
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1362 }
480370b3188c [gaim-migrate @ 6238]
Christian Hammond <chipx86@chipx86.com>
parents: 5807
diff changeset
1363
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1364 gpointer
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1365 purple_request_field_choice_get_default_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1366 {
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1367 g_return_val_if_fail(field != NULL, NULL);
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1368 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1369
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1370 return field->u.choice.default_value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1371 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1372
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1373 gpointer
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1374 purple_request_field_choice_get_value(const PurpleRequestField *field)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1375 {
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1376 g_return_val_if_fail(field != NULL, NULL);
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1377 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_CHOICE, NULL);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1378
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1379 return field->u.choice.value;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1380 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1381
5809
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1382 GList *
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1383 purple_request_field_choice_get_elements(const PurpleRequestField *field)
5809
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1384 {
3550646492e0 [gaim-migrate @ 6239]
Christian Hammond <chipx86@chipx86.com>
parents: 5808
diff changeset
1385 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
1386 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
1387
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1388 return field->u.choice.elements;
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1389 }
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1390
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1391 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1392 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
1393 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1394 PurpleRequestField *field;
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1395
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1396 g_return_val_if_fail(id != NULL, NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1397
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1398 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
1399
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1400 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
1401 g_free, NULL);
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1402
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1403 field->u.list.selected_table =
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1404 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
1405
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1406 return field;
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1407 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1408
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1409 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1410 purple_request_field_list_set_multi_select(PurpleRequestField *field,
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1411 gboolean multi_select)
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1412 {
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1413 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1414 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1415
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1416 field->u.list.multiple_selection = multi_select;
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1417 }
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1418
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
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_list_get_multi_select(const PurpleRequestField *field)
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1421 {
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
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_LIST, FALSE);
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1424
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1425 return field->u.list.multiple_selection;
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1426 }
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1427
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1428 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1429 purple_request_field_list_get_data(const PurpleRequestField *field,
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1430 const char *text)
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1431 {
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1432 g_return_val_if_fail(field != NULL, NULL);
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1433 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
1434 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
1435
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1436 return g_hash_table_lookup(field->u.list.item_data, text);
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1437 }
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1438
7899
b908d0b9035a [gaim-migrate @ 8559]
Christian Hammond <chipx86@chipx86.com>
parents: 7898
diff changeset
1439 void
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1440 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
1441 void *data)
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1442 {
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1443 PurpleKeyValuePair *kvp;
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1444
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1445 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
1446 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
1447 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
1448 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
1449
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1450 field->u.list.has_icons = field->u.list.has_icons || (icon_path != NULL);
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1451 kvp = purple_key_value_pair_new_full(item, g_strdup(icon_path), g_free);
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1452 field->u.list.items = g_list_append(field->u.list.items, kvp);
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1453 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
1454 }
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1455
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1456 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1457 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
1458 {
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1459 g_return_if_fail(field != NULL);
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1460 g_return_if_fail(item != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1461 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1462
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1463 if (!purple_request_field_list_get_multi_select(field) &&
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1464 field->u.list.selected != NULL)
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1465 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1466 purple_debug_warning("request",
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1467 "More than one item added to non-multi-select "
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1468 "field %s\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1469 purple_request_field_get_id(field));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1470 return;
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1471 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1472
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1473 field->u.list.selected = g_list_append(field->u.list.selected,
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1474 g_strdup(item));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1475
42005
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1476 g_hash_table_add(field->u.list.selected_table, g_strdup(item));
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1477 }
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1478
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1479 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1480 purple_request_field_list_clear_selected(PurpleRequestField *field)
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1481 {
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1482 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1483 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1484
7962
92ef549901f6 [gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents: 7909
diff changeset
1485 if (field->u.list.selected != NULL)
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1486 {
39897
16b440d4ab36 Use g_list_free_full instead of g_list_foreach+g_list_free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
1487 g_list_free_full(field->u.list.selected, g_free);
7962
92ef549901f6 [gaim-migrate @ 8639]
Christian Hammond <chipx86@chipx86.com>
parents: 7909
diff changeset
1488 field->u.list.selected = NULL;
7909
f2b88b6b97a7 [gaim-migrate @ 8569]
Christian Hammond <chipx86@chipx86.com>
parents: 7905
diff changeset
1489 }
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1490
42005
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1491 g_hash_table_remove_all(field->u.list.selected_table);
7902
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1492 }
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1493
6c04e5d38897 [gaim-migrate @ 8562]
Christian Hammond <chipx86@chipx86.com>
parents: 7901
diff changeset
1494 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
1495 purple_request_field_list_set_selected(PurpleRequestField *field, GList *items)
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1496 {
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1497 GList *l;
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1498
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1499 g_return_if_fail(field != NULL);
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1500 g_return_if_fail(items != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1501 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1502
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1503 purple_request_field_list_clear_selected(field);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1504
39913
ce96d4639dc7 Remove redundant conditions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39897
diff changeset
1505 if (!purple_request_field_list_get_multi_select(field) && items->next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1506 purple_debug_warning("request",
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1507 "More than one item added to non-multi-select "
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1508 "field %s\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1509 purple_request_field_get_id(field));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1510 return;
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1511 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1512
42005
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1513 for (l = items; l != NULL; l = l->next) {
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1514 char *selected = l->data;
14128
3f6654cc8746 [gaim-migrate @ 16687]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14097
diff changeset
1515 field->u.list.selected = g_list_append(field->u.list.selected,
42005
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1516 g_strdup(selected));
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1517 g_hash_table_add(field->u.list.selected_table, g_strdup(selected));
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1518 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1519 }
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1520
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1521 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1522 purple_request_field_list_is_selected(const PurpleRequestField *field,
7964
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1523 const char *item)
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1524 {
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1525 g_return_val_if_fail(field != NULL, FALSE);
10d58eb8a16a [gaim-migrate @ 8641]
Christian Hammond <chipx86@chipx86.com>
parents: 7962
diff changeset
1526 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
1527 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
1528
42005
92c8a7e3aaf5 Simplify hash tables that are used as sets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41960
diff changeset
1529 return g_hash_table_contains(field->u.list.selected_table, item);
7901
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1530 }
f09d051b649d [gaim-migrate @ 8561]
Christian Hammond <chipx86@chipx86.com>
parents: 7899
diff changeset
1531
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1532 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1533 purple_request_field_list_get_selected(const PurpleRequestField *field)
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1534 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1535 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
1536 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
1537
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1538 return field->u.list.selected;
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1539 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1540
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16490
diff changeset
1541 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1542 purple_request_field_list_get_items(const PurpleRequestField *field)
7898
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1543 {
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1544 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
1545 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
1546
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1547 return field->u.list.items;
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1548 }
83687727b4a3 [gaim-migrate @ 8558]
Christian Hammond <chipx86@chipx86.com>
parents: 7843
diff changeset
1549
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1550 gboolean
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1551 purple_request_field_list_has_icons(const PurpleRequestField *field)
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1552 {
40836
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1553 g_return_val_if_fail(field != NULL, FALSE);
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1554 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_LIST, FALSE);
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1555
b5eccef8404e Avoid manual handling of icons in request field list items
Arkadiy Illarionov <qarkai@gmail.com>
parents: 40817
diff changeset
1556 return field->u.list.has_icons;
24625
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1557 }
4082cd694acb This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 21990
diff changeset
1558
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1559 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1560 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
1561 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1562 PurpleRequestField *field;
7905
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1563
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1564 g_return_val_if_fail(id != NULL, NULL);
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1565 g_return_val_if_fail(text != NULL, NULL);
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1566
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1567 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
1568
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1569 return field;
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1570 }
03db29949e5d [gaim-migrate @ 8565]
Christian Hammond <chipx86@chipx86.com>
parents: 7904
diff changeset
1571
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1572 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1573 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
1574 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1575 PurpleRequestField *field;
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1576
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1577 g_return_val_if_fail(id != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1578 g_return_val_if_fail(text != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1579 g_return_val_if_fail(buf != NULL, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1580 g_return_val_if_fail(size > 0, NULL);
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1581
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1582 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
1583
40756
3a58ef28ee44 Implement mitigation for GHSL-2021-045
Gary Kramlich <grim@reaperworld.com>
parents: 40564
diff changeset
1584 field->u.image.buffer = g_memdup2(buf, size);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1585 field->u.image.size = size;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1586 field->u.image.scale_x = 1;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1587 field->u.image.scale_y = 1;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1588
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1589 return field;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1590 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1591
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1592 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1593 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
1594 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1595 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1596 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_IMAGE);
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1597
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1598 field->u.image.scale_x = x;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1599 field->u.image.scale_y = y;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1600 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1601
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1602 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1603 purple_request_field_image_get_buffer(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1604 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1605 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
1606 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
1607
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1608 return field->u.image.buffer;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1609 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1610
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1611 gsize
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1612 purple_request_field_image_get_size(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1613 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1614 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
1615 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
1616
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1617 return field->u.image.size;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1618 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1619
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1620 unsigned int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1621 purple_request_field_image_get_scale_x(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1622 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1623 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
1624 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
1625
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1626 return field->u.image.scale_x;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1627 }
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1628
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1629 unsigned int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1630 purple_request_field_image_get_scale_y(PurpleRequestField *field)
11357
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1631 {
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1632 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
1633 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
1634
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1635 return field->u.image.scale_y;
d96a9c46f200 [gaim-migrate @ 13579]
Bartosz Oler <bartosz@pidgin.im>
parents: 10229
diff changeset
1636 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1637
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1638 PurpleRequestField *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1639 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
1640 PurpleAccount *account)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1641 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1642 PurpleRequestField *field;
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1643
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1644 g_return_val_if_fail(id != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1645 g_return_val_if_fail(text != NULL, NULL);
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1646
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1647 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
1648
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1649 if(account == NULL) {
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1650 PurpleAccountManager *manager = purple_account_manager_get_default();
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1651 GList *accounts = purple_account_manager_get_connected(manager);
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1652
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1653 if(accounts != NULL) {
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1654 account = accounts->data;
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1655 g_list_free(accounts);
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1656 }
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1657 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1658
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1659 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
1660 purple_request_field_account_set_value(field, account);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1661
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1662 return field;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1663 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1664
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1665 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1666 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
1667 PurpleAccount *default_value)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1668 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1669 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1670 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1671
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1672 field->u.account.default_account = default_value;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1673 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1674
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1675 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1676 purple_request_field_account_set_value(PurpleRequestField *field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1677 PurpleAccount *value)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1678 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1679 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1680 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1681
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1682 field->u.account.account = value;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1683 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1684
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1685 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1686 purple_request_field_account_set_show_all(PurpleRequestField *field,
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1687 gboolean show_all)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1688 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1689 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1690 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1691
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1692 if (field->u.account.show_all == show_all)
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1693 return;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1694
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1695 field->u.account.show_all = show_all;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1696
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1697 if(!show_all) {
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1698 PurpleAccountManager *manager = purple_account_manager_get_default();
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1699 GList *accounts = purple_account_manager_get_connected(manager);
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1700
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1701 if (purple_account_is_connected(field->u.account.default_account))
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1702 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1703 purple_request_field_account_set_default_value(field,
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1704 accounts->data);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1705 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1706
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1707 if (purple_account_is_connected(field->u.account.account))
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1708 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1709 purple_request_field_account_set_value(field,
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1710 accounts->data);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1711 }
41890
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1712
2c15f6e30f20 Add purple_account_manager_get_connected and port libpurple to it
Gary Kramlich <grim@reaperworld.com>
parents: 41745
diff changeset
1713 g_list_free(accounts);
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1714 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1715 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1716
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1717 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1718 purple_request_field_account_set_filter(PurpleRequestField *field,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1719 PurpleFilterAccountFunc filter_func)
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1720 {
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1721 g_return_if_fail(field != NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1722 g_return_if_fail(field->type == PURPLE_REQUEST_FIELD_ACCOUNT);
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1723
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1724 field->u.account.filter_func = filter_func;
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1725 }
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1726
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1727 PurpleAccount *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1728 purple_request_field_account_get_default_value(const PurpleRequestField *field)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1729 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1730 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
1731 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
1732
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1733 return field->u.account.default_account;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1734 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1735
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1736 PurpleAccount *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1737 purple_request_field_account_get_value(const PurpleRequestField *field)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1738 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1739 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
1740 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
1741
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1742 return field->u.account.account;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1743 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1744
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1745 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1746 purple_request_field_account_get_show_all(const PurpleRequestField *field)
8286
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1747 {
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1748 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
1749 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
1750
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1751 return field->u.account.show_all;
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1752 }
7a4c038d1ecd [gaim-migrate @ 9010]
Christian Hammond <chipx86@chipx86.com>
parents: 8285
diff changeset
1753
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1754 PurpleFilterAccountFunc
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1755 purple_request_field_account_get_filter(const PurpleRequestField *field)
8289
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1756 {
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1757 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
1758 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
1759
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1760 return field->u.account.filter_func;
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1761 }
234429bac6b5 [gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents: 8286
diff changeset
1762
32886
359ad954dccc Add PurpleCertificate request field API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32554
diff changeset
1763 PurpleRequestField *
34502
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1764 purple_request_field_datasheet_new(const char *id,
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1765 const gchar *text, PurpleRequestDatasheet *sheet)
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1766 {
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1767 PurpleRequestField *field;
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1768
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1769 g_return_val_if_fail(id != NULL, NULL);
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1770 g_return_val_if_fail(sheet != NULL, NULL);
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1771
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1772 field = purple_request_field_new(id, text, PURPLE_REQUEST_FIELD_DATASHEET);
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1773
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1774 field->u.datasheet.sheet = sheet;
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1775
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1776 return field;
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1777 }
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1778
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1779 PurpleRequestDatasheet *
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1780 purple_request_field_datasheet_get_sheet(PurpleRequestField *field)
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1781 {
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1782 g_return_val_if_fail(field != NULL, NULL);
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1783 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_DATASHEET, NULL);
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1784
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1785 return field->u.datasheet.sheet;
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1786 }
433382371e89 Request API: datasheet field
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34501
diff changeset
1787
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1788 /* -- */
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
1789
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1790 gboolean
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1791 purple_request_field_email_validator(PurpleRequestField *field, gchar **errmsg,
41960
c8a4853205e3 Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41890
diff changeset
1792 G_GNUC_UNUSED gpointer user_data)
33237
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1793 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1794 const char *value;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1795
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1796 g_return_val_if_fail(field != NULL, FALSE);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1797 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1798
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1799 value = purple_request_field_string_get_value(field);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1800
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1801 if (value != NULL && purple_email_is_valid(value))
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1802 return TRUE;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1803
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1804 if (errmsg)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1805 *errmsg = g_strdup(_("Invalid email address"));
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1806 return FALSE;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1807 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1808
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1809 gboolean
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1810 purple_request_field_alphanumeric_validator(PurpleRequestField *field,
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1811 gchar **errmsg, void *allowed_characters)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1812 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1813 const char *value;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1814 gchar invalid_char = '\0';
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1815
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1816 g_return_val_if_fail(field != NULL, FALSE);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1817 g_return_val_if_fail(field->type == PURPLE_REQUEST_FIELD_STRING, FALSE);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1818
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1819 value = purple_request_field_string_get_value(field);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1820
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1821 g_return_val_if_fail(value != NULL, FALSE);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1822
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1823 if (allowed_characters)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1824 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1825 gchar *value_r = g_strdup(value);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1826 g_strcanon(value_r, allowed_characters, '\0');
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1827 invalid_char = value[strlen(value_r)];
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1828 g_free(value_r);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1829 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1830 else
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1831 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1832 while (value)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1833 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1834 if (!g_ascii_isalnum(*value))
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1835 {
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1836 invalid_char = *value;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1837 break;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1838 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1839 value++;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1840 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1841 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1842 if (!invalid_char)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1843 return TRUE;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1844
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1845 if (errmsg)
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1846 *errmsg = g_strdup_printf(_("Invalid character '%c'"),
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1847 invalid_char);
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1848 return FALSE;
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1849 }
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1850
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1851 /* -- */
2574432da068 Validation for Request API: common validators
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33219
diff changeset
1852
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1853 static gchar *
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1854 purple_request_strip_html_custom(const gchar *html)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1855 {
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1856 gchar *tmp, *ret;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1857
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1858 tmp = purple_strreplace(html, "\n", "<br>");
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1859 ret = purple_markup_strip_html(tmp);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1860 g_free(tmp);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1861
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1862 return ret;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1863 }
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1864
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1865 static gchar **
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1866 purple_request_strip_html(PurpleRequestCommonParameters *cpar,
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1867 const char **primary, const char **secondary)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1868 {
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1869 PurpleRequestUiOps *ops = purple_request_get_ui_ops();
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1870 gchar **ret;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1871
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1872 if (!purple_request_cpar_is_html(cpar))
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1873 return NULL;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1874 if (ops->features & PURPLE_REQUEST_FEATURE_HTML)
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1875 return NULL;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1876
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1877 ret = g_new0(gchar*, 3);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1878 *primary = ret[0] = purple_request_strip_html_custom(*primary);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1879 *secondary = ret[1] = purple_request_strip_html_custom(*secondary);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1880
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1881 return ret;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1882 }
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1883
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1884 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1885 purple_request_input(void *handle, const char *title, const char *primary,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1886 const char *secondary, const char *default_value,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8332
diff changeset
1887 gboolean multiline, gboolean masked, gchar *hint,
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1888 const char *ok_text, GCallback ok_cb,
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1889 const char *cancel_text, GCallback cancel_cb,
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
1890 PurpleRequestCommonParameters *cpar,
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1891 void *user_data)
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1892 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1893 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1894
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1895 if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL)) {
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
1896 purple_request_cpar_unref(cpar);
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1897 g_warn_if_fail(ok_text != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1898 g_warn_if_fail(ok_cb != NULL);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
1899 g_return_val_if_reached(NULL);
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
1900 }
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1901
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1902 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1903
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1904 if (ops != NULL && ops->request_input != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1905 PurpleRequestInfo *info;
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1906 gchar **tmp;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1907
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1908 tmp = purple_request_strip_html(cpar, &primary, &secondary);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1909
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1910 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1911 info->type = PURPLE_REQUEST_INPUT;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1912 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1913 info->ui_handle = ops->request_input(title, primary, secondary,
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
1914 default_value, multiline, masked, hint, ok_text, ok_cb,
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
1915 cancel_text, cancel_cb, cpar, user_data);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1916
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1917 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1918
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1919 g_strfreev(tmp);
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
1920 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1921 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1922 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1923
34329
ddbc1337332c Request API refactoring: introduce PurpleRequestCommonParameters and switch purple_request_input to it
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34328
diff changeset
1924 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1925 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1926 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1927
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1928 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1929 purple_request_choice(void *handle, const char *title, const char *primary,
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1930 const char *secondary, gpointer default_value, const char *ok_text,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1931 GCallback ok_cb, const char *cancel_text, GCallback cancel_cb,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1932 PurpleRequestCommonParameters *cpar, void *user_data, ...)
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1933 {
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1934 void *ui_handle;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1935 va_list args;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1936
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1937 if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL)) {
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1938 purple_request_cpar_unref(cpar);
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1939 g_warn_if_fail(ok_text != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1940 g_warn_if_fail(ok_cb != NULL);
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1941 g_return_val_if_reached(NULL);
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1942 }
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1943
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1944 va_start(args, user_data);
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
1945 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
1946 default_value, ok_text, ok_cb,
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
1947 cancel_text, cancel_cb,
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1948 cpar, user_data, args);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1949 va_end(args);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1950
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1951 return ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1952 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1953
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1954 void *
34338
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1955 purple_request_choice_varg(void *handle, const char *title, const char *primary,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1956 const char *secondary, gpointer default_value, const char *ok_text,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1957 GCallback ok_cb, const char *cancel_text, GCallback cancel_cb,
c652670afac5 Request API refactoring: custom PURPLE_REQUEST_CHOICE values, instead of indexes
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34336
diff changeset
1958 PurpleRequestCommonParameters *cpar, void *user_data, va_list choices)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1959 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1960 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1961
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1962 if (G_UNLIKELY(ok_text == NULL || ok_cb == NULL ||
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1963 cancel_text == NULL))
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
1964 {
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1965 purple_request_cpar_unref(cpar);
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1966 g_warn_if_fail(ok_text != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1967 g_warn_if_fail(ok_cb != NULL);
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1968 g_warn_if_fail(cancel_text != NULL);
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1969 g_return_val_if_reached(NULL);
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1970 }
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1971
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1972 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1973
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
1974 if (ops != NULL && ops->request_choice != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1975 PurpleRequestInfo *info;
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1976 gchar **tmp;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1977
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1978 tmp = purple_request_strip_html(cpar, &primary, &secondary);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1979
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1980 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1981 info->type = PURPLE_REQUEST_CHOICE;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1982 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1983 info->ui_handle = ops->request_choice(title, primary, secondary,
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1984 default_value, ok_text, ok_cb, cancel_text, cancel_cb,
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1985 cpar, user_data, choices);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1986
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1987 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1988
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
1989 g_strfreev(tmp);
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1990 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1991 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1992 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1993
34330
35d5e8fcc07b Request API refactoring: switch purple_request_choice to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34329
diff changeset
1994 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1995 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1996 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1997
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1998 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
1999 purple_request_action(void *handle, const char *title, const char *primary,
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2000 const char *secondary, int default_action,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2001 PurpleRequestCommonParameters *cpar, void *user_data,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2002 size_t action_count, ...)
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
2003 {
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
2004 void *ui_handle;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
2005 va_list args;
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
2006
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
2007 va_start(args, action_count);
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2008 ui_handle = purple_request_action_varg(handle, title, primary,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2009 secondary, default_action, cpar, user_data, action_count, args);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2010 va_end(args);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2011
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2012 return ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2013 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2014
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2015 void *
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2016 purple_request_action_varg(void *handle, const char *title, const char *primary,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2017 const char *secondary, int default_action,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2018 PurpleRequestCommonParameters *cpar, void *user_data,
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2019 size_t action_count, va_list actions)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2020 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2021 PurpleRequestUiOps *ops;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2022
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2023 ops = purple_request_get_ui_ops();
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2024
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5482
diff changeset
2025 if (ops != NULL && ops->request_action != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2026 PurpleRequestInfo *info;
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2027 gchar **tmp;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2028
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2029 tmp = purple_request_strip_html(cpar, &primary, &secondary);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2030
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2031 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2032 info->type = PURPLE_REQUEST_ACTION;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2033 info->handle = handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2034 info->ui_handle = ops->request_action(title, primary, secondary,
34331
c8486462bb63 Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34330
diff changeset
2035 default_action, cpar, user_data, action_count, actions);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2036
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2037 handles = g_list_append(handles, info);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2038
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2039 g_strfreev(tmp);
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2040 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2041 return info->ui_handle;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2042 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2043
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2044 purple_request_cpar_unref(cpar);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2045 return NULL;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2046 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2047
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2048 void *
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2049 purple_request_wait(void *handle, const char *title, const char *primary,
34448
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2050 const char *secondary, gboolean with_progress,
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2051 PurpleRequestCancelCb cancel_cb, PurpleRequestCommonParameters *cpar,
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2052 void *user_data)
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2053 {
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2054 PurpleRequestUiOps *ops;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2055
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2056 if (primary == NULL)
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2057 primary = _("Please wait...");
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2058
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2059 ops = purple_request_get_ui_ops();
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2060
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2061 if (ops != NULL && ops->request_wait != NULL) {
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2062 PurpleRequestInfo *info;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2063 gchar **tmp;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2064
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2065 tmp = purple_request_strip_html(cpar, &primary, &secondary);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2066
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2067 info = g_new0(PurpleRequestInfo, 1);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2068 info->type = PURPLE_REQUEST_WAIT;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2069 info->handle = handle;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2070 info->ui_handle = ops->request_wait(title, primary, secondary,
34448
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2071 with_progress, cancel_cb, cpar, user_data);
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2072
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2073 handles = g_list_append(handles, info);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2074
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2075 g_strfreev(tmp);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2076 purple_request_cpar_unref(cpar);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2077 return info->ui_handle;
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2078 }
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2079
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2080 if (cpar == NULL)
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2081 cpar = purple_request_cpar_new();
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2082 if (purple_request_cpar_get_icon(cpar) == PURPLE_REQUEST_ICON_DEFAULT)
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2083 purple_request_cpar_set_icon(cpar, PURPLE_REQUEST_ICON_WAIT);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2084
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2085 return purple_request_action(handle, title, primary, secondary,
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2086 PURPLE_DEFAULT_ACTION_NONE, cpar, user_data,
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2087 cancel_cb ? 1 : 0, _("Cancel"), cancel_cb);
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2088 }
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2089
34448
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2090 void
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2091 purple_request_wait_pulse(void *ui_handle)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2092 {
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2093 PurpleRequestUiOps *ops;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2094
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2095 ops = purple_request_get_ui_ops();
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2096
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2097 if (ops == NULL || ops->request_wait_update == NULL)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2098 return;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2099
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2100 ops->request_wait_update(ui_handle, TRUE, 0.0);
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2101 }
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2102
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2103 void
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2104 purple_request_wait_progress(void *ui_handle, gfloat fraction)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2105 {
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2106 PurpleRequestUiOps *ops;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2107
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2108 ops = purple_request_get_ui_ops();
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2109
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2110 if (ops == NULL || ops->request_wait_update == NULL)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2111 return;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2112
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2113 if (fraction < 0.0 || fraction > 1.0) {
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2114 purple_debug_warning("request", "Fraction parameter out of "
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2115 "range: %f", fraction);
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2116 if (fraction < 0.0)
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2117 fraction = 0.0;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2118 else /* if (fraction > 1.0) */
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2119 fraction = 1.0;
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2120 }
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2121
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2122 ops->request_wait_update(ui_handle, FALSE, fraction);
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2123 }
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34445
diff changeset
2124
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2125 static void
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2126 purple_request_fields_strip_html(PurpleRequestFields *fields)
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2127 {
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2128 GList *itg;
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2129
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2130 for (itg = fields->groups; itg != NULL; itg = g_list_next(itg)) {
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2131 PurpleRequestFieldGroup *group = itg->data;
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2132 GList *itf;
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2133
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2134 for (itf = group->fields; itf != NULL; itf = g_list_next(itf)) {
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2135 PurpleRequestField *field = itf->data;
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2136 gchar *new_label;
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2137
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2138 new_label = purple_request_strip_html_custom(
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2139 field->label);
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2140 if (g_strcmp0(new_label, field->label) == 0) {
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2141 g_free(new_label);
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2142 continue;
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2143 }
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2144 g_free(field->label);
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2145 field->label = new_label;
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2146 }
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2147 }
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2148 }
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2149
34443
b7926ff76ed6 Request API: implement purple_request_wait
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34341
diff changeset
2150 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2151 purple_request_fields(void *handle, const char *title, const char *primary,
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2152 const char *secondary, PurpleRequestFields *fields, const char *ok_text,
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2153 GCallback ok_cb, const char *cancel_text, GCallback cancel_cb,
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2154 PurpleRequestCommonParameters *cpar, void *user_data)
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2155 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2156 PurpleRequestUiOps *ops;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2157
35142
d3f26f67a5ef Allow Request API dialog with only one closing button
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34502
diff changeset
2158 if (G_UNLIKELY(fields == NULL ||
d3f26f67a5ef Allow Request API dialog with only one closing button
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34502
diff changeset
2159 ((ok_text == NULL) != (ok_cb == NULL)) ||
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2160 cancel_text == NULL))
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2161 {
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2162 purple_request_cpar_unref(cpar);
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2163 g_warn_if_fail(fields != NULL);
35142
d3f26f67a5ef Allow Request API dialog with only one closing button
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34502
diff changeset
2164 g_warn_if_fail((ok_text == NULL) != (ok_cb == NULL));
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2165 g_warn_if_fail(cancel_text != NULL);
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2166 g_return_val_if_reached(NULL);
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2167 }
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2168
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2169 ops = purple_request_get_ui_ops();
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2170
34445
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2171 if (purple_request_cpar_is_html(cpar) &&
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2172 !((ops->features & PURPLE_REQUEST_FEATURE_HTML)))
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2173 {
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2174 purple_request_fields_strip_html(fields);
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2175 }
43e91cccb4da GTK Request: better html support
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34444
diff changeset
2176
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2177 if (ops != NULL && ops->request_fields != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2178 PurpleRequestInfo *info;
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2179 gchar **tmp;
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2180
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2181 tmp = purple_request_strip_html(cpar, &primary, &secondary);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2182
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2183 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2184 info->type = PURPLE_REQUEST_FIELDS;
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2185 info->handle = handle;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2186 info->ui_handle = ops->request_fields(title, primary, secondary,
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2187 fields, ok_text, ok_cb, cancel_text, cancel_cb,
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2188 cpar, user_data);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2189
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2190 handles = g_list_append(handles, info);
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2191
34335
2496c53cd401 Request API: HTML feature
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34334
diff changeset
2192 g_strfreev(tmp);
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2193 purple_request_cpar_unref(cpar);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2194 return info->ui_handle;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2195 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2196
34332
876483829700 Request API refactoring: switch purple_request_fields to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34331
diff changeset
2197 purple_request_cpar_unref(cpar);
5807
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2198 return NULL;
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2199 }
7e0d857c4c93 [gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents: 5496
diff changeset
2200
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2201 void *
20686
ec1a687480d2 Minor fix
Gabriel Schulhof <nix@go-nix.ca>
parents: 20685
diff changeset
2202 purple_request_file(void *handle, const char *title, const char *filename,
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
2203 gboolean savedialog, GCallback ok_cb, GCallback cancel_cb,
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
2204 PurpleRequestCommonParameters *cpar, void *user_data)
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
2205 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2206 PurpleRequestUiOps *ops;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2207
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2208 ops = purple_request_get_ui_ops();
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2209
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2210 if (ops != NULL && ops->request_file != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2211 PurpleRequestInfo *info;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2212
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2213 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2214 info->type = PURPLE_REQUEST_FILE;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2215 info->handle = handle;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2216 info->ui_handle = ops->request_file(title, filename, savedialog,
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
2217 ok_cb, cancel_cb, cpar, user_data);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2218 handles = g_list_append(handles, info);
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
2219
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
2220 purple_request_cpar_unref(cpar);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2221 return info->ui_handle;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2222 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2223
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
2224 purple_request_cpar_unref(cpar);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2225 return NULL;
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2226 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2227
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2228 void *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2229 purple_request_folder(void *handle, const char *title, const char *dirname,
34334
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
2230 GCallback ok_cb, GCallback cancel_cb,
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
2231 PurpleRequestCommonParameters *cpar, void *user_data)
20685
039aef89faf6 Updated hinting to be less invasive
Gabriel Schulhof <nix@go-nix.ca>
parents: 20684
diff changeset
2232 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2233 PurpleRequestUiOps *ops;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2234
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2235 ops = purple_request_get_ui_ops();
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2236
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2237 if (ops != NULL && ops->request_file != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2238 PurpleRequestInfo *info;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2239
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2240 info = g_new0(PurpleRequestInfo, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2241 info->type = PURPLE_REQUEST_FOLDER;
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2242 info->handle = handle;
34334
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
2243 info->ui_handle = ops->request_folder(title, dirname, ok_cb,
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
2244 cancel_cb, cpar, user_data);
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2245 handles = g_list_append(handles, info);
34334
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
2246
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
2247 purple_request_cpar_unref(cpar);
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2248 return info->ui_handle;
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2249 }
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2250
34334
f5f3a9945a6d Request API refactoring: switch purple_request_folder to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34333
diff changeset
2251 purple_request_cpar_unref(cpar);
13283
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2252 return NULL;
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2253 }
89a0621d5d6a [gaim-migrate @ 15648]
Dennis Nezic <dennisn@dennisn.dyndns.org>
parents: 13270
diff changeset
2254
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2255 gboolean
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2256 purple_request_is_valid_ui_handle(void *ui_handle, PurpleRequestType *type)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2257 {
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2258 PurpleRequestInfo *info;
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2259
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2260 if (ui_handle == NULL)
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2261 return FALSE;
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2262
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2263 info = purple_request_info_from_ui_handle(ui_handle);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2264
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2265 if (info == NULL)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2266 return FALSE;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2267
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2268 if (type != NULL)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2269 *type = info->type;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2270
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2271 return TRUE;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2272 }
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2273
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2274 void
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2275 purple_request_add_close_notify(void *ui_handle, GDestroyNotify notify,
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2276 gpointer notify_data)
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2277 {
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2278 PurpleRequestInfo *info;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2279 PurpleRequestCloseNotified *notified;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2280
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2281 g_return_if_fail(ui_handle != NULL);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2282 g_return_if_fail(notify != NULL);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2283
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2284 info = purple_request_info_from_ui_handle(ui_handle);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2285 g_return_if_fail(info != NULL);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2286
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2287 notified = g_new0(PurpleRequestCloseNotified, 1);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2288 notified->cb = notify;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2289 notified->data = notify_data;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2290
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2291 info->notify_on_close = g_slist_append(info->notify_on_close, notified);
34451
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2292 }
b7165d4e1d73 Implement purple_*_is_valid_ui_handle, purple_request_cpar_*et_parent_from, pidgin_request_get_dialog_window
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
2293
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2294 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2295 purple_request_close_info(PurpleRequestInfo *info)
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2296 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2297 PurpleRequestUiOps *ops;
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2298 GSList *it;
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2299
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2300 ops = purple_request_get_ui_ops();
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2301
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2302 purple_notify_close_with_handle(info->ui_handle);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2303 purple_request_close_with_handle(info->ui_handle);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2304
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2305 if (ops != NULL && ops->close_request != NULL)
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2306 ops->close_request(info->type, info->ui_handle);
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2307
34478
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2308 for (it = info->notify_on_close; it; it = g_slist_next(it)) {
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2309 PurpleRequestCloseNotified *notify = it->data;
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2310
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2311 notify->cb(notify->data);
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2312 }
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2313
be28ca093028 Add close notification for Request API dialogs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34452
diff changeset
2314 g_slist_free_full(info->notify_on_close, g_free);
9502
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2315 g_free(info);
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2316 }
d43f69354213 [gaim-migrate @ 10329]
Mark Doliner <markdoliner@pidgin.im>
parents: 8843
diff changeset
2317
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2318 void
41960
c8a4853205e3 Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41890
diff changeset
2319 purple_request_close(G_GNUC_UNUSED PurpleRequestType type, void *ui_handle)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2320 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2321 GList *l;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2322
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2323 g_return_if_fail(ui_handle != NULL);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2324
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2325 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
2326 PurpleRequestInfo *info = l->data;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2327
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2328 if (info->ui_handle == ui_handle) {
40079
a37a1e349491 Replace g_[s]list_remove with g_[s]list_delete_link.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39913
diff changeset
2329 handles = g_list_delete_link(handles, l);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2330 purple_request_close_info(info);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2331 break;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2332 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2333 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2334 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2335
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2336 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2337 purple_request_close_with_handle(void *handle)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2338 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2339 GList *l, *l_next;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2340
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2341 g_return_if_fail(handle != NULL);
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2342
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2343 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
2344 PurpleRequestInfo *info = l->data;
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2345
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2346 l_next = l->next;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2347
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2348 if (info->handle == handle) {
40079
a37a1e349491 Replace g_[s]list_remove with g_[s]list_delete_link.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39913
diff changeset
2349 handles = g_list_delete_link(handles, l);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2350 purple_request_close_info(info);
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2351 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2352 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2353 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2354
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2355 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2356 purple_request_set_ui_ops(PurpleRequestUiOps *ops)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2357 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2358 request_ui_ops = ops;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2359 }
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2360
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2361 PurpleRequestUiOps *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2362 purple_request_get_ui_ops(void)
5477
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2363 {
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2364 return request_ui_ops;
942b6f295034 [gaim-migrate @ 5873]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2365 }
35572
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2366
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2367 /**************************************************************************
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2368 * GBoxed code
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2369 **************************************************************************/
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2370 static PurpleRequestUiOps *
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2371 purple_request_ui_ops_copy(PurpleRequestUiOps *ops)
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2372 {
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2373 PurpleRequestUiOps *ops_new;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2374
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2375 g_return_val_if_fail(ops != NULL, NULL);
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2376
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2377 ops_new = g_new(PurpleRequestUiOps, 1);
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2378 *ops_new = *ops;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2379
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2380 return ops_new;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2381 }
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2382
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2383 GType
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2384 purple_request_ui_ops_get_type(void)
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2385 {
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2386 static GType type = 0;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2387
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2388 if (type == 0) {
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2389 type = g_boxed_type_register_static("PurpleRequestUiOps",
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2390 (GBoxedCopyFunc)purple_request_ui_ops_copy,
35597
7fcfcf147b99 Use g_free as UiOps structures GBoxed free function
Ankit Vani <a@nevitus.org>
parents: 35572
diff changeset
2391 (GBoxedFreeFunc)g_free);
35572
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2392 }
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2393
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2394 return type;
5c4846317f2f Box the *UiOps structures
Ankit Vani <a@nevitus.org>
parents: 35475
diff changeset
2395 }

mercurial