# HG changeset patch # User Sadrul Habib Chowdhury # Date 1174286091 0 # Node ID f59cfcce68a81f591c64e6c5f81bd7d2f005baef # Parent aabeea8c6c406b8734b34bb56fed4959a439e788 Add auto-complete support in request-entries that have 'screenname' hint set. This can be useful in, for example, 'send im' dialog etc. diff -r aabeea8c6c40 -r f59cfcce68a8 finch/gntrequest.c --- a/finch/gntrequest.c Mon Mar 19 00:20:29 2007 +0000 +++ b/finch/gntrequest.c Mon Mar 19 06:34:51 2007 +0000 @@ -384,10 +384,21 @@ } else if (type == GAIM_REQUEST_FIELD_STRING) { + const char *hint = gaim_request_field_get_type_hint(field); GntWidget *entry = gnt_entry_new( gaim_request_field_string_get_default_value(field)); gnt_entry_set_masked(GNT_ENTRY(entry), gaim_request_field_string_is_masked(field)); + if (gaim_str_has_prefix(hint, "screenname")) { + GaimBlistNode *node = gaim_blist_get_root(); + gboolean offline = gaim_str_has_suffix(hint, "all"); + for (; node; node = gaim_blist_node_next(node, offline)) { + if (!GAIM_BLIST_NODE_IS_BUDDY(node)) + continue; + gnt_entry_add_suggest(GNT_ENTRY(entry), gaim_buddy_get_name((GaimBuddy*)node)); + } + gnt_entry_set_always_suggest(GNT_ENTRY(entry), TRUE); + } gnt_box_add_widget(GNT_BOX(hbox), entry); field->ui_data = entry; }