#include "modest-platform.h"
#include "modest-security-options-view.h"
#include "modest-security-options-view-priv.h"
+#ifdef MODEST_TOOLKIT_HILDON2
+#include "modest-serversecurity-picker.h"
+#include "modest-secureauth-picker.h"
+#include <modest-hildon-includes.h>
+#else
#include "widgets/modest-serversecurity-combo-box.h"
#include "widgets/modest-secureauth-combo-box.h"
+#endif
/* list my signals */
enum {
ModestSecurityOptionsViewPrivate *priv;
ModestServerAccountSettings *server_settings;
ModestProtocolType server_proto, secure_protocol, secure_auth;
- ModestServersecurityComboBox *combo;
priv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self);
priv->initial_state.port = modest_server_account_settings_get_port (server_settings);
/* Update UI */
- combo = MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view);
modest_security_options_view_set_server_type (self, server_proto);
- modest_serversecurity_combo_box_set_active_serversecurity (combo, secure_protocol);
+#ifdef MODEST_TOOLKIT_HILDON2
+ modest_serversecurity_picker_set_active_serversecurity (MODEST_SERVERSECURITY_PICKER (priv->security_view), secure_protocol);
+#else
+ modest_serversecurity_combo_box_set_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view), secure_protocol);
+#endif
/* update_incoming_server_title (dialog, dialog->incoming_protocol); */
/* Active the authentication checkbox */
if (modest_protocol_registry_protocol_type_is_secure (modest_runtime_get_protocol_registry (),
secure_auth))
+#ifdef MODEST_TOOLKIT_HILDON2
+ hildon_check_button_set_active (HILDON_CHECK_BUTTON (priv->auth_view),
+ TRUE);
+#else
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->auth_view),
TRUE);
+#endif
} else {
+#ifdef MODEST_TOOLKIT_HILDON2
+ modest_secureauth_picker_set_active_secureauth (
+ MODEST_SECUREAUTH_PICKER (priv->auth_view), secure_auth);
+#else
modest_secureauth_combo_box_set_active_secureauth (
MODEST_SECUREAUTH_COMBO_BOX (priv->auth_view), secure_auth);
+#endif
}
MODEST_SECURITY_OPTIONS_VIEW_GET_CLASS (self)->load_settings (self, settings);
auth_protocol = MODEST_PROTOCOLS_AUTH_NONE;
/* Get data */
+#ifdef MODEST_TOOLKIT_HILDON2
+ security_proto = modest_serversecurity_picker_get_active_serversecurity (MODEST_SERVERSECURITY_PICKER (priv->security_view));
+#else
security_proto = modest_serversecurity_combo_box_get_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view));
+#endif
if (self->type == MODEST_SECURITY_OPTIONS_INCOMING) {
+#ifdef MODEST_TOOLKIT_HILDON2
+ if (hildon_check_button_get_active (HILDON_CHECK_BUTTON (priv->auth_view))) {
+#else
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->auth_view))) {
+#endif
if (!modest_protocol_registry_protocol_type_is_secure (proto_registry,
security_proto)) {
/* TODO */
}
}
} else {
+#ifdef MODEST_TOOLKIT_HILDON2
+ auth_protocol = modest_secureauth_picker_get_active_secureauth (
+ MODEST_SECUREAUTH_PICKER (priv->auth_view));
+#else
auth_protocol = modest_secureauth_combo_box_get_active_secureauth (
- MODEST_SECUREAUTH_COMBO_BOX (priv->auth_view));
+ MODEST_SECUREAUTH_COMBO_BOX (priv->auth_view));
+#endif
}
/* Save settings */
ModestProtocolType server_type)
{
ModestSecurityOptionsViewPrivate *priv;
- ModestServersecurityComboBox *combo;
-
priv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self);
- combo = MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view);
-
- modest_serversecurity_combo_box_fill (combo, server_type);
- modest_serversecurity_combo_box_set_active_serversecurity (combo,
+
+#ifdef MODEST_TOOLKIT_HILDON2
+ modest_serversecurity_picker_fill (MODEST_SERVERSECURITY_PICKER (priv->security_view), server_type);
+ modest_serversecurity_picker_set_active_serversecurity (MODEST_SERVERSECURITY_PICKER (priv->security_view),
+ MODEST_PROTOCOLS_CONNECTION_NONE);
+#else
+ modest_serversecurity_combo_box_fill (MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view), server_type);
+ modest_serversecurity_combo_box_set_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view),
MODEST_PROTOCOLS_CONNECTION_NONE);
+#endif
}
static void
proto_registry = modest_runtime_get_protocol_registry ();
/* Get security */
+#ifdef MODEST_TOOLKIT_HILDON2
+ state->security =
+ modest_serversecurity_picker_get_active_serversecurity (MODEST_SERVERSECURITY_PICKER (priv->security_view));
+#else
state->security =
modest_serversecurity_combo_box_get_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view));
+#endif
/* Get auth */
if (self->type == MODEST_SECURITY_OPTIONS_OUTGOING) {
+#ifdef MODEST_TOOLKIT_HILDON2
+ state->auth = modest_secureauth_picker_get_active_secureauth (MODEST_SECUREAUTH_PICKER (priv->auth_view));
+#else
state->auth = modest_secureauth_combo_box_get_active_secureauth (MODEST_SECUREAUTH_COMBO_BOX (priv->auth_view));
+#endif
if (priv->full) {
}
} else {
+#ifdef MODEST_TOOLKIT_HILDON2
+ if (hildon_check_button_get_active (HILDON_CHECK_BUTTON (priv->auth_view)))
+#else
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->auth_view)))
+#endif
state->auth = priv->initial_state.auth;
else
state->auth = MODEST_PROTOCOLS_AUTH_NONE;
protocol_registry = modest_runtime_get_protocol_registry ();
/* Check if the server supports secure authentication */
+#ifdef MODEST_TOOLKIT_HILDON2
+ security_incoming_type =
+ modest_serversecurity_picker_get_active_serversecurity (MODEST_SERVERSECURITY_PICKER (priv->security_view));
+#else
security_incoming_type =
modest_serversecurity_combo_box_get_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view));
+#endif
+#ifdef MODEST_TOOLKIT_HILDON2
+ auth_active =
+ hildon_check_button_get_active (HILDON_CHECK_BUTTON (priv->auth_view));
+#else
auth_active =
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->auth_view));
+#endif
is_secure =
modest_protocol_registry_protocol_type_has_tag (protocol_registry,
security_incoming_type,
return FALSE;
}
-GList*
-modest_security_options_view_get_supported_auth_methods (ModestSecurityOptionsView *self,
- const gchar *hostname,
- const gchar *username,
- ModestProtocolType server_type)
+ModestProtocolType
+modest_security_options_view_get_connection_protocol (ModestSecurityOptionsView *self)
{
- GtkWindow *window;
- GError *error = NULL;
- GList *list_auth_methods, *retval = NULL;
ModestSecurityOptionsViewPrivate *priv;
- ModestAccountSettings current_settings;
- ModestServerAccountSettings *server_settings;
-
- priv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self);
-
- window = GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (self), GTK_TYPE_WINDOW));
-
- /* Get current settings */
- modest_security_options_view_save_settings (self, ¤t_settings);
- if (self->type == MODEST_SECURITY_OPTIONS_INCOMING)
- server_settings = modest_account_settings_get_store_settings (¤t_settings);
- else
- server_settings = modest_account_settings_get_transport_settings (¤t_settings);
-
- list_auth_methods =
- modest_utils_get_supported_secure_authentication_methods (server_type,
- hostname,
- modest_server_account_settings_get_port (server_settings),
- username,
- window,
- &error);
-
- if (list_auth_methods) {
- GList *list = NULL, *method = NULL;
- ModestProtocolRegistry *registry = modest_runtime_get_protocol_registry ();
-
- for (method = list_auth_methods; method != NULL; method = g_list_next(method)) {
- ModestProtocolType auth_protocol_type =
- (ModestProtocolType) (GPOINTER_TO_INT(method->data));
- if (modest_protocol_registry_protocol_type_is_secure (registry,
- auth_protocol_type)) {
- list = g_list_append(list, GINT_TO_POINTER(auth_protocol_type));
- }
- }
- g_list_free(list_auth_methods);
- if (list) {
- retval = list;
- goto end;
- }
- }
-
- if(error == NULL ||
- error->domain != modest_utils_get_supported_secure_authentication_error_quark() ||
- error->code != MODEST_UTILS_GET_SUPPORTED_SECURE_AUTHENTICATION_ERROR_CANCELED) {
- modest_platform_information_banner (GTK_WIDGET(self),
- NULL,
- _("mcen_ib_unableto_discover_auth_methods"));
- }
-
- if(error != NULL)
- g_error_free(error);
-
- end:
- /* Frees */
- g_object_unref (server_settings);
+ g_return_val_if_fail (MODEST_IS_SECURITY_OPTIONS_VIEW (self), MODEST_PROTOCOL_REGISTRY_TYPE_INVALID);
+ priv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self);
- return retval;
+#ifdef MODEST_TOOLKIT_HILDON2
+ return modest_serversecurity_picker_get_active_serversecurity (MODEST_SERVERSECURITY_PICKER (priv->security_view));
+#else
+ return modest_serversecurity_combo_box_get_active_serversecurity (MODEST_SERVERSECURITY_COMBO_BOX (priv->security_view));
+#endif
}
static void
priv->auth_view = NULL;
priv->user_entry = NULL;
priv->pwd_entry = NULL;
+ priv->full = FALSE;
+ priv->changed = FALSE;
}
static void