From: <fac...@us...> - 2006-10-11 03:14:20
|
Revision: 17458 http://svn.sourceforge.net/gaim/?rev=17458&view=rev Author: faceprint Date: 2006-10-10 20:13:33 -0700 (Tue, 10 Oct 2006) Log Message: ----------- I think we should let people know why we're not connecting... If someone can think of better (shorter) wording, feel free to change it Modified Paths: -------------- trunk/gtk/gtkconn.c trunk/gtk/gtkstatusbox.c trunk/gtk/gtkstatusbox.h trunk/libgaim/account.c Modified: trunk/gtk/gtkconn.c =================================================================== --- trunk/gtk/gtkconn.c 2006-10-11 01:13:59 UTC (rev 17457) +++ trunk/gtk/gtkconn.c 2006-10-11 03:13:33 UTC (rev 17458) @@ -194,9 +194,14 @@ } } -static void gaim_gtk_connection_network_connected () +static void gaim_gtk_connection_network_connected () { GList *list = gaim_accounts_get_all_active(); + GaimGtkBuddyList *gtkblist = gaim_gtk_blist_get_default_gtk_blist(); + + if(gtkblist) + gtk_gaim_status_box_set_network_available(GTK_GAIM_STATUS_BOX(gtkblist->statusbox), TRUE); + while (list) { GaimAccount *account = (GaimAccount*)list->data; GaimAutoRecon *info = g_hash_table_lookup(hash, account); @@ -204,12 +209,17 @@ free_auto_recon(info); do_signon(account); list = list->next; - } + } } -static void gaim_gtk_connection_network_disconnected () +static void gaim_gtk_connection_network_disconnected () { GList *l = gaim_accounts_get_all_active(); + GaimGtkBuddyList *gtkblist = gaim_gtk_blist_get_default_gtk_blist(); + + if(gtkblist) + gtk_gaim_status_box_set_network_available(GTK_GAIM_STATUS_BOX(gtkblist->statusbox), FALSE); + while (l) { GaimAccount *a = (GaimAccount*)l->data; gaim_account_disconnect(a); Modified: trunk/gtk/gtkstatusbox.c =================================================================== --- trunk/gtk/gtkstatusbox.c 2006-10-11 01:13:59 UTC (rev 17457) +++ trunk/gtk/gtkstatusbox.c 2006-10-11 03:13:33 UTC (rev 17458) @@ -43,6 +43,7 @@ #include "account.h" #include "internal.h" +#include "network.h" #include "savedstatuses.h" #include "status.h" #include "debug.h" @@ -553,6 +554,8 @@ secondary = g_strdup(_("Typing")); else if (status_box->connecting) secondary = g_strdup(_("Connecting")); + else if (!status_box->network_available) + secondary = g_strdup(_("Waiting for network connection")); else if (gaim_savedstatus_is_transient(saved_status)) secondary = NULL; else @@ -1265,6 +1268,7 @@ GtkTextBuffer *buffer; status_box->imhtml_visible = FALSE; + status_box->network_available = gaim_network_is_available(); status_box->connecting = FALSE; status_box->typing = 0; status_box->toggle_button = gtk_toggle_button_new(); @@ -1609,6 +1613,15 @@ } void +gtk_gaim_status_box_set_network_available(GtkGaimStatusBox *status_box, gboolean available) +{ + if (!status_box) + return; + status_box->network_available = available; + gtk_gaim_status_box_refresh(status_box); +} + +void gtk_gaim_status_box_set_connecting(GtkGaimStatusBox *status_box, gboolean connecting) { if (!status_box) Modified: trunk/gtk/gtkstatusbox.h =================================================================== --- trunk/gtk/gtkstatusbox.h 2006-10-11 01:13:59 UTC (rev 17457) +++ trunk/gtk/gtkstatusbox.h 2006-10-11 03:13:33 UTC (rev 17458) @@ -110,6 +110,7 @@ int typing_index; GdkPixbuf *typing_pixbufs[4]; + gboolean network_available; gboolean connecting; guint typing; @@ -156,6 +157,9 @@ gtk_gaim_status_box_add_separator(GtkGaimStatusBox *status_box); void +gtk_gaim_status_box_set_network_available(GtkGaimStatusBox *status_box, gboolean available); + +void gtk_gaim_status_box_set_connecting(GtkGaimStatusBox *status_box, gboolean connecting); void Modified: trunk/libgaim/account.c =================================================================== --- trunk/libgaim/account.c 2006-10-11 01:13:59 UTC (rev 17457) +++ trunk/libgaim/account.c 2006-10-11 03:13:33 UTC (rev 17458) @@ -2246,7 +2246,7 @@ /* If we're not connected to the Internet right now, we bail on this */ if (!gaim_network_is_available()) { - fprintf(stderr, "Network not connected; skipping reconnect\n"); + gaim_debug_info("account", "Network not connected; skipping reconnect\n"); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |