# HG changeset patch # User Sadrul Habib Chowdhury # Date 1162528910 0 # Node ID ea920bd4a00b5fc6c5819be02cbfbd9d657618ed # Parent d17ae8987b114363365fa5df24d4909bc87e4492 [gaim-migrate @ 17661] 'Send IM...' in the buddylist menu to be able to send IM to people not in the buddylist. committer: Tailor Script diff -r d17ae8987b11 -r ea920bd4a00b console/gntblist.c --- a/console/gntblist.c Fri Nov 03 03:13:26 2006 +0000 +++ b/console/gntblist.c Fri Nov 03 04:41:50 2006 +0000 @@ -1873,6 +1873,54 @@ gaim_prefs_set_string(PREF_ROOT "/sort_type", n); } +/* XXX: send_im_select* -- Xerox */ +static void +send_im_select_cb(gpointer data, GaimRequestFields *fields) +{ + GaimAccount *account; + const char *username; + + account = gaim_request_fields_get_account(fields, "account"); + username = gaim_request_fields_get_string(fields, "screenname"); + + gaim_conversation_new(GAIM_CONV_TYPE_IM, account, username); +} + +static void +send_im_select(void) +{ + GaimRequestFields *fields; + GaimRequestFieldGroup *group; + GaimRequestField *field; + + fields = gaim_request_fields_new(); + + group = gaim_request_field_group_new(NULL); + gaim_request_fields_add_group(fields, group); + + field = gaim_request_field_string_new("screenname", _("_Name"), NULL, FALSE); + gaim_request_field_set_type_hint(field, "screenname"); + gaim_request_field_set_required(field, TRUE); + gaim_request_field_group_add_field(group, field); + + field = gaim_request_field_account_new("account", _("_Account"), NULL); + gaim_request_field_set_type_hint(field, "account"); + gaim_request_field_set_visible(field, + (gaim_connections_get_all() != NULL && + gaim_connections_get_all()->next != NULL)); + gaim_request_field_set_required(field, TRUE); + gaim_request_field_group_add_field(group, field); + + gaim_request_fields(gaim_get_blist(), _("New Instant Message"), + NULL, + _("Please enter the screen name or alias of the person " + "you would like to IM."), + fields, + _("OK"), G_CALLBACK(send_im_select_cb), + _("Cancel"), NULL, + NULL); +} + static void create_menu() { @@ -1893,6 +1941,10 @@ sub = gnt_menu_new(GNT_MENU_POPUP); gnt_menuitem_set_submenu(item, GNT_MENU(sub)); + item = gnt_menuitem_new(_("Send IM...")); + gnt_menu_add_item(GNT_MENU(sub), item); + gnt_menuitem_set_callback(GNT_MENUITEM(item), send_im_select, NULL); + item = gnt_menuitem_new(_("Toggle offline buddies")); gnt_menu_add_item(GNT_MENU(sub), item); gnt_menuitem_set_callback(GNT_MENUITEM(item), show_offline_cb, NULL);