# HG changeset patch # User Tim Ringenbach # Date 1088049354 0 # Node ID 76f4bffcfb2330c8a975f5037c5414b330c8b6ae # Parent 241a799cc821c6e41d2cb4b00cd30b47d03ec433 [gaim-migrate @ 10178] I moved the #define to yahoo.h, and made some of the checks runtime, in hopes of still supporting yahoo japan. I also made some things not show up when using web messenger. For some reason I can't log in to yahoo japan now either. weird. committer: Tailor Script diff -r 241a799cc821 -r 76f4bffcfb23 src/protocols/yahoo/yahoo.c --- a/src/protocols/yahoo/yahoo.c Thu Jun 24 02:59:14 2004 +0000 +++ b/src/protocols/yahoo/yahoo.c Thu Jun 24 03:55:54 2004 +0000 @@ -20,7 +20,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ -#define YAHOO_WEBMESSENGER #include "internal.h" @@ -2110,7 +2109,6 @@ } } -#ifndef YAHOO_WEBMESSENGER static void yahoo_got_connected(gpointer data, gint source, GaimInputCondition cond) { GaimConnection *gc = data; @@ -2139,9 +2137,7 @@ gc->inpa = gaim_input_add(yd->fd, GAIM_INPUT_READ, yahoo_pending, gc); } -#endif - -#ifdef YAHOO_WEBMESSENGER + static void yahoo_got_web_connected(gpointer data, gint source, GaimInputCondition cond) { GaimConnection *gc = data; @@ -2322,9 +2318,6 @@ } } -#endif /* YAHOO_WEBMESSENGER */ - -#ifndef YAHOO_WEBMESSENGER static void yahoo_server_check(GaimAccount *account) { const char *server; @@ -2344,7 +2337,6 @@ yahoo_set_buddy_icon(gc, buddyicon); } -#endif static void yahoo_login(GaimAccount *account) { GaimConnection *gc = gaim_account_get_connection(account); @@ -2361,8 +2353,6 @@ yd->confs = NULL; yd->conf_id = 2; -#ifndef YAHOO_WEBMESSENGER - yahoo_server_check(account); yahoo_picture_check(account); @@ -2377,6 +2367,7 @@ return; } } else { +#ifndef YAHOO_WEBMESSENGER yd->jp = FALSE; if (gaim_proxy_connect(account, gaim_account_get_string(account, "server", YAHOO_PAGER_HOST), @@ -2386,11 +2377,13 @@ gaim_connection_error(gc, _("Connection problem")); return; } +#else + yd->wm = TRUE; + gaim_url_fetch(WEBMESSENGER_URL, TRUE, "Gaim/" VERSION, FALSE, + yahoo_login_page_cb, gc); +#endif } -#else - gaim_url_fetch(WEBMESSENGER_URL, TRUE, "Gaim/" VERSION, FALSE, - yahoo_login_page_cb, gc); -#endif + } @@ -2665,12 +2658,13 @@ GaimBlistNodeAction *act; GaimConnection *gc = gaim_account_get_connection(buddy->account); + struct yahoo_data *yd = gc->proto_data; static char buf2[1024]; YahooFriend *f; f = yahoo_friend_find(gc, buddy->name); - if (!f) { + if (!f && !yd->wm) { act = gaim_blist_node_action_new(_("Add Buddy"), yahoo_addbuddyfrommenu_cb, NULL); m = g_list_append(m, act); @@ -2681,9 +2675,11 @@ return NULL; } - act = gaim_blist_node_action_new(_("Join in Chat"), - yahoo_chat_goto_menu, NULL); - m = g_list_append(m, act); + if (!yd->wm) { + act = gaim_blist_node_action_new(_("Join in Chat"), + yahoo_chat_goto_menu, NULL); + m = g_list_append(m, act); + } act = gaim_blist_node_action_new(_("Initiate Conference"), yahoo_initiate_conference, NULL); @@ -2957,19 +2953,23 @@ static GList *yahoo_away_states(GaimConnection *gc) { GList *m = NULL; + struct yahoo_data *yd = gc->proto_data; m = g_list_append(m, _("Available")); - m = g_list_append(m, _("Be Right Back")); - m = g_list_append(m, _("Busy")); - m = g_list_append(m, _("Not At Home")); - m = g_list_append(m, _("Not At Desk")); - m = g_list_append(m, _("Not In Office")); - m = g_list_append(m, _("On The Phone")); - m = g_list_append(m, _("On Vacation")); - m = g_list_append(m, _("Out To Lunch")); - m = g_list_append(m, _("Stepped Out")); + if (!yd->wm) { + m = g_list_append(m, _("Be Right Back")); + m = g_list_append(m, _("Busy")); + m = g_list_append(m, _("Not At Home")); + m = g_list_append(m, _("Not At Desk")); + m = g_list_append(m, _("Not In Office")); + m = g_list_append(m, _("On The Phone")); + m = g_list_append(m, _("On Vacation")); + m = g_list_append(m, _("Out To Lunch")); + m = g_list_append(m, _("Stepped Out")); + } m = g_list_append(m, _("Invisible")); - m = g_list_append(m, GAIM_AWAY_CUSTOM); + if (!yd->wm) + m = g_list_append(m, GAIM_AWAY_CUSTOM); return m; } diff -r 241a799cc821 -r 76f4bffcfb23 src/protocols/yahoo/yahoo.h --- a/src/protocols/yahoo/yahoo.h Thu Jun 24 02:59:14 2004 +0000 +++ b/src/protocols/yahoo/yahoo.h Thu Jun 24 03:55:54 2004 +0000 @@ -27,6 +27,8 @@ #include "prpl.h" +#define YAHOO_WEBMESSENGER + #define YAHOO_PAGER_HOST "scs.msg.yahoo.com" #define YAHOO_PAGER_PORT 5050 #define YAHOO_PROFILE_URL "http://profiles.yahoo.com/" @@ -166,6 +168,7 @@ char *cookie_t; int session_id; gboolean jp; + gboolean wm; /* picture aka buddy icon stuff */ char *picture_url; int picture_checksum;