Modified webpage: now tinymail repository is in gitorious.
[modest] / src / widgets / modest-security-options-view.c
index 571a293..7e59adf 100644 (file)
  */
 
 #include <string.h>
-#include <gtk/gtkvbox.h>
+#include <gtk/gtk.h>
 #include "modest-utils.h"
 #include "modest-runtime.h"
 #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 */
@@ -77,11 +72,7 @@ modest_security_options_view_load_settings (ModestSecurityOptionsView* self,
 
        /* Update UI */
        modest_security_options_view_set_server_type (self, server_proto);
-#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
+       modest_serversecurity_selector_set_active_serversecurity (priv->security_view, secure_protocol);
 
 /*             update_incoming_server_title (dialog, dialog->incoming_protocol); */
 
@@ -105,21 +96,11 @@ modest_security_options_view_load_settings (ModestSecurityOptionsView* self,
                /* 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
+                       modest_togglable_set_active (priv->auth_view,
+                                                    TRUE);
        } 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_secureauth_selector_set_active_secureauth (
+                       priv->auth_view, secure_auth);
        }
 
        MODEST_SECURITY_OPTIONS_VIEW_GET_CLASS (self)->load_settings (self, settings);
@@ -150,18 +131,10 @@ modest_security_options_view_save_settings (ModestSecurityOptionsView* self,
        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
+       security_proto = modest_serversecurity_selector_get_active_serversecurity (priv->security_view);
 
        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_togglable_get_active (priv->auth_view)) {
                        if (!modest_protocol_registry_protocol_type_is_secure (proto_registry,
                                                                               security_proto)) {
                                /* TODO */
@@ -172,13 +145,7 @@ modest_security_options_view_save_settings (ModestSecurityOptionsView* self,
                        }
                }
        } 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));
-#endif
+               auth_protocol = modest_secureauth_selector_get_active_secureauth (priv->auth_view);
        }
 
        /* Save settings */
@@ -211,15 +178,9 @@ modest_security_options_view_set_server_type (ModestSecurityOptionsView* self,
        ModestSecurityOptionsViewPrivate *priv;
        priv = MODEST_SECURITY_OPTIONS_VIEW_GET_PRIVATE (self);
 
-#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
+       modest_serversecurity_selector_fill (priv->security_view, server_type);
+       modest_serversecurity_selector_set_active_serversecurity (priv->security_view,
+                                                                 MODEST_PROTOCOLS_CONNECTION_NONE);
 }
 
 static void
@@ -233,29 +194,18 @@ get_current_state (ModestSecurityOptionsView* self,
        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
+       state->security =
+               modest_serversecurity_selector_get_active_serversecurity (priv->security_view);
+       state->port =
+               modest_serversecurity_selector_get_active_serversecurity_port (priv->security_view);
 
        /* 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
+               state->auth = modest_secureauth_selector_get_active_secureauth (priv->auth_view);
                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
+               if (modest_togglable_get_active (priv->auth_view))
                        state->auth = priv->initial_state.auth;
                else
                        state->auth = MODEST_PROTOCOLS_AUTH_NONE;
@@ -322,21 +272,11 @@ modest_security_options_view_auth_check (ModestSecurityOptionsView* self)
        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
+               modest_serversecurity_selector_get_active_serversecurity (priv->security_view);
 
-#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
+               modest_togglable_get_active (priv->auth_view);
        is_secure = 
                modest_protocol_registry_protocol_type_has_tag (protocol_registry, 
                                                                security_incoming_type, 
@@ -348,75 +288,16 @@ modest_security_options_view_auth_check (ModestSecurityOptionsView* self)
                return FALSE;
 }
 
-/* GList*  */
-/* modest_security_options_view_get_supported_auth_methods (ModestSecurityOptionsView *self, */
-/*                                                      const gchar *hostname, */
-/*                                                      const gchar *username, */
-/*                                                      ModestProtocolType server_type) */
-/* { */
-/*     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, &current_settings); */
-
-/*     if (self->type == MODEST_SECURITY_OPTIONS_INCOMING) */
-/*             server_settings = modest_account_settings_get_store_settings (&current_settings); */
-/*     else */
-/*             server_settings = modest_account_settings_get_transport_settings (&current_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); */
-
-/*     return retval; */
-/* } */
+ModestProtocolType 
+modest_security_options_view_get_connection_protocol (ModestSecurityOptionsView *self)
+{
+       ModestSecurityOptionsViewPrivate *priv;
+
+       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 modest_serversecurity_selector_get_active_serversecurity (priv->security_view);
+}
 
 static void 
 modest_security_options_view_init (ModestSecurityOptionsView *self)