pidgin/gtkdialogs.c

changeset 33213
2852fbde4722
parent 33170
ce4447562d64
child 33219
06b19630bdb0
equal deleted inserted replaced
33212:970a460e74fa 33213:2852fbde4722
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,

mercurial