]> git.0d.be Git - empathy.git/commitdiff
accounts-dialog: hide the switch in butterfly accounts
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Wed, 16 Nov 2011 14:04:46 +0000 (15:04 +0100)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Tue, 21 Feb 2012 13:28:40 +0000 (14:28 +0100)
MC should migrate butterfly accounts. If it fails (typically because Haze
isn't installed) then it disables the account. There is no point allowing user
to re-enable it as it won't work properly with Empathy any way.

https://bugzilla.gnome.org/show_bug.cgi?id=663829

src/empathy-accounts-dialog.c

index b2b57dec1722599a4532f96fbef62d74586054e6..1f07dc8b9610e1ca5a352a1fb09161b49a90f717 100644 (file)
@@ -278,6 +278,7 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog,
   gboolean                  account_enabled;
   gboolean                  creating_account;
   TpStorageRestrictionFlags storage_restrictions = 0;
+  gboolean display_switch = TRUE;
 
   view = GTK_TREE_VIEW (priv->treeview);
   selection = gtk_tree_view_get_selection (view);
@@ -314,6 +315,13 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog,
         presence = TP_CONNECTION_PRESENCE_TYPE_OFFLINE;
 
       storage_restrictions = tp_account_get_storage_restrictions (account);
+      if (storage_restrictions & TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_ENABLED)
+        display_switch = FALSE;
+
+      /* Butterfly accounts shouldn't be used any more */
+      if (!tp_strdiff (tp_account_get_connection_manager (account),
+            "butterfly"))
+        display_switch = FALSE;
     }
   else
     {
@@ -335,8 +343,7 @@ accounts_dialog_update_status_infobar (EmpathyAccountsDialog *dialog,
       accounts_dialog_enable_switch_active_cb, dialog);
 
   /* Display the Enable switch if account supports it */
-  gtk_widget_set_visible (priv->enabled_switch,
-      !(storage_restrictions & TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_ENABLED));
+  gtk_widget_set_visible (priv->enabled_switch, display_switch);
 
   if (account_enabled)
     {