#include "modest-account-assistant.h"
#include "modest-store-widget.h"
#include "modest-transport-widget.h"
-#include "modest-proto.h"
+#include <modest-protocol-info.h>
#include <string.h>
{
ModestAccountAssistantPrivate *priv;
gchar *chosen;
+ ModestProtocol proto;
priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(self);
chosen = gtk_combo_box_get_active_text (GTK_COMBO_BOX(combo));
-
if (priv->store_widget)
gtk_container_remove (GTK_CONTAINER(priv->store_holder),
priv->store_widget);
+
+ proto = modest_protocol_info_get_protocol (chosen);
/* FIXME: we could have these widgets cached instead of
creating them every time */
- priv->store_widget = modest_store_widget_new (priv->factory, chosen);
- if (!strcmp (chosen, MODEST_PROTO_POP) || !strcmp (chosen, MODEST_PROTO_IMAP)) {
+ priv->store_widget = modest_store_widget_new (priv->factory, proto);
+ if (proto == MODEST_PROTOCOL_STORE_POP || proto == MODEST_PROTOCOL_STORE_IMAP) {
g_signal_connect (priv->store_widget,
"data_changed",
G_CALLBACK (receiving_page_update_completeness),
priv->transport_widget);
priv->transport_widget = modest_transport_widget_new (priv->factory,
- chosen);
+ modest_protocol_info_get_protocol(chosen));
gtk_container_add (GTK_CONTAINER(priv->transport_holder),
priv->transport_widget);
on_apply (ModestAccountAssistant *self, gpointer user_data)
{
ModestAccountAssistantPrivate *priv;
+ ModestProtocol proto;
gchar *store_name, *transport_name;
- const gchar *account_name, *username, *servername, *proto;
+ const gchar *account_name, *username, *servername;
ModestStoreWidget *store;
ModestTransportWidget *transport;
/* create server account -> store */
store = MODEST_STORE_WIDGET(priv->store_widget);
- proto = modest_store_widget_get_proto (store);
+ proto = modest_store_widget_get_proto (store);
username = modest_store_widget_get_username (store);
servername = modest_store_widget_get_servername (store);
- store_name = g_strdup_printf ("%s:%s@%s", proto, username, servername);
+ store_name = g_strdup_printf ("%s:%s@%s", modest_protocol_info_get_protocol_name(proto),
+ username, servername);
modest_account_mgr_add_server_account (priv->account_mgr, store_name, servername,
- username, NULL, proto);
+ username, NULL, proto);
/* create server account -> transport */
transport = MODEST_TRANSPORT_WIDGET(priv->transport_widget);
proto = modest_transport_widget_get_proto (transport);
-
- if (!strcmp (proto, MODEST_PROTO_SMTP)) {
+
+ 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);
servername = "localhost";
}
- transport_name = g_strdup_printf ("%s:%s@%s", proto, username, servername);
-
+ transport_name = g_strdup_printf ("%s:%s@%s",
+ modest_protocol_info_get_protocol_name(proto),
+ username, servername);
modest_account_mgr_add_server_account (priv->account_mgr,
transport_name,
servername,
ModestHeaderViewColumn cols[] = {
MODEST_HEADER_VIEW_COLUMN_MSGTYPE,
MODEST_HEADER_VIEW_COLUMN_ATTACH,
-/* MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER, */
MODEST_HEADER_VIEW_COLUMN_FROM,
MODEST_HEADER_VIEW_COLUMN_SUBJECT,
MODEST_HEADER_VIEW_COLUMN_RECEIVED_DATE
typedef struct _ModestStoreWidgetPrivate ModestStoreWidgetPrivate;
struct _ModestStoreWidgetPrivate {
- gchar* proto;
-
GtkWidget *servername;
GtkWidget *username;
GtkWidget *security;
GtkWidget *auth;
GtkWidget *chooser;
GtkWidget *remember_pwd;
-
+
+ ModestProtocol proto;
ModestWidgetFactory *factory;
};
#define MODEST_STORE_WIDGET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
ModestStoreWidgetPrivate *priv;
priv = MODEST_STORE_WIDGET_GET_PRIVATE(obj);
-
- priv->proto = NULL;
+ priv->proto = MODEST_PROTOCOL_UNKNOWN;
}
priv->factory = NULL;
}
- if (priv->proto) {
- g_free (priv->proto);
- priv->proto = NULL;
- }
-
G_OBJECT_CLASS(parent_class)->finalize (obj);
}
GtkWidget*
-modest_store_widget_new (ModestWidgetFactory *factory, const gchar *proto)
+modest_store_widget_new (ModestWidgetFactory *factory, ModestProtocol proto)
{
GObject *obj;
GtkWidget *w;
g_object_ref (factory);
priv->factory = factory;
- priv->proto = g_strdup (proto);
+ priv->proto = proto;
- if (strcmp (proto, MODEST_PROTOCOL_STORE_POP) == 0 ||
- strcmp (proto, MODEST_PROTOCOL_STORE_IMAP) == 0) {
+ if (proto == MODEST_PROTOCOL_STORE_POP || proto == MODEST_PROTOCOL_STORE_IMAP)
w = imap_pop_configuration (self);
- } else if (strcmp (proto, MODEST_PROTOCOL_STORE_MAILDIR) == 0) {
+ else if (proto == MODEST_PROTOCOL_STORE_MAILDIR)
w = maildir_configuration (self);
- } else if (strcmp (proto, MODEST_PROTOCOL_STORE_MBOX) == 0) {
+ else if (proto == MODEST_PROTOCOL_STORE_MBOX)
w = mbox_configuration (self);
- } else
+ else
w = gtk_label_new ("");
gtk_widget_show_all (w);
}
-const gchar*
+ModestProtocol
modest_store_widget_get_proto (ModestStoreWidget *self)
{
ModestStoreWidgetPrivate *priv;
- g_return_val_if_fail (self, NULL);
+ g_return_val_if_fail (self, MODEST_PROTOCOL_UNKNOWN);
priv = MODEST_STORE_WIDGET_GET_PRIVATE(self);
return priv->proto;
GType modest_store_widget_get_type (void) G_GNUC_CONST;
GtkWidget* modest_store_widget_new (ModestWidgetFactory *factory,
- const gchar* proto);
+ ModestProtocol proto);
-gboolean modest_store_widget_get_remember_password (ModestStoreWidget *self);
-const gchar* modest_store_widget_get_username (ModestStoreWidget *self);
-const gchar* modest_store_widget_get_servername (ModestStoreWidget *self);
-const gchar* modest_store_widget_get_proto (ModestStoreWidget *self);
+gboolean modest_store_widget_get_remember_password (ModestStoreWidget *self);
+const gchar* modest_store_widget_get_username (ModestStoreWidget *self);
+const gchar* modest_store_widget_get_servername (ModestStoreWidget *self);
+ModestProtocol modest_store_widget_get_proto (ModestStoreWidget *self);
G_END_DECLS
typedef struct _ModestTransportWidgetPrivate ModestTransportWidgetPrivate;
struct _ModestTransportWidgetPrivate {
-
- gchar *proto;
+ ModestProtocol proto;
ModestWidgetFactory *factory;
GtkWidget *servername;
GtkWidget *username;
GtkWidget *auth;
GtkWidget *remember_pwd;
-
};
#define MODEST_TRANSPORT_WIDGET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
MODEST_TYPE_TRANSPORT_WIDGET, \
ModestTransportWidgetPrivate *priv;
priv = MODEST_TRANSPORT_WIDGET_GET_PRIVATE(obj);
- priv->proto = NULL;
+ priv->proto = MODEST_PROTOCOL_UNKNOWN;
}
static void
priv->factory = NULL;
}
- if (priv->proto) {
- g_free (priv->proto);
- priv->proto = NULL;
- }
-
G_OBJECT_CLASS(parent_class)->finalize (obj);
}
}
-
GtkWidget*
-modest_transport_widget_new (ModestWidgetFactory *factory, const gchar* proto)
+modest_transport_widget_new (ModestWidgetFactory *factory, ModestProtocol proto)
{
GObject *obj;
GtkWidget *w;
g_object_ref (factory);
priv->factory = factory;
- priv->proto = g_strdup (proto);
+ priv->proto = proto;
- if (strcmp (proto, MODEST_PROTOCOL_TRANSPORT_SMTP) == 0) {
+ if (proto == MODEST_PROTOCOL_TRANSPORT_SMTP)
w = smtp_configuration (self);
- } else
+ else
w = gtk_label_new ("");
gtk_widget_show_all (w);
}
-const gchar*
+ModestProtocol
modest_transport_widget_get_proto (ModestTransportWidget *self)
{
ModestTransportWidgetPrivate *priv;
- g_return_val_if_fail (self, FALSE);
+ g_return_val_if_fail (self, MODEST_PROTOCOL_UNKNOWN);
priv = MODEST_TRANSPORT_WIDGET_GET_PRIVATE(self);
return priv->proto;
/* member functions */
GType modest_transport_widget_get_type (void) G_GNUC_CONST;
-GtkWidget* modest_transport_widget_new (ModestWidgetFactory *factory, const gchar *proto);
+GtkWidget* modest_transport_widget_new (ModestWidgetFactory *factory, ModestProtocol proto);
-gboolean modest_transport_widget_get_remember_password (ModestTransportWidget *self);
-gboolean modest_transport_widget_get_requires_auth (ModestTransportWidget *self);
-const gchar* modest_transport_widget_get_username (ModestTransportWidget *self);
-const gchar* modest_transport_widget_get_servername (ModestTransportWidget *self);
-const gchar* modest_transport_widget_get_proto (ModestTransportWidget *self);
+gboolean modest_transport_widget_get_remember_password (ModestTransportWidget *self);
+gboolean modest_transport_widget_get_requires_auth (ModestTransportWidget *self);
+const gchar* modest_transport_widget_get_username (ModestTransportWidget *self);
+const gchar* modest_transport_widget_get_servername (ModestTransportWidget *self);
+ModestProtocol modest_transport_widget_get_proto (ModestTransportWidget *self);
G_END_DECLS