diff options
author | Felix Kaser <f.kaser@gmx.net> | 2009-12-09 03:01:03 +0800 |
---|---|---|
committer | Felix Kaser <f.kaser@gmx.net> | 2009-12-15 20:52:45 +0800 |
commit | fbce68e65c37e7f004bdfd6cfeb59e7ea2a67b07 (patch) | |
tree | 0822f66adfde77fb878bbeaad526993b75120227 | |
parent | 0a39af61f6bab052ead17918ab372e0cbb8eab3c (diff) | |
download | gsoc2013-empathy-fbce68e65c37e7f004bdfd6cfeb59e7ea2a67b07.tar gsoc2013-empathy-fbce68e65c37e7f004bdfd6cfeb59e7ea2a67b07.tar.gz gsoc2013-empathy-fbce68e65c37e7f004bdfd6cfeb59e7ea2a67b07.tar.bz2 gsoc2013-empathy-fbce68e65c37e7f004bdfd6cfeb59e7ea2a67b07.tar.lz gsoc2013-empathy-fbce68e65c37e7f004bdfd6cfeb59e7ea2a67b07.tar.xz gsoc2013-empathy-fbce68e65c37e7f004bdfd6cfeb59e7ea2a67b07.tar.zst gsoc2013-empathy-fbce68e65c37e7f004bdfd6cfeb59e7ea2a67b07.zip |
set infobar message to no network connection
if the account is disconnected and there is no internet connection at all.
-rw-r--r-- | src/empathy-accounts-dialog.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c index 49c65f071..dbdbd92d1 100644 --- a/src/empathy-accounts-dialog.c +++ b/src/empathy-accounts-dialog.c @@ -37,6 +37,7 @@ #include <libempathy/empathy-utils.h> #include <libempathy/empathy-connection-managers.h> +#include <libempathy/empathy-connectivity.h> #include <libempathy-gtk/empathy-ui-utils.h> #include <libempathy-gtk/empathy-protocol-chooser.h> @@ -181,10 +182,13 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog, guint status; guint reason; guint presence; + EmpathyConnectivity *connectivity; status = tp_account_get_connection_status (account, &reason); presence = tp_account_get_current_presence (account, NULL, NULL); + connectivity = empathy_connectivity_dup_singleton (); + gtk_image_set_from_icon_name (GTK_IMAGE (priv->image_status), empathy_icon_name_for_presence (presence), GTK_ICON_SIZE_SMALL_TOOLBAR); @@ -226,6 +230,9 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog, GTK_MESSAGE_ERROR); } + if (!empathy_connectivity_is_online (connectivity)) + message = _("Offline - No Network Connection"); + ephy_spinner_stop (EPHY_SPINNER (priv->throbber)); gtk_widget_show (priv->image_status); gtk_widget_hide (priv->throbber); @@ -253,6 +260,8 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog, gtk_label_set_text (GTK_LABEL (priv->label_status), message); gtk_widget_show (priv->label_status); gtk_widget_show (priv->infobar); + + g_object_unref (connectivity); } static void |