- store_name = g_strdup_printf ("%s:%s@%s",
- modest_store_widget_get_proto (store),
- modest_store_widget_get_username (store),
- modest_store_widget_get_servername (store));
+ proto = modest_store_widget_get_proto (store);
+ username = modest_store_widget_get_username (store);
+ servername = modest_store_widget_get_servername (store);
+ path = modest_store_widget_get_path (store);
+ store_name = get_new_server_account_name (priv->account_mgr, proto,username, servername);
+
+ if (proto == MODEST_PROTOCOL_STORE_MAILDIR ||
+ proto == MODEST_PROTOCOL_STORE_MBOX) {
+ gchar *uri = get_account_uri (proto, path);
+ modest_account_mgr_add_server_account_uri (priv->account_mgr, store_name, proto, uri);
+ g_free (uri);
+ } else
+ modest_account_mgr_add_server_account (priv->account_mgr, store_name, servername,
+ username, NULL, proto);
+
+ /* create server account -> transport */
+ transport = MODEST_TRANSPORT_WIDGET(priv->transport_widget);
+ proto = modest_transport_widget_get_proto (transport);
+ username = NULL;
+ servername = NULL;
+ if (proto == MODEST_PROTOCOL_TRANSPORT_SMTP) {
+ servername = modest_transport_widget_get_servername (transport);
+ if (modest_transport_widget_get_requires_auth (transport))
+ username = modest_transport_widget_get_username (transport);
+ }