Mercurial > pidgin
comparison finch/gntrequest.c @ 15822:32c366eeeb99
sed -ie 's/gaim/purple/g'
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Mon, 19 Mar 2007 07:01:17 +0000 |
parents | 0e3a8505ebbe |
children | 2edbd4fede72 |
comparison
equal
deleted
inserted
replaced
15821:84b0f9b23ede | 15822:32c366eeeb99 |
---|---|
1 /** | 1 /** |
2 * @file gntrequest.c GNT Request API | 2 * @file gntrequest.c GNT Request API |
3 * @ingroup gntui | 3 * @ingroup gntui |
4 * | 4 * |
5 * gaim | 5 * purple |
6 * | 6 * |
7 * Gaim is the legal property of its developers, whose names are too numerous | 7 * Purple is the legal property of its developers, whose names are too numerous |
8 * to list here. Please refer to the COPYRIGHT file distributed with this | 8 * to list here. Please refer to the COPYRIGHT file distributed with this |
9 * source distribution. | 9 * source distribution. |
10 * | 10 * |
11 * This program is free software; you can redistribute it and/or modify | 11 * This program is free software; you can redistribute it and/or modify |
12 * it under the terms of the GNU General Public License as published by | 12 * it under the terms of the GNU General Public License as published by |
30 #include <gntentry.h> | 30 #include <gntentry.h> |
31 #include <gntlabel.h> | 31 #include <gntlabel.h> |
32 #include <gntline.h> | 32 #include <gntline.h> |
33 #include <gnttree.h> | 33 #include <gnttree.h> |
34 | 34 |
35 #include "gntgaim.h" | 35 #include "finch.h" |
36 #include "gntrequest.h" | 36 #include "gntrequest.h" |
37 #include "util.c" | 37 #include "util.c" |
38 | 38 |
39 typedef struct | 39 typedef struct |
40 { | 40 { |
41 void *user_data; | 41 void *user_data; |
42 GntWidget *entry, *dialog; | 42 GntWidget *entry, *dialog; |
43 GCallback *cbs; | 43 GCallback *cbs; |
44 } GaimGntFileRequest; | 44 } PurpleGntFileRequest; |
45 | 45 |
46 static GntWidget * | 46 static GntWidget * |
47 setup_request_window(const char *title, const char *primary, | 47 setup_request_window(const char *title, const char *primary, |
48 const char *secondary, GaimRequestType type) | 48 const char *secondary, PurpleRequestType type) |
49 { | 49 { |
50 GntWidget *window; | 50 GntWidget *window; |
51 | 51 |
52 window = gnt_vbox_new(FALSE); | 52 window = gnt_vbox_new(FALSE); |
53 gnt_box_set_toplevel(GNT_BOX(window), TRUE); | 53 gnt_box_set_toplevel(GNT_BOX(window), TRUE); |
58 gnt_box_add_widget(GNT_BOX(window), | 58 gnt_box_add_widget(GNT_BOX(window), |
59 gnt_label_new_with_format(primary, GNT_TEXT_FLAG_BOLD)); | 59 gnt_label_new_with_format(primary, GNT_TEXT_FLAG_BOLD)); |
60 if (secondary) | 60 if (secondary) |
61 gnt_box_add_widget(GNT_BOX(window), gnt_label_new(secondary)); | 61 gnt_box_add_widget(GNT_BOX(window), gnt_label_new(secondary)); |
62 | 62 |
63 g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gaim_request_close), | 63 g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(purple_request_close), |
64 GINT_TO_POINTER(type)); | 64 GINT_TO_POINTER(type)); |
65 | 65 |
66 return window; | 66 return window; |
67 } | 67 } |
68 | 68 |
93 } | 93 } |
94 | 94 |
95 static void | 95 static void |
96 notify_input_cb(GntWidget *button, GntWidget *entry) | 96 notify_input_cb(GntWidget *button, GntWidget *entry) |
97 { | 97 { |
98 GaimRequestInputCb callback = g_object_get_data(G_OBJECT(button), "activate-callback"); | 98 PurpleRequestInputCb callback = g_object_get_data(G_OBJECT(button), "activate-callback"); |
99 gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); | 99 gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); |
100 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); | 100 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); |
101 | 101 |
102 if (callback) | 102 if (callback) |
103 callback(data, text); | 103 callback(data, text); |
104 | 104 |
105 while (button->parent) | 105 while (button->parent) |
106 button = button->parent; | 106 button = button->parent; |
107 | 107 |
108 gaim_request_close(GAIM_REQUEST_INPUT, button); | 108 purple_request_close(PURPLE_REQUEST_INPUT, button); |
109 } | 109 } |
110 | 110 |
111 static void * | 111 static void * |
112 finch_request_input(const char *title, const char *primary, | 112 finch_request_input(const char *title, const char *primary, |
113 const char *secondary, const char *default_value, | 113 const char *secondary, const char *default_value, |
116 const char *cancel_text, GCallback cancel_cb, | 116 const char *cancel_text, GCallback cancel_cb, |
117 void *user_data) | 117 void *user_data) |
118 { | 118 { |
119 GntWidget *window, *box, *entry; | 119 GntWidget *window, *box, *entry; |
120 | 120 |
121 window = setup_request_window(title, primary, secondary, GAIM_REQUEST_INPUT); | 121 window = setup_request_window(title, primary, secondary, PURPLE_REQUEST_INPUT); |
122 | 122 |
123 entry = gnt_entry_new(default_value); | 123 entry = gnt_entry_new(default_value); |
124 if (masked) | 124 if (masked) |
125 gnt_entry_set_masked(GNT_ENTRY(entry), TRUE); | 125 gnt_entry_set_masked(GNT_ENTRY(entry), TRUE); |
126 gnt_box_add_widget(GNT_BOX(window), entry); | 126 gnt_box_add_widget(GNT_BOX(window), entry); |
133 | 133 |
134 return window; | 134 return window; |
135 } | 135 } |
136 | 136 |
137 static void | 137 static void |
138 finch_close_request(GaimRequestType type, gpointer ui_handle) | 138 finch_close_request(PurpleRequestType type, gpointer ui_handle) |
139 { | 139 { |
140 GntWidget *widget = GNT_WIDGET(ui_handle); | 140 GntWidget *widget = GNT_WIDGET(ui_handle); |
141 while (widget->parent) | 141 while (widget->parent) |
142 widget = widget->parent; | 142 widget = widget->parent; |
143 gnt_widget_destroy(widget); | 143 gnt_widget_destroy(widget); |
144 } | 144 } |
145 | 145 |
146 static void | 146 static void |
147 request_choice_cb(GntWidget *button, GntComboBox *combo) | 147 request_choice_cb(GntWidget *button, GntComboBox *combo) |
148 { | 148 { |
149 GaimRequestChoiceCb callback = g_object_get_data(G_OBJECT(button), "activate-callback"); | 149 PurpleRequestChoiceCb callback = g_object_get_data(G_OBJECT(button), "activate-callback"); |
150 gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); | 150 gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); |
151 int choice = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo))) - 1; | 151 int choice = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo))) - 1; |
152 | 152 |
153 if (callback) | 153 if (callback) |
154 callback(data, choice); | 154 callback(data, choice); |
155 | 155 |
156 while (button->parent) | 156 while (button->parent) |
157 button = button->parent; | 157 button = button->parent; |
158 | 158 |
159 gaim_request_close(GAIM_REQUEST_INPUT, button); | 159 purple_request_close(PURPLE_REQUEST_INPUT, button); |
160 } | 160 } |
161 | 161 |
162 static void * | 162 static void * |
163 finch_request_choice(const char *title, const char *primary, | 163 finch_request_choice(const char *title, const char *primary, |
164 const char *secondary, unsigned int default_value, | 164 const char *secondary, unsigned int default_value, |
168 { | 168 { |
169 GntWidget *window, *combo, *box; | 169 GntWidget *window, *combo, *box; |
170 const char *text; | 170 const char *text; |
171 int val; | 171 int val; |
172 | 172 |
173 window = setup_request_window(title, primary, secondary, GAIM_REQUEST_CHOICE); | 173 window = setup_request_window(title, primary, secondary, PURPLE_REQUEST_CHOICE); |
174 | 174 |
175 combo = gnt_combo_box_new(); | 175 combo = gnt_combo_box_new(); |
176 gnt_box_add_widget(GNT_BOX(window), combo); | 176 gnt_box_add_widget(GNT_BOX(window), combo); |
177 while ((text = va_arg(choices, const char *))) | 177 while ((text = va_arg(choices, const char *))) |
178 { | 178 { |
191 } | 191 } |
192 | 192 |
193 static void | 193 static void |
194 request_action_cb(GntWidget *button, GntWidget *window) | 194 request_action_cb(GntWidget *button, GntWidget *window) |
195 { | 195 { |
196 GaimRequestActionCb callback = g_object_get_data(G_OBJECT(button), "activate-callback"); | 196 PurpleRequestActionCb callback = g_object_get_data(G_OBJECT(button), "activate-callback"); |
197 gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); | 197 gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); |
198 int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(button), "activate-id")); | 198 int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(button), "activate-id")); |
199 | 199 |
200 if (callback) | 200 if (callback) |
201 callback(data, id); | 201 callback(data, id); |
202 | 202 |
203 gaim_request_close(GAIM_REQUEST_ACTION, window); | 203 purple_request_close(PURPLE_REQUEST_ACTION, window); |
204 } | 204 } |
205 | 205 |
206 static void* | 206 static void* |
207 finch_request_action(const char *title, const char *primary, | 207 finch_request_action(const char *title, const char *primary, |
208 const char *secondary, unsigned int default_value, | 208 const char *secondary, unsigned int default_value, |
210 va_list actions) | 210 va_list actions) |
211 { | 211 { |
212 GntWidget *window, *box, *button; | 212 GntWidget *window, *box, *button; |
213 int i; | 213 int i; |
214 | 214 |
215 window = setup_request_window(title, primary, secondary, GAIM_REQUEST_ACTION); | 215 window = setup_request_window(title, primary, secondary, PURPLE_REQUEST_ACTION); |
216 | 216 |
217 box = gnt_hbox_new(FALSE); | 217 box = gnt_hbox_new(FALSE); |
218 gnt_box_add_widget(GNT_BOX(window), box); | 218 gnt_box_add_widget(GNT_BOX(window), box); |
219 for (i = 0; i < actioncount; i++) | 219 for (i = 0; i < actioncount; i++) |
220 { | 220 { |
221 const char *text = va_arg(actions, const char *); | 221 const char *text = va_arg(actions, const char *); |
222 GaimRequestActionCb callback = va_arg(actions, GaimRequestActionCb); | 222 PurpleRequestActionCb callback = va_arg(actions, PurpleRequestActionCb); |
223 | 223 |
224 button = gnt_button_new(text); | 224 button = gnt_button_new(text); |
225 gnt_box_add_widget(GNT_BOX(box), button); | 225 gnt_box_add_widget(GNT_BOX(box), button); |
226 | 226 |
227 g_object_set_data(G_OBJECT(button), "activate-callback", callback); | 227 g_object_set_data(G_OBJECT(button), "activate-callback", callback); |
234 | 234 |
235 return window; | 235 return window; |
236 } | 236 } |
237 | 237 |
238 static void | 238 static void |
239 request_fields_cb(GntWidget *button, GaimRequestFields *fields) | 239 request_fields_cb(GntWidget *button, PurpleRequestFields *fields) |
240 { | 240 { |
241 GaimRequestFieldsCb callback = g_object_get_data(G_OBJECT(button), "activate-callback"); | 241 PurpleRequestFieldsCb callback = g_object_get_data(G_OBJECT(button), "activate-callback"); |
242 gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); | 242 gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); |
243 GList *list; | 243 GList *list; |
244 | 244 |
245 /* Update the data of the fields. GtkGaim does this differently. Instead of | 245 /* Update the data of the fields. GtkPurple does this differently. Instead of |
246 * updating the fields at the end like here, it updates the appropriate field | 246 * updating the fields at the end like here, it updates the appropriate field |
247 * instantly whenever a change is made. That allows it to make sure the | 247 * instantly whenever a change is made. That allows it to make sure the |
248 * 'required' fields are entered before the user can hit OK. It's not the case | 248 * 'required' fields are entered before the user can hit OK. It's not the case |
249 * here, althought it can be done. I am not honouring the 'required' fields | 249 * here, althought it can be done. I am not honouring the 'required' fields |
250 * for the moment. */ | 250 * for the moment. */ |
251 for (list = gaim_request_fields_get_groups(fields); list; list = list->next) | 251 for (list = purple_request_fields_get_groups(fields); list; list = list->next) |
252 { | 252 { |
253 GaimRequestFieldGroup *group = list->data; | 253 PurpleRequestFieldGroup *group = list->data; |
254 GList *fields = gaim_request_field_group_get_fields(group); | 254 GList *fields = purple_request_field_group_get_fields(group); |
255 | 255 |
256 for (; fields ; fields = fields->next) | 256 for (; fields ; fields = fields->next) |
257 { | 257 { |
258 GaimRequestField *field = fields->data; | 258 PurpleRequestField *field = fields->data; |
259 GaimRequestFieldType type = gaim_request_field_get_type(field); | 259 PurpleRequestFieldType type = purple_request_field_get_type(field); |
260 if (type == GAIM_REQUEST_FIELD_BOOLEAN) | 260 if (type == PURPLE_REQUEST_FIELD_BOOLEAN) |
261 { | 261 { |
262 GntWidget *check = field->ui_data; | 262 GntWidget *check = field->ui_data; |
263 gboolean value = gnt_check_box_get_checked(GNT_CHECK_BOX(check)); | 263 gboolean value = gnt_check_box_get_checked(GNT_CHECK_BOX(check)); |
264 gaim_request_field_bool_set_value(field, value); | 264 purple_request_field_bool_set_value(field, value); |
265 } | 265 } |
266 else if (type == GAIM_REQUEST_FIELD_STRING) | 266 else if (type == PURPLE_REQUEST_FIELD_STRING) |
267 { | 267 { |
268 GntWidget *entry = field->ui_data; | 268 GntWidget *entry = field->ui_data; |
269 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); | 269 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); |
270 gaim_request_field_string_set_value(field, (text && *text) ? text : NULL); | 270 purple_request_field_string_set_value(field, (text && *text) ? text : NULL); |
271 } | 271 } |
272 else if (type == GAIM_REQUEST_FIELD_INTEGER) | 272 else if (type == PURPLE_REQUEST_FIELD_INTEGER) |
273 { | 273 { |
274 GntWidget *entry = field->ui_data; | 274 GntWidget *entry = field->ui_data; |
275 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); | 275 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); |
276 int value = (text && *text) ? atoi(text) : 0; | 276 int value = (text && *text) ? atoi(text) : 0; |
277 gaim_request_field_int_set_value(field, value); | 277 purple_request_field_int_set_value(field, value); |
278 } | 278 } |
279 else if (type == GAIM_REQUEST_FIELD_CHOICE) | 279 else if (type == PURPLE_REQUEST_FIELD_CHOICE) |
280 { | 280 { |
281 GntWidget *combo = field->ui_data; | 281 GntWidget *combo = field->ui_data; |
282 int id; | 282 int id; |
283 id = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo))); | 283 id = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo))); |
284 gaim_request_field_choice_set_value(field, id); | 284 purple_request_field_choice_set_value(field, id); |
285 } | 285 } |
286 else if (type == GAIM_REQUEST_FIELD_LIST) | 286 else if (type == PURPLE_REQUEST_FIELD_LIST) |
287 { | 287 { |
288 GList *list = NULL; | 288 GList *list = NULL; |
289 if (gaim_request_field_list_get_multi_select(field)) | 289 if (purple_request_field_list_get_multi_select(field)) |
290 { | 290 { |
291 const GList *iter; | 291 const GList *iter; |
292 GntWidget *tree = field->ui_data; | 292 GntWidget *tree = field->ui_data; |
293 | 293 |
294 iter = gaim_request_field_list_get_items(field); | 294 iter = purple_request_field_list_get_items(field); |
295 for (; iter; iter = iter->next) | 295 for (; iter; iter = iter->next) |
296 { | 296 { |
297 const char *text = iter->data; | 297 const char *text = iter->data; |
298 gpointer key = gaim_request_field_list_get_data(field, text); | 298 gpointer key = purple_request_field_list_get_data(field, text); |
299 if (gnt_tree_get_choice(GNT_TREE(tree), key)) | 299 if (gnt_tree_get_choice(GNT_TREE(tree), key)) |
300 list = g_list_prepend(list, key); | 300 list = g_list_prepend(list, key); |
301 } | 301 } |
302 } | 302 } |
303 else | 303 else |
305 GntWidget *combo = field->ui_data; | 305 GntWidget *combo = field->ui_data; |
306 gpointer data = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo)); | 306 gpointer data = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo)); |
307 list = g_list_append(list, data); | 307 list = g_list_append(list, data); |
308 } | 308 } |
309 | 309 |
310 gaim_request_field_list_set_selected(field, list); | 310 purple_request_field_list_set_selected(field, list); |
311 g_list_free(list); | 311 g_list_free(list); |
312 } | 312 } |
313 else if (type == GAIM_REQUEST_FIELD_ACCOUNT) | 313 else if (type == PURPLE_REQUEST_FIELD_ACCOUNT) |
314 { | 314 { |
315 GntWidget *combo = field->ui_data; | 315 GntWidget *combo = field->ui_data; |
316 GaimAccount *acc = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo)); | 316 PurpleAccount *acc = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo)); |
317 gaim_request_field_account_set_value(field, acc); | 317 purple_request_field_account_set_value(field, acc); |
318 } | 318 } |
319 } | 319 } |
320 } | 320 } |
321 | 321 |
322 if (callback) | 322 if (callback) |
323 callback(data, fields); | 323 callback(data, fields); |
324 | 324 |
325 while (button->parent) | 325 while (button->parent) |
326 button = button->parent; | 326 button = button->parent; |
327 | 327 |
328 gaim_request_close(GAIM_REQUEST_FIELDS, button); | 328 purple_request_close(PURPLE_REQUEST_FIELDS, button); |
329 } | 329 } |
330 | 330 |
331 static void * | 331 static void * |
332 finch_request_fields(const char *title, const char *primary, | 332 finch_request_fields(const char *title, const char *primary, |
333 const char *secondary, GaimRequestFields *allfields, | 333 const char *secondary, PurpleRequestFields *allfields, |
334 const char *ok, GCallback ok_cb, | 334 const char *ok, GCallback ok_cb, |
335 const char *cancel, GCallback cancel_cb, | 335 const char *cancel, GCallback cancel_cb, |
336 void *userdata) | 336 void *userdata) |
337 { | 337 { |
338 GntWidget *window, *box; | 338 GntWidget *window, *box; |
339 GList *grlist; | 339 GList *grlist; |
340 | 340 |
341 window = setup_request_window(title, primary, secondary, GAIM_REQUEST_FIELDS); | 341 window = setup_request_window(title, primary, secondary, PURPLE_REQUEST_FIELDS); |
342 | 342 |
343 /* This is how it's going to work: the request-groups are going to be | 343 /* This is how it's going to work: the request-groups are going to be |
344 * stacked vertically one after the other. A GntLine will be separating | 344 * stacked vertically one after the other. A GntLine will be separating |
345 * the groups. */ | 345 * the groups. */ |
346 box = gnt_vbox_new(FALSE); | 346 box = gnt_vbox_new(FALSE); |
347 gnt_box_set_pad(GNT_BOX(box), 0); | 347 gnt_box_set_pad(GNT_BOX(box), 0); |
348 gnt_box_set_fill(GNT_BOX(box), TRUE); | 348 gnt_box_set_fill(GNT_BOX(box), TRUE); |
349 for (grlist = gaim_request_fields_get_groups(allfields); grlist; grlist = grlist->next) | 349 for (grlist = purple_request_fields_get_groups(allfields); grlist; grlist = grlist->next) |
350 { | 350 { |
351 GaimRequestFieldGroup *group = grlist->data; | 351 PurpleRequestFieldGroup *group = grlist->data; |
352 GList *fields = gaim_request_field_group_get_fields(group); | 352 GList *fields = purple_request_field_group_get_fields(group); |
353 GntWidget *hbox; | 353 GntWidget *hbox; |
354 const char *title = gaim_request_field_group_get_title(group); | 354 const char *title = purple_request_field_group_get_title(group); |
355 | 355 |
356 if (title) | 356 if (title) |
357 gnt_box_add_widget(GNT_BOX(box), | 357 gnt_box_add_widget(GNT_BOX(box), |
358 gnt_label_new_with_format(title, GNT_TEXT_FLAG_BOLD)); | 358 gnt_label_new_with_format(title, GNT_TEXT_FLAG_BOLD)); |
359 | 359 |
360 for (; fields ; fields = fields->next) | 360 for (; fields ; fields = fields->next) |
361 { | 361 { |
362 /* XXX: Break each of the fields into a separate function? */ | 362 /* XXX: Break each of the fields into a separate function? */ |
363 GaimRequestField *field = fields->data; | 363 PurpleRequestField *field = fields->data; |
364 GaimRequestFieldType type = gaim_request_field_get_type(field); | 364 PurpleRequestFieldType type = purple_request_field_get_type(field); |
365 const char *label = gaim_request_field_get_label(field); | 365 const char *label = purple_request_field_get_label(field); |
366 | 366 |
367 hbox = gnt_hbox_new(TRUE); /* hrm */ | 367 hbox = gnt_hbox_new(TRUE); /* hrm */ |
368 gnt_box_add_widget(GNT_BOX(box), hbox); | 368 gnt_box_add_widget(GNT_BOX(box), hbox); |
369 | 369 |
370 if (type != GAIM_REQUEST_FIELD_BOOLEAN && label) | 370 if (type != PURPLE_REQUEST_FIELD_BOOLEAN && label) |
371 { | 371 { |
372 GntWidget *l = gnt_label_new(label); | 372 GntWidget *l = gnt_label_new(label); |
373 gnt_widget_set_size(l, 0, 1); | 373 gnt_widget_set_size(l, 0, 1); |
374 gnt_box_add_widget(GNT_BOX(hbox), l); | 374 gnt_box_add_widget(GNT_BOX(hbox), l); |
375 } | 375 } |
376 | 376 |
377 if (type == GAIM_REQUEST_FIELD_BOOLEAN) | 377 if (type == PURPLE_REQUEST_FIELD_BOOLEAN) |
378 { | 378 { |
379 GntWidget *check = gnt_check_box_new(label); | 379 GntWidget *check = gnt_check_box_new(label); |
380 gnt_check_box_set_checked(GNT_CHECK_BOX(check), | 380 gnt_check_box_set_checked(GNT_CHECK_BOX(check), |
381 gaim_request_field_bool_get_default_value(field)); | 381 purple_request_field_bool_get_default_value(field)); |
382 gnt_box_add_widget(GNT_BOX(hbox), check); | 382 gnt_box_add_widget(GNT_BOX(hbox), check); |
383 field->ui_data = check; | 383 field->ui_data = check; |
384 } | 384 } |
385 else if (type == GAIM_REQUEST_FIELD_STRING) | 385 else if (type == PURPLE_REQUEST_FIELD_STRING) |
386 { | 386 { |
387 GntWidget *entry = gnt_entry_new( | 387 GntWidget *entry = gnt_entry_new( |
388 gaim_request_field_string_get_default_value(field)); | 388 purple_request_field_string_get_default_value(field)); |
389 gnt_entry_set_masked(GNT_ENTRY(entry), | 389 gnt_entry_set_masked(GNT_ENTRY(entry), |
390 gaim_request_field_string_is_masked(field)); | 390 purple_request_field_string_is_masked(field)); |
391 gnt_box_add_widget(GNT_BOX(hbox), entry); | 391 gnt_box_add_widget(GNT_BOX(hbox), entry); |
392 field->ui_data = entry; | 392 field->ui_data = entry; |
393 } | 393 } |
394 else if (type == GAIM_REQUEST_FIELD_INTEGER) | 394 else if (type == PURPLE_REQUEST_FIELD_INTEGER) |
395 { | 395 { |
396 char str[256]; | 396 char str[256]; |
397 int val = gaim_request_field_int_get_default_value(field); | 397 int val = purple_request_field_int_get_default_value(field); |
398 GntWidget *entry; | 398 GntWidget *entry; |
399 | 399 |
400 snprintf(str, sizeof(str), "%d", val); | 400 snprintf(str, sizeof(str), "%d", val); |
401 entry = gnt_entry_new(str); | 401 entry = gnt_entry_new(str); |
402 gnt_entry_set_flag(GNT_ENTRY(entry), GNT_ENTRY_FLAG_INT); | 402 gnt_entry_set_flag(GNT_ENTRY(entry), GNT_ENTRY_FLAG_INT); |
403 gnt_box_add_widget(GNT_BOX(hbox), entry); | 403 gnt_box_add_widget(GNT_BOX(hbox), entry); |
404 field->ui_data = entry; | 404 field->ui_data = entry; |
405 } | 405 } |
406 else if (type == GAIM_REQUEST_FIELD_CHOICE) | 406 else if (type == PURPLE_REQUEST_FIELD_CHOICE) |
407 { | 407 { |
408 int id; | 408 int id; |
409 const GList *list; | 409 const GList *list; |
410 GntWidget *combo = gnt_combo_box_new(); | 410 GntWidget *combo = gnt_combo_box_new(); |
411 gnt_box_add_widget(GNT_BOX(hbox), combo); | 411 gnt_box_add_widget(GNT_BOX(hbox), combo); |
412 field->ui_data = combo; | 412 field->ui_data = combo; |
413 | 413 |
414 list = gaim_request_field_choice_get_labels(field); | 414 list = purple_request_field_choice_get_labels(field); |
415 for (id = 1; list; list = list->next, id++) | 415 for (id = 1; list; list = list->next, id++) |
416 { | 416 { |
417 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), | 417 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), |
418 GINT_TO_POINTER(id), list->data); | 418 GINT_TO_POINTER(id), list->data); |
419 } | 419 } |
420 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), | 420 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), |
421 GINT_TO_POINTER(gaim_request_field_choice_get_default_value(field))); | 421 GINT_TO_POINTER(purple_request_field_choice_get_default_value(field))); |
422 } | 422 } |
423 else if (type == GAIM_REQUEST_FIELD_LIST) | 423 else if (type == PURPLE_REQUEST_FIELD_LIST) |
424 { | 424 { |
425 const GList *list; | 425 const GList *list; |
426 gboolean multi = gaim_request_field_list_get_multi_select(field); | 426 gboolean multi = purple_request_field_list_get_multi_select(field); |
427 if (multi) | 427 if (multi) |
428 { | 428 { |
429 GntWidget *tree = gnt_tree_new(); | 429 GntWidget *tree = gnt_tree_new(); |
430 gnt_box_add_widget(GNT_BOX(hbox), tree); | 430 gnt_box_add_widget(GNT_BOX(hbox), tree); |
431 field->ui_data = tree; | 431 field->ui_data = tree; |
432 | 432 |
433 list = gaim_request_field_list_get_items(field); | 433 list = purple_request_field_list_get_items(field); |
434 for (; list; list = list->next) | 434 for (; list; list = list->next) |
435 { | 435 { |
436 const char *text = list->data; | 436 const char *text = list->data; |
437 gpointer key = gaim_request_field_list_get_data(field, text); | 437 gpointer key = purple_request_field_list_get_data(field, text); |
438 gnt_tree_add_choice(GNT_TREE(tree), key, | 438 gnt_tree_add_choice(GNT_TREE(tree), key, |
439 gnt_tree_create_row(GNT_TREE(tree), text), NULL, NULL); | 439 gnt_tree_create_row(GNT_TREE(tree), text), NULL, NULL); |
440 if (gaim_request_field_list_is_selected(field, text)) | 440 if (purple_request_field_list_is_selected(field, text)) |
441 gnt_tree_set_choice(GNT_TREE(tree), key, TRUE); | 441 gnt_tree_set_choice(GNT_TREE(tree), key, TRUE); |
442 } | 442 } |
443 } | 443 } |
444 else | 444 else |
445 { | 445 { |
446 GntWidget *combo = gnt_combo_box_new(); | 446 GntWidget *combo = gnt_combo_box_new(); |
447 gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID); | 447 gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID); |
448 gnt_box_add_widget(GNT_BOX(hbox), combo); | 448 gnt_box_add_widget(GNT_BOX(hbox), combo); |
449 field->ui_data = combo; | 449 field->ui_data = combo; |
450 | 450 |
451 list = gaim_request_field_list_get_items(field); | 451 list = purple_request_field_list_get_items(field); |
452 for (; list; list = list->next) | 452 for (; list; list = list->next) |
453 { | 453 { |
454 const char *text = list->data; | 454 const char *text = list->data; |
455 gpointer key = gaim_request_field_list_get_data(field, text); | 455 gpointer key = purple_request_field_list_get_data(field, text); |
456 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), key, text); | 456 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), key, text); |
457 if (gaim_request_field_list_is_selected(field, text)) | 457 if (purple_request_field_list_is_selected(field, text)) |
458 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), key); | 458 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), key); |
459 } | 459 } |
460 } | 460 } |
461 } | 461 } |
462 else if (type == GAIM_REQUEST_FIELD_ACCOUNT) | 462 else if (type == PURPLE_REQUEST_FIELD_ACCOUNT) |
463 { | 463 { |
464 gboolean all; | 464 gboolean all; |
465 GaimAccount *def; | 465 PurpleAccount *def; |
466 GList *list; | 466 GList *list; |
467 GntWidget *combo = gnt_combo_box_new(); | 467 GntWidget *combo = gnt_combo_box_new(); |
468 gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID); | 468 gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID); |
469 gnt_box_add_widget(GNT_BOX(hbox), combo); | 469 gnt_box_add_widget(GNT_BOX(hbox), combo); |
470 field->ui_data = combo; | 470 field->ui_data = combo; |
471 | 471 |
472 all = gaim_request_field_account_get_show_all(field); | 472 all = purple_request_field_account_get_show_all(field); |
473 def = gaim_request_field_account_get_default_value(field); | 473 def = purple_request_field_account_get_default_value(field); |
474 | 474 |
475 if (all) | 475 if (all) |
476 list = gaim_accounts_get_all(); | 476 list = purple_accounts_get_all(); |
477 else | 477 else |
478 list = gaim_connections_get_all(); | 478 list = purple_connections_get_all(); |
479 | 479 |
480 for (; list; list = list->next) | 480 for (; list; list = list->next) |
481 { | 481 { |
482 GaimAccount *account; | 482 PurpleAccount *account; |
483 char *text; | 483 char *text; |
484 | 484 |
485 if (all) | 485 if (all) |
486 account = list->data; | 486 account = list->data; |
487 else | 487 else |
488 account = gaim_connection_get_account(list->data); | 488 account = purple_connection_get_account(list->data); |
489 | 489 |
490 text = g_strdup_printf("%s (%s)", | 490 text = g_strdup_printf("%s (%s)", |
491 gaim_account_get_username(account), | 491 purple_account_get_username(account), |
492 gaim_account_get_protocol_name(account)); | 492 purple_account_get_protocol_name(account)); |
493 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), account, text); | 493 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), account, text); |
494 g_free(text); | 494 g_free(text); |
495 if (account == def) | 495 if (account == def) |
496 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), account); | 496 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), account); |
497 } | 497 } |
519 } | 519 } |
520 | 520 |
521 static void | 521 static void |
522 file_cancel_cb(GntWidget *wid, gpointer fq) | 522 file_cancel_cb(GntWidget *wid, gpointer fq) |
523 { | 523 { |
524 GaimGntFileRequest *data = fq; | 524 PurpleGntFileRequest *data = fq; |
525 if (data->cbs[1] != NULL) | 525 if (data->cbs[1] != NULL) |
526 ((GaimRequestFileCb)data->cbs[1])(data->user_data, NULL); | 526 ((PurpleRequestFileCb)data->cbs[1])(data->user_data, NULL); |
527 | 527 |
528 gaim_request_close(GAIM_REQUEST_FILE, data->dialog); | 528 purple_request_close(PURPLE_REQUEST_FILE, data->dialog); |
529 } | 529 } |
530 | 530 |
531 static void | 531 static void |
532 file_ok_cb(GntWidget *wid, gpointer fq) | 532 file_ok_cb(GntWidget *wid, gpointer fq) |
533 { | 533 { |
534 GaimGntFileRequest *data = fq; | 534 PurpleGntFileRequest *data = fq; |
535 if (data->cbs[0] != NULL) | 535 if (data->cbs[0] != NULL) |
536 ((GaimRequestFileCb)data->cbs[0])(data->user_data, gnt_entry_get_text(GNT_ENTRY(data->entry))); | 536 ((PurpleRequestFileCb)data->cbs[0])(data->user_data, gnt_entry_get_text(GNT_ENTRY(data->entry))); |
537 | 537 |
538 gaim_request_close(GAIM_REQUEST_FILE, data->dialog); | 538 purple_request_close(PURPLE_REQUEST_FILE, data->dialog); |
539 } | 539 } |
540 | 540 |
541 static void | 541 static void |
542 file_request_destroy(GaimGntFileRequest *data) | 542 file_request_destroy(PurpleGntFileRequest *data) |
543 { | 543 { |
544 g_free(data->cbs); | 544 g_free(data->cbs); |
545 g_free(data); | 545 g_free(data); |
546 } | 546 } |
547 | 547 |
551 GCallback ok_cb, GCallback cancel_cb, | 551 GCallback ok_cb, GCallback cancel_cb, |
552 void *user_data) | 552 void *user_data) |
553 { | 553 { |
554 GntWidget *window = gnt_vbox_new(FALSE); | 554 GntWidget *window = gnt_vbox_new(FALSE); |
555 GntWidget *entry, *hbox, *button; | 555 GntWidget *entry, *hbox, *button; |
556 GaimGntFileRequest *data = g_new0(GaimGntFileRequest, 1); | 556 PurpleGntFileRequest *data = g_new0(PurpleGntFileRequest, 1); |
557 | 557 |
558 data->user_data = user_data; | 558 data->user_data = user_data; |
559 data->cbs = g_new0(GCallback, 2); | 559 data->cbs = g_new0(GCallback, 2); |
560 data->cbs[0] = ok_cb; | 560 data->cbs[0] = ok_cb; |
561 data->cbs[1] = cancel_cb; | 561 data->cbs[1] = cancel_cb; |
562 data->dialog = window; | 562 data->dialog = window; |
563 data->entry = entry = gnt_entry_new(g_strconcat(gaim_home_dir(), G_DIR_SEPARATOR_S, filename, NULL)); | 563 data->entry = entry = gnt_entry_new(g_strconcat(purple_home_dir(), G_DIR_SEPARATOR_S, filename, NULL)); |
564 gnt_widget_set_size(entry, 30, 1); | 564 gnt_widget_set_size(entry, 30, 1); |
565 gnt_box_set_toplevel(GNT_BOX(window), TRUE); | 565 gnt_box_set_toplevel(GNT_BOX(window), TRUE); |
566 gnt_box_set_title(GNT_BOX(window), title ? title : (savedialog ? _("Save File...") : _("Open File..."))); | 566 gnt_box_set_title(GNT_BOX(window), title ? title : (savedialog ? _("Save File...") : _("Open File..."))); |
567 #if 0 | 567 #if 0 |
568 /* After the string freeze */ | 568 /* After the string freeze */ |
591 gnt_widget_show(window); | 591 gnt_widget_show(window); |
592 | 592 |
593 return window; | 593 return window; |
594 } | 594 } |
595 | 595 |
596 static GaimRequestUiOps uiops = | 596 static PurpleRequestUiOps uiops = |
597 { | 597 { |
598 .request_input = finch_request_input, | 598 .request_input = finch_request_input, |
599 .close_request = finch_close_request, | 599 .close_request = finch_close_request, |
600 .request_choice = finch_request_choice, | 600 .request_choice = finch_request_choice, |
601 .request_action = finch_request_action, | 601 .request_action = finch_request_action, |
602 .request_fields = finch_request_fields, | 602 .request_fields = finch_request_fields, |
603 .request_file = finch_request_file, | 603 .request_file = finch_request_file, |
604 .request_folder = NULL /* No plans for this */ | 604 .request_folder = NULL /* No plans for this */ |
605 }; | 605 }; |
606 | 606 |
607 GaimRequestUiOps *finch_request_get_ui_ops() | 607 PurpleRequestUiOps *finch_request_get_ui_ops() |
608 { | 608 { |
609 return &uiops; | 609 return &uiops; |
610 } | 610 } |
611 | 611 |
612 void finch_request_init() | 612 void finch_request_init() |