GtkWidget *transport_widget;
GtkWidget *transport_holder;
- GtkWidget *store_holder;
+ GtkWidget *store_holder;
+
+ ModestPairList *receiving_transport_store_protos;
+ ModestPairList *sending_transport_store_protos;
};
#define MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
{
ModestAccountAssistantPrivate *priv;
gchar *chosen;
- ModestProtocol proto;
+ ModestTransportStoreProtocol proto;
priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(self);
chosen = gtk_combo_box_get_active_text (GTK_COMBO_BOX(combo));
gtk_container_remove (GTK_CONTAINER(priv->store_holder),
priv->store_widget);
- proto = modest_protocol_info_get_protocol (chosen);
+ proto = modest_protocol_info_get_transport_store_protocol (chosen);
/* FIXME: we could have these widgets cached instead of
creating them every time */
add_receiving_page (ModestAccountAssistant *self)
{
GtkWidget *page, *box, *combo;
- ModestPairList *protos;
ModestAccountAssistantPrivate *priv;
priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(self);
gtk_label_new(_("Server type")),
FALSE,FALSE,6);
- protos = modest_protocol_info_get_protocol_pair_list (MODEST_PROTOCOL_TYPE_STORE);
- combo = modest_combo_box_new (protos, g_str_equal);
- modest_pair_list_free (protos);
+ /* Note: This ModestPairList* must exist for as long as the combo
+ * that uses it, because the ModestComboBox uses the ID opaquely,
+ * so it can't know how to manage its memory. */
+ priv->receiving_transport_store_protos =
+ modest_protocol_info_get_transport_store_protocol_pair_list ();
+ combo = modest_combo_box_new (priv->receiving_transport_store_protos, g_str_equal);
g_signal_connect (G_OBJECT(combo), "changed",
G_CALLBACK(on_receiving_combo_box_changed), self);
gtk_container_remove (GTK_CONTAINER(priv->transport_holder),
priv->transport_widget);
priv->transport_widget =
- modest_transport_widget_new (modest_protocol_info_get_protocol(chosen));
+ modest_transport_widget_new (modest_protocol_info_get_transport_store_protocol(chosen));
gtk_container_add (GTK_CONTAINER(priv->transport_holder),
priv->transport_widget);
add_sending_page (ModestAccountAssistant *self)
{
GtkWidget *page, *box, *combo;
- ModestPairList *protos;
ModestAccountAssistantPrivate *priv;
priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(self);
gtk_label_new(_("Server type")),
FALSE,FALSE,0);
- protos = modest_protocol_info_get_protocol_pair_list (MODEST_PROTOCOL_TYPE_TRANSPORT);
- combo = modest_combo_box_new (protos, g_str_equal);
- modest_pair_list_free (protos);
+ /* Note: This ModestPairList* must exist for as long as the combo
+ * that uses it, because the ModestComboBox uses the ID opaquely,
+ * so it can't know how to manage its memory. */
+ priv->sending_transport_store_protos = modest_protocol_info_get_transport_store_protocol_pair_list ();
+ combo = modest_combo_box_new (priv->sending_transport_store_protos, g_str_equal);
g_signal_connect (G_OBJECT(combo), "changed",
G_CALLBACK(on_sending_combo_box_changed), self);
g_object_unref (G_OBJECT(priv->account_mgr));
priv->account_mgr = NULL;
}
+
+ /* These had to stay alive for as long as the comboboxes that used them: */
+ modest_pair_list_free (priv->receiving_transport_store_protos);
+ modest_pair_list_free (priv->sending_transport_store_protos);
G_OBJECT_CLASS(parent_class)->finalize (obj);
}
* somewhere else
*/
static gchar*
-get_account_uri (ModestProtocol proto, const gchar* path)
+get_account_uri (ModestTransportStoreProtocol proto, const gchar* path)
{
CamelURL *url;
gchar *uri;
}
static gchar*
-get_new_server_account_name (ModestAccountMgr* acc_mgr, ModestProtocol proto,
+get_new_server_account_name (ModestAccountMgr* acc_mgr, ModestTransportStoreProtocol proto,
const gchar* username, const gchar *servername)
{
gchar *name;
while (TRUE) {
name = g_strdup_printf ("%s:%d",
- modest_protocol_info_get_protocol_name(proto), i++);
+ modest_protocol_info_get_transport_store_protocol_name(proto), i++);
if (modest_account_mgr_account_exists (acc_mgr, name, TRUE))
g_free (name);
else
on_apply (ModestAccountAssistant *self, gpointer user_data)
{
ModestAccountAssistantPrivate *priv;
- ModestProtocol proto = MODEST_PROTOCOL_UNKNOWN;
- ModestSecureConnection security = MODEST_PROTOCOL_SECURITY_NONE;
- ModestSecureAuthentication auth = MODEST_PROTOCOL_AUTH_NONE;
+ ModestTransportStoreProtocol proto = MODEST_PROTOCOL_TRANSPORT_STORE_UNKNOWN;
+ ModestAuthProtocol security = MODEST_PROTOCOL_CONNECTION_NORMAL;
+ ModestConnectionProtocol auth = MODEST_PROTOCOL_AUTH_NONE;
gchar *store_name, *transport_name;
const gchar *account_name, *username, *servername, *path;
ModestStoreWidget *store;
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, security, auth);
+ modest_account_mgr_add_server_account (priv->account_mgr,
+ store_name,
+ servername,
+ 0, /* FIXME: does this mean default?*/
+ username,
+ NULL,
+ proto,
+ security,
+ auth);
/* create server account -> transport */
transport = MODEST_TRANSPORT_WIDGET(priv->transport_widget);
transport_name = get_new_server_account_name (priv->account_mgr, proto,username, servername);
modest_account_mgr_add_server_account (priv->account_mgr,
- transport_name, servername,
- username, NULL,
- proto, security, auth);
+ transport_name, servername,
+ 0, /* FIXME: does this mean default?*/
+ username, NULL,
+ proto, security, auth);
/* create account */
account_name = get_account_name (self);