Mercurial > pidgin
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 |