[empathy] show the infobar when not connected
- From: Felix Kaser <kaserf src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy] show the infobar when not connected
- Date: Tue, 15 Dec 2009 13:24:37 +0000 (UTC)
commit fe04111c230ccccc78fd14153cf3faa059f495a8
Author: Felix Kaser <f kaser gmx net>
Date: Wed Dec 2 23:55:08 2009 +0100
show the infobar when not connected
fixes bug #599153
src/empathy-accounts-dialog.c | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
---
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 9bad1d9..5b68226 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -170,6 +170,38 @@ accounts_dialog_update_name_label (EmpathyAccountsDialog *dialog,
}
static void
+accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog,
+ guint status)
+{
+ EmpathyAccountsDialogPriv *priv = GET_PRIV (dialog);
+
+ /* don't show the infobar if account is connected */
+ if (status == TP_CONNECTION_STATUS_CONNECTED)
+ {
+ gtk_widget_hide (priv->infobar);
+ return;
+ }
+
+ switch (status)
+ {
+ case TP_CONNECTION_STATUS_CONNECTING:
+ gtk_label_set_text (GTK_LABEL (priv->label_status),
+ _("Connecting..."));
+ break;
+ case TP_CONNECTION_STATUS_DISCONNECTED:
+ gtk_label_set_text (GTK_LABEL (priv->label_status),
+ _("Disconnected - REASON"));
+ break;
+ default:
+ gtk_label_set_text (GTK_LABEL (priv->label_status),
+ _("Unknown Status"));
+ }
+
+ gtk_widget_show (priv->label_status);
+ gtk_widget_show (priv->infobar);
+}
+
+static void
empathy_account_dialog_widget_cancelled_cb (
EmpathyAccountWidget *widget_object,
EmpathyAccountsDialog *dialog)
@@ -275,6 +307,10 @@ account_dialog_create_settings_widget (EmpathyAccountsDialog *dialog,
accounts_dialog_update_name_label (dialog,
empathy_account_settings_get_display_name (settings));
+
+ accounts_dialog_update_status_infobar (dialog,
+ tp_account_get_connection_status (
+ empathy_account_settings_get_account (settings), NULL));
}
static void
@@ -1131,6 +1167,9 @@ accounts_dialog_connection_changed_cb (TpAccount *account,
gboolean found;
EmpathyAccountsDialogPriv *priv = GET_PRIV (dialog);
+ /* Update the status-infobar in the details view*/
+ accounts_dialog_update_status_infobar (dialog, current);
+
/* Update the status in the model */
model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->treeview));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]