void GeneralMenu::openRequestFieldsTest(CppConsUI::Button& /*activator*/) { PurpleRequestFields *fields = purple_request_fields_new(); PurpleRequestFieldGroup *g = purple_request_field_group_new("Group 0"); purple_request_fields_add_group(fields, g); PurpleRequestField *f; f = purple_request_field_string_new("text0", "String field 0", "def0", FALSE); purple_request_field_group_add_field(g, f); f = purple_request_field_string_new("text1", "String field 1", NULL, FALSE); purple_request_field_group_add_field(g, f); f = purple_request_field_int_new("int0", "Int field 0", INT_MAX); purple_request_field_group_add_field(g, f); f = purple_request_field_bool_new("bool0", "Bool field 0", FALSE); purple_request_field_group_add_field(g, f); f = purple_request_field_choice_new("choice0", "Choice field 0", 2); purple_request_field_choice_add(f, "One"); purple_request_field_choice_add(f, "Two"); purple_request_field_choice_add(f, "Three"); purple_request_field_choice_add(f, "Four"); purple_request_field_group_add_field(g, f); f = purple_request_field_list_new("list0", "List field 0, multiple"); purple_request_field_list_set_multi_select(f, TRUE); purple_request_field_list_add(f, "One", this); purple_request_field_list_add(f, "Two", this); purple_request_field_list_add(f, "Three", this); purple_request_field_list_add(f, "Four", this); purple_request_field_list_add_selected(f, "Three"); purple_request_field_group_add_field(g, f); f = purple_request_field_list_new("list1", "List field 1, single"); purple_request_field_list_set_multi_select(f, FALSE); purple_request_field_list_add(f, "One", this); purple_request_field_list_add(f, "Two", this); purple_request_field_list_add(f, "Three", this); purple_request_field_list_add(f, "Four", this); purple_request_field_list_add_selected(f, "Three"); purple_request_field_group_add_field(g, f); f = purple_request_field_account_new("account0", "Account field 0", NULL); purple_request_field_account_set_show_all(f, TRUE); purple_request_field_group_add_field(g, f); purple_request_fields(NULL, "Title", "Primary", "Secondary", fields, "Ok", G_CALLBACK(fields_ok_cb_), "Cancel", NULL, NULL, NULL, NULL, this); close(); }
void lh_migrate_action_cb(PurplePluginAction *action) { PurpleRequestFields *request; PurpleRequestFieldGroup *group; PurpleRequestField *field; /* It seems Purple is super-picky about the order of these first three calls */ /* create a request */ request = purple_request_fields_new(); /* now create a field group */ group = purple_request_field_group_new(NULL); /* and add that group to the request created above */ purple_request_fields_add_group(request, group); /* create a field */ field = purple_request_field_account_new("migrate_source_acct", _("Account"), NULL); /* mark the field as required */ purple_request_field_set_required(field, TRUE); /* let's show offline accounts too */ purple_request_field_account_set_show_all(field, TRUE); /* add the field to the group created above */ purple_request_field_group_add_field(group, field); /* and finally we can create the request */ purple_request_fields(purple_get_blist(), _("Listhandler - Copying"), _("Choose the account to copy from:"), NULL, request, _("C_opy"), G_CALLBACK(lh_migrate_source_request_cb), _("_Cancel"), NULL, NULL, NULL, NULL, NULL); return; }