comparison console/gntblist.c @ 14889:ea920bd4a00b

[gaim-migrate @ 17661] 'Send IM...' in the buddylist menu to be able to send IM to people not in the buddylist. committer: Tailor Script <tailor@pidgin.im>
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 03 Nov 2006 04:41:50 +0000
parents c8cd118653fc
children 056c8a27668c
comparison
equal deleted inserted replaced
14888:d17ae8987b11 14889:ea920bd4a00b
1871 static void sort_blist_change_cb(GntMenuItem *item, gpointer n) 1871 static void sort_blist_change_cb(GntMenuItem *item, gpointer n)
1872 { 1872 {
1873 gaim_prefs_set_string(PREF_ROOT "/sort_type", n); 1873 gaim_prefs_set_string(PREF_ROOT "/sort_type", n);
1874 } 1874 }
1875 1875
1876 /* XXX: send_im_select* -- Xerox */
1877 static void
1878 send_im_select_cb(gpointer data, GaimRequestFields *fields)
1879 {
1880 GaimAccount *account;
1881 const char *username;
1882
1883 account = gaim_request_fields_get_account(fields, "account");
1884 username = gaim_request_fields_get_string(fields, "screenname");
1885
1886 gaim_conversation_new(GAIM_CONV_TYPE_IM, account, username);
1887 }
1888
1889 static void
1890 send_im_select(void)
1891 {
1892 GaimRequestFields *fields;
1893 GaimRequestFieldGroup *group;
1894 GaimRequestField *field;
1895
1896 fields = gaim_request_fields_new();
1897
1898 group = gaim_request_field_group_new(NULL);
1899 gaim_request_fields_add_group(fields, group);
1900
1901 field = gaim_request_field_string_new("screenname", _("_Name"), NULL, FALSE);
1902 gaim_request_field_set_type_hint(field, "screenname");
1903 gaim_request_field_set_required(field, TRUE);
1904 gaim_request_field_group_add_field(group, field);
1905
1906 field = gaim_request_field_account_new("account", _("_Account"), NULL);
1907 gaim_request_field_set_type_hint(field, "account");
1908 gaim_request_field_set_visible(field,
1909 (gaim_connections_get_all() != NULL &&
1910 gaim_connections_get_all()->next != NULL));
1911 gaim_request_field_set_required(field, TRUE);
1912 gaim_request_field_group_add_field(group, field);
1913
1914 gaim_request_fields(gaim_get_blist(), _("New Instant Message"),
1915 NULL,
1916 _("Please enter the screen name or alias of the person "
1917 "you would like to IM."),
1918 fields,
1919 _("OK"), G_CALLBACK(send_im_select_cb),
1920 _("Cancel"), NULL,
1921 NULL);
1922 }
1923
1876 static void 1924 static void
1877 create_menu() 1925 create_menu()
1878 { 1926 {
1879 GntWidget *menu, *sub; 1927 GntWidget *menu, *sub;
1880 GntMenuItem *item; 1928 GntMenuItem *item;
1890 item = gnt_menuitem_new(_("Options")); 1938 item = gnt_menuitem_new(_("Options"));
1891 gnt_menu_add_item(GNT_MENU(menu), item); 1939 gnt_menu_add_item(GNT_MENU(menu), item);
1892 1940
1893 sub = gnt_menu_new(GNT_MENU_POPUP); 1941 sub = gnt_menu_new(GNT_MENU_POPUP);
1894 gnt_menuitem_set_submenu(item, GNT_MENU(sub)); 1942 gnt_menuitem_set_submenu(item, GNT_MENU(sub));
1943
1944 item = gnt_menuitem_new(_("Send IM..."));
1945 gnt_menu_add_item(GNT_MENU(sub), item);
1946 gnt_menuitem_set_callback(GNT_MENUITEM(item), send_im_select, NULL);
1895 1947
1896 item = gnt_menuitem_new(_("Toggle offline buddies")); 1948 item = gnt_menuitem_new(_("Toggle offline buddies"));
1897 gnt_menu_add_item(GNT_MENU(sub), item); 1949 gnt_menu_add_item(GNT_MENU(sub), item);
1898 gnt_menuitem_set_callback(GNT_MENUITEM(item), show_offline_cb, NULL); 1950 gnt_menuitem_set_callback(GNT_MENUITEM(item), show_offline_cb, NULL);
1899 1951