#include "modest-hildon-includes.h"
#include "modest-platform.h"
+#include "modest-maemo-utils.h"
#include <glib/gi18n.h>
+#include <string.h>
-G_DEFINE_TYPE (ModestConnectionSpecificSmtpWindow, modest_connection_specific_smtp_window, GTK_TYPE_WINDOW);
+G_DEFINE_TYPE (ModestConnectionSpecificSmtpWindow, modest_connection_specific_smtp_window,
+ GTK_TYPE_DIALOG);
#define CONNECTION_SPECIFIC_SMTP_WINDOW_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), MODEST_TYPE_CONNECTION_SPECIFIC_SMTP_WINDOW, ModestConnectionSpecificSmtpWindowPrivate))
/* The application must call modest_connection_specific_smtp_window_fill_with_connections(). */
- GtkWidget *vbox = gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT);
+ GtkWidget *vbox = GTK_DIALOG(self)->vbox;
+ //gtk_vbox_new (FALSE, MODEST_MARGIN_DEFAULT);
/* Introductory note: */
/* TODO: For some reason this label does not wrap. It is truncated. */
g_signal_connect (G_OBJECT (button_cancel), "clicked",
G_CALLBACK (on_button_cancel), self);
- gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (vbox));
+ //gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (vbox));
gtk_widget_show (vbox);
/* Disable the Edit button when nothing is selected: */
g_signal_connect (G_OBJECT (self),
"key-press-event",
G_CALLBACK (on_key_pressed), NULL);
+
+ hildon_help_dialog_help_enable (GTK_DIALOG(self),
+ "applications_email_connectionsspecificsmtpconf",
+ modest_maemo_utils_get_osso_context());
}
ModestConnectionSpecificSmtpWindow*
gchar *id = NULL;
gchar *connection_name = NULL;
gchar *server_account_name = NULL;
+ gchar *server_name = NULL;
ModestServerAccountData *data = NULL;
gtk_tree_model_get (priv->model, &iter,
MODEL_COL_ID, &id,
MODEL_COL_NAME, &connection_name,
+ MODEL_COL_SERVER_NAME, &server_name,
MODEL_COL_SERVER_ACCOUNT_NAME, &server_account_name,
MODEL_COL_SERVER_ACCOUNT_DATA, &data,
-1);
MODEST_PROTOCOL_TRANSPORT_SMTP,
data->security,
data->secure_auth);
+ if (success) {
+ TnyAccount *account = TNY_ACCOUNT (modest_tny_account_store_new_connection_specific_transport_account
+ (modest_runtime_get_account_store (),
+ server_account_name));
+ if (account)
+ g_object_unref (account);
+ }
/* associate the specific server account with this connection for this account: */
success = success && modest_account_mgr_set_connection_specific_smtp (
modest_account_mgr_set_server_account_port (priv->account_manager, server_account_name, data->port);
}
- } else if (connection_name) {
+ } else if (connection_name && server_name &&
+ !strcmp (server_name, _("mcen_ia_optionalsmtp_notdefined"))) {
modest_account_mgr_remove_connection_specific_smtp (priv->account_manager,
connection_name);
gtk_list_store_set (GTK_LIST_STORE (priv->model), &iter,
g_free (connection_name);
g_free (id);
g_free (server_account_name);
+ g_free (server_name);
if (!success)
return FALSE;