+ gboolean dimmed;
+ ModestAccountMgr *mgr;
+
+ mgr = modest_runtime_get_account_mgr();
+ dimmed = !modest_account_mgr_has_accounts(mgr, TRUE);
+
+ /* Dimm it if we only have metaaccounts */
+ if (!dimmed) {
+ ModestProtocolRegistry *reg = modest_runtime_get_protocol_registry ();
+ GSList *account_names = modest_account_mgr_account_names (mgr, TRUE);
+
+ if (account_names) {
+ ModestProtocolType store_protocol;
+ gboolean found = FALSE;
+ GSList *iter = account_names;
+ const gchar *tag = MODEST_PROTOCOL_REGISTRY_MULTI_MAILBOX_PROVIDER_PROTOCOLS;
+
+ while (iter && !found) {
+ gchar* account_name;
+
+ account_name = (gchar *) iter->data;
+ store_protocol = modest_account_mgr_get_store_protocol (mgr, account_name);
+
+ if (!modest_protocol_registry_protocol_type_has_tag (reg, store_protocol, tag))
+ found = TRUE;
+ else
+ iter = g_slist_next (iter);
+ }
+ modest_account_mgr_free_account_names (account_names);
+ dimmed = !found;
+ }
+ }
+
+ return dimmed;