| 877 username = purple_request_fields_get_string(fields, "screenname"); |
877 username = purple_request_fields_get_string(fields, "screenname"); |
| 878 |
878 |
| 879 pidgin_dialogs_im_with_user(account, username); |
879 pidgin_dialogs_im_with_user(account, username); |
| 880 } |
880 } |
| 881 |
881 |
| |
882 static gboolean |
| |
883 pidgin_dialogs_im_name_validator(PurpleRequestField *field, void *_fields) |
| |
884 { |
| |
885 PurpleRequestFields *fields = _fields; |
| |
886 PurpleAccount *account; |
| |
887 PurplePlugin *prpl; |
| |
888 const char *username; |
| |
889 |
| |
890 account = purple_request_fields_get_account(fields, "account"); |
| |
891 prpl = purple_find_prpl(purple_account_get_protocol_id(account)); |
| |
892 username = purple_request_fields_get_string(fields, "screenname"); |
| |
893 |
| |
894 return purple_validate(prpl, username); |
| |
895 } |
| |
896 |
| 882 void |
897 void |
| 883 pidgin_dialogs_im(void) |
898 pidgin_dialogs_im(void) |
| 884 { |
899 { |
| 885 PurpleRequestFields *fields; |
900 PurpleRequestFields *fields; |
| 886 PurpleRequestFieldGroup *group; |
901 PurpleRequestFieldGroup *group; |
| 892 purple_request_fields_add_group(fields, group); |
907 purple_request_fields_add_group(fields, group); |
| 893 |
908 |
| 894 field = purple_request_field_string_new("screenname", _("_Name"), NULL, FALSE); |
909 field = purple_request_field_string_new("screenname", _("_Name"), NULL, FALSE); |
| 895 purple_request_field_set_type_hint(field, "screenname"); |
910 purple_request_field_set_type_hint(field, "screenname"); |
| 896 purple_request_field_set_required(field, TRUE); |
911 purple_request_field_set_required(field, TRUE); |
| |
912 purple_request_field_set_validator(field, pidgin_dialogs_im_name_validator, fields); |
| 897 purple_request_field_group_add_field(group, field); |
913 purple_request_field_group_add_field(group, field); |
| 898 |
914 |
| 899 field = purple_request_field_account_new("account", _("_Account"), NULL); |
915 field = purple_request_field_account_new("account", _("_Account"), NULL); |
| 900 purple_request_field_set_type_hint(field, "account"); |
916 purple_request_field_set_type_hint(field, "account"); |
| 901 purple_request_field_set_visible(field, |
917 purple_request_field_set_visible(field, |