| 321 PurpleRequestFieldType type = purple_request_field_get_type(field); |
315 PurpleRequestFieldType type = purple_request_field_get_type(field); |
| 322 if (!purple_request_field_is_visible(field)) |
316 if (!purple_request_field_is_visible(field)) |
| 323 continue; |
317 continue; |
| 324 if (type == PURPLE_REQUEST_FIELD_BOOLEAN) |
318 if (type == PURPLE_REQUEST_FIELD_BOOLEAN) |
| 325 { |
319 { |
| 326 GntWidget *check = FINCH_GET_DATA(field); |
320 GntWidget *check = purple_request_field_get_ui_data(field); |
| 327 gboolean value = gnt_check_box_get_checked(GNT_CHECK_BOX(check)); |
321 gboolean value = gnt_check_box_get_checked(GNT_CHECK_BOX(check)); |
| 328 purple_request_field_bool_set_value(field, value); |
322 purple_request_field_bool_set_value(field, value); |
| 329 } |
323 } |
| 330 else if (type == PURPLE_REQUEST_FIELD_STRING) |
324 else if (type == PURPLE_REQUEST_FIELD_STRING) |
| 331 { |
325 { |
| 332 GntWidget *entry = FINCH_GET_DATA(field); |
326 GntWidget *entry = purple_request_field_get_ui_data(field); |
| 333 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); |
327 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); |
| 334 purple_request_field_string_set_value(field, (text && *text) ? text : NULL); |
328 purple_request_field_string_set_value(field, (text && *text) ? text : NULL); |
| 335 } |
329 } |
| 336 else if (type == PURPLE_REQUEST_FIELD_INTEGER) |
330 else if (type == PURPLE_REQUEST_FIELD_INTEGER) |
| 337 { |
331 { |
| 338 GntWidget *entry = FINCH_GET_DATA(field); |
332 GntWidget *entry = purple_request_field_get_ui_data(field); |
| 339 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); |
333 const char *text = gnt_entry_get_text(GNT_ENTRY(entry)); |
| 340 int value = (text && *text) ? atoi(text) : 0; |
334 int value = (text && *text) ? atoi(text) : 0; |
| 341 purple_request_field_int_set_value(field, value); |
335 purple_request_field_int_set_value(field, value); |
| 342 } |
336 } |
| 343 else if (type == PURPLE_REQUEST_FIELD_CHOICE) |
337 else if (type == PURPLE_REQUEST_FIELD_CHOICE) |
| 344 { |
338 { |
| 345 GntWidget *combo = FINCH_GET_DATA(field); |
339 GntWidget *combo = purple_request_field_get_ui_data(field); |
| 346 int id; |
340 int id; |
| 347 id = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo))); |
341 id = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo))); |
| 348 purple_request_field_choice_set_value(field, id); |
342 purple_request_field_choice_set_value(field, id); |
| 349 } |
343 } |
| 350 else if (type == PURPLE_REQUEST_FIELD_LIST) |
344 else if (type == PURPLE_REQUEST_FIELD_LIST) |
| 351 { |
345 { |
| 352 GList *list = NULL, *iter; |
346 GList *list = NULL, *iter; |
| 353 if (purple_request_field_list_get_multi_select(field)) |
347 if (purple_request_field_list_get_multi_select(field)) |
| 354 { |
348 { |
| 355 GntWidget *tree = FINCH_GET_DATA(field); |
349 GntWidget *tree = purple_request_field_get_ui_data(field); |
| 356 |
350 |
| 357 iter = purple_request_field_list_get_items(field); |
351 iter = purple_request_field_list_get_items(field); |
| 358 for (; iter; iter = iter->next) |
352 for (; iter; iter = iter->next) |
| 359 { |
353 { |
| 360 const char *text = iter->data; |
354 const char *text = iter->data; |
| 363 list = g_list_prepend(list, (gpointer)text); |
357 list = g_list_prepend(list, (gpointer)text); |
| 364 } |
358 } |
| 365 } |
359 } |
| 366 else |
360 else |
| 367 { |
361 { |
| 368 GntWidget *combo = FINCH_GET_DATA(field); |
362 GntWidget *combo = purple_request_field_get_ui_data(field); |
| 369 gpointer data = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo)); |
363 gpointer data = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo)); |
| 370 |
364 |
| 371 iter = purple_request_field_list_get_items(field); |
365 iter = purple_request_field_list_get_items(field); |
| 372 for (; iter; iter = iter->next) { |
366 for (; iter; iter = iter->next) { |
| 373 const char *text = iter->data; |
367 const char *text = iter->data; |
| 382 purple_request_field_list_set_selected(field, list); |
376 purple_request_field_list_set_selected(field, list); |
| 383 g_list_free(list); |
377 g_list_free(list); |
| 384 } |
378 } |
| 385 else if (type == PURPLE_REQUEST_FIELD_ACCOUNT) |
379 else if (type == PURPLE_REQUEST_FIELD_ACCOUNT) |
| 386 { |
380 { |
| 387 GntWidget *combo = FINCH_GET_DATA(field); |
381 GntWidget *combo = purple_request_field_get_ui_data(field); |
| 388 PurpleAccount *acc = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo)); |
382 PurpleAccount *acc = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo)); |
| 389 purple_request_field_account_set_value(field, acc); |
383 purple_request_field_account_set_value(field, acc); |
| 390 } |
384 } |
| 391 } |
385 } |
| 392 } |
386 } |
| 631 gnt_box_add_widget(GNT_BOX(hbox), l); |
625 gnt_box_add_widget(GNT_BOX(hbox), l); |
| 632 } |
626 } |
| 633 |
627 |
| 634 if (type == PURPLE_REQUEST_FIELD_BOOLEAN) |
628 if (type == PURPLE_REQUEST_FIELD_BOOLEAN) |
| 635 { |
629 { |
| 636 FINCH_SET_DATA(field, create_boolean_field(field)); |
630 purple_request_field_set_ui_data(field, create_boolean_field(field)); |
| 637 } |
631 } |
| 638 else if (type == PURPLE_REQUEST_FIELD_STRING) |
632 else if (type == PURPLE_REQUEST_FIELD_STRING) |
| 639 { |
633 { |
| 640 FINCH_SET_DATA(field, create_string_field(field, &username)); |
634 purple_request_field_set_ui_data(field, create_string_field(field, &username)); |
| 641 } |
635 } |
| 642 else if (type == PURPLE_REQUEST_FIELD_INTEGER) |
636 else if (type == PURPLE_REQUEST_FIELD_INTEGER) |
| 643 { |
637 { |
| 644 FINCH_SET_DATA(field, create_integer_field(field)); |
638 purple_request_field_set_ui_data(field, create_integer_field(field)); |
| 645 } |
639 } |
| 646 else if (type == PURPLE_REQUEST_FIELD_CHOICE) |
640 else if (type == PURPLE_REQUEST_FIELD_CHOICE) |
| 647 { |
641 { |
| 648 FINCH_SET_DATA(field, create_choice_field(field)); |
642 purple_request_field_set_ui_data(field, create_choice_field(field)); |
| 649 } |
643 } |
| 650 else if (type == PURPLE_REQUEST_FIELD_LIST) |
644 else if (type == PURPLE_REQUEST_FIELD_LIST) |
| 651 { |
645 { |
| 652 FINCH_SET_DATA(field, create_list_field(field)); |
646 purple_request_field_set_ui_data(field, create_list_field(field)); |
| 653 } |
647 } |
| 654 else if (type == PURPLE_REQUEST_FIELD_ACCOUNT) |
648 else if (type == PURPLE_REQUEST_FIELD_ACCOUNT) |
| 655 { |
649 { |
| 656 accountlist = create_account_field(field); |
650 accountlist = create_account_field(field); |
| 657 FINCH_SET_DATA(field, accountlist); |
651 purple_request_field_set_ui_data(field, accountlist); |
| 658 } |
652 } |
| 659 else |
653 else |
| 660 { |
654 { |
| 661 FINCH_SET_DATA(field, gnt_label_new_with_format(_("Not implemented yet."), |
655 purple_request_field_set_ui_data(field, gnt_label_new_with_format(_("Not implemented yet."), |
| 662 GNT_TEXT_FLAG_BOLD)); |
656 GNT_TEXT_FLAG_BOLD)); |
| 663 } |
657 } |
| 664 gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID); |
658 gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID); |
| 665 gnt_box_add_widget(GNT_BOX(hbox), GNT_WIDGET(FINCH_GET_DATA(field))); |
659 gnt_box_add_widget(GNT_BOX(hbox), GNT_WIDGET(purple_request_field_get_ui_data(field))); |
| 666 } |
660 } |
| 667 if (grlist->next) |
661 if (grlist->next) |
| 668 gnt_box_add_widget(GNT_BOX(box), gnt_hline_new()); |
662 gnt_box_add_widget(GNT_BOX(box), gnt_hline_new()); |
| 669 } |
663 } |
| 670 gnt_box_add_widget(GNT_BOX(window), box); |
664 gnt_box_add_widget(GNT_BOX(window), box); |