From: Sergio Villar Senin Date: Tue, 30 Dec 2008 11:27:09 +0000 (+0000) Subject: Modest executes again in GNOME :-) X-Git-Tag: git_migration_finished~861 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=bd67ed37ce5f944faccbe4bad73b82927391764e Modest executes again in GNOME :-) pmo-trunk-r7036 --- diff --git a/src/gnome/Makefile.am b/src/gnome/Makefile.am index 7b42315..f22a0af 100644 --- a/src/gnome/Makefile.am +++ b/src/gnome/Makefile.am @@ -23,26 +23,28 @@ noinst_LTLIBRARIES=\ PIXMAP_FILES=\ pixmaps/*.png -libmodest_ui_la_SOURCES= \ - modest-account-assistant.c \ - modest-account-assistant.h \ +libmodest_ui_la_SOURCES= \ + modest-account-assistant.c \ + modest-account-assistant.h \ modest-default-account-settings-dialog.c \ - modest-account-view-window.c \ - modest-address-book.c \ - modest-msg-edit-window.c \ - modest-icon-names.h \ + modest-account-view-window.c \ + modest-address-book.c \ + modest-msg-edit-window.c \ + modest-icon-names.h \ modest-gnome-global-settings-dialog.c \ modest-gnome-global-settings-dialog.h \ - modest-gnome-sort-dialog.c \ - modest-gnome-sort-dialog.h \ - modest-main-window.c \ - modest-main-window-ui.h \ - modest-msg-view-window.c \ - modest-platform.c \ - modest-platform.c \ - modest-store-widget.c \ - modest-store-widget.h \ - modest-transport-widget.c \ + modest-gnome-sort-dialog.c \ + modest-gnome-sort-dialog.h \ + modest-gnome-utils.h \ + modest-gnome-utils.c \ + modest-main-window.c \ + modest-main-window-ui.h \ + modest-msg-view-window.c \ + modest-platform.c \ + modest-platform.c \ + modest-store-widget.c \ + modest-store-widget.h \ + modest-transport-widget.c \ modest-transport-widget.h LDADD = \ diff --git a/src/gnome/modest-account-assistant.c b/src/gnome/modest-account-assistant.c index 233db19..197fd05 100644 --- a/src/gnome/modest-account-assistant.c +++ b/src/gnome/modest-account-assistant.c @@ -39,6 +39,7 @@ #include "modest-utils.h" #include "modest-protocol-registry.h" #include "modest-platform.h" +#include "gnome/modest-gnome-utils.h" #include @@ -414,6 +415,7 @@ add_receiving_page (ModestAccountAssistant *self) GtkWidget *alignment; ModestAccountAssistantPrivate *priv; GtkWidget *label; + const gchar *tag = MODEST_PROTOCOL_REGISTRY_STORE_PROTOCOLS; priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(self); page = gtk_alignment_new (0.5, 0.0, 1.0, 0.0); @@ -432,8 +434,7 @@ add_receiving_page (ModestAccountAssistant *self) /* 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_supported_store_protocol_pair_list (); + priv->receiving_transport_store_protos = modest_gnome_utils_get_protocols_pair_list (tag); priv->store_protocol_combo = modest_combo_box_new (priv->receiving_transport_store_protos, g_str_equal); priv->store_server_widget = gtk_entry_new (); @@ -467,8 +468,8 @@ add_receiving_page (ModestAccountAssistant *self) gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); /* Setup security information widgets */ - priv->security_protos = - modest_protocol_info_get_connection_protocol_pair_list (); + tag = MODEST_PROTOCOL_REGISTRY_CONNECTION_PROTOCOLS; + priv->security_protos = modest_gnome_utils_get_protocols_pair_list (tag); priv->store_security_combo = modest_combo_box_new (priv->security_protos, g_str_equal); priv->store_secure_auth = gtk_check_button_new (); @@ -546,6 +547,7 @@ add_sending_page (ModestAccountAssistant *self) GtkWidget *alignment; ModestAccountAssistantPrivate *priv; GtkWidget *label; + const gchar *tag = MODEST_PROTOCOL_REGISTRY_CONNECTION_PROTOCOLS; priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(self); page = gtk_alignment_new (0.5, 0.0, 1.0, 0.0); @@ -584,10 +586,10 @@ add_sending_page (ModestAccountAssistant *self) gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); /* Setup security information widgets */ - priv->transport_security_protos = - modest_protocol_info_get_connection_protocol_pair_list (); + priv->transport_security_protos = modest_gnome_utils_get_protocols_pair_list (tag); priv->transport_security_combo = modest_combo_box_new (priv->security_protos, g_str_equal); - priv->transport_auth_protos = modest_protocol_info_get_auth_protocol_pair_list (); + tag = MODEST_PROTOCOL_REGISTRY_AUTH_PROTOCOLS; + priv->transport_auth_protos = modest_gnome_utils_get_protocols_pair_list (tag); priv->transport_secure_auth_combo = GTK_WIDGET (modest_combo_box_new (priv->transport_auth_protos, g_str_equal)); /* Setup security frame */ @@ -883,15 +885,26 @@ check_for_supported_auth_methods (ModestAccountAssistant* self) int port_num; GList *list_auth_methods; ModestAccountAssistantPrivate *priv; + ModestProtocolRegistry *registry; + ModestProtocol *proto; priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE (self); hostname = gtk_entry_get_text(GTK_ENTRY(priv->store_server_widget)); username = gtk_entry_get_text(GTK_ENTRY(priv->username)); store_protocol_name = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->store_protocol_combo)); - protocol = modest_protocol_info_get_transport_store_protocol (store_protocol_name); + registry = modest_runtime_get_protocol_registry (); + proto = modest_protocol_registry_get_protocol_by_name (registry, + MODEST_PROTOCOL_REGISTRY_STORE_PROTOCOLS, + store_protocol_name); + protocol = modest_protocol_get_type_id (proto); + g_free (store_protocol_name); store_security_name = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->store_security_combo)); - security_protocol = modest_protocol_info_get_connection_protocol (store_security_name); + + proto = modest_protocol_registry_get_protocol_by_name (registry, + MODEST_PROTOCOL_REGISTRY_CONNECTION_PROTOCOLS, + store_security_name); + security_protocol = modest_protocol_get_type_id (proto); g_free (store_security_name); port_num = get_serverport_incoming(protocol, security_protocol); list_auth_methods = modest_utils_get_supported_secure_authentication_methods (protocol, hostname, port_num, @@ -903,7 +916,7 @@ check_for_supported_auth_methods (ModestAccountAssistant* self) GList* method; for (method = list_auth_methods; method != NULL; method = g_list_next(method)) { ModestProtocolType auth = (ModestProtocolType) (GPOINTER_TO_INT(method->data)); - if (modest_protocol_info_auth_is_secure(auth)) { + if (modest_protocol_registry_protocol_type_is_secure (registry, auth)) { list = g_list_append(list, GINT_TO_POINTER(auth)); } } @@ -969,8 +982,8 @@ save_to_settings (ModestAccountAssistant *self) /* Use custom pages because no preset was specified: */ store_hostname = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->store_server_widget) )); - store_protocol = modest_protocol_info_get_transport_store_protocol (modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->store_protocol_combo))); - store_security = modest_protocol_info_get_connection_protocol (modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->store_security_combo))); + store_protocol = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->store_protocol_combo)); + store_security = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->store_security_combo)); /* The UI spec says: * If secure authentication is unchecked, allow sending username and password also as plain text. @@ -990,7 +1003,7 @@ save_to_settings (ModestAccountAssistant *self) modest_server_account_settings_set_username (store_settings, username); modest_server_account_settings_set_password (store_settings, password); modest_server_account_settings_set_protocol (store_settings, store_protocol); - modest_server_account_settings_set_security (store_settings, store_security); + modest_server_account_settings_set_security_protocol (store_settings, store_security); modest_server_account_settings_set_auth_protocol (store_settings, store_auth_protocol); if (store_port != 0) modest_server_account_settings_set_port (store_settings, store_port); @@ -1007,8 +1020,8 @@ save_to_settings (ModestAccountAssistant *self) transport_hostname = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->transport_server_widget) )); transport_protocol = MODEST_PROTOCOLS_TRANSPORT_SMTP; /* It's always SMTP for outgoing. */ - transport_security = modest_protocol_info_get_connection_protocol (modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->transport_security_combo))); - transport_auth_protocol = modest_protocol_info_get_auth_protocol (modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->transport_secure_auth_combo))); + transport_security = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->transport_security_combo)); + transport_auth_protocol = modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->transport_secure_auth_combo)); /* now we transport the transport account settings */ transport_settings = modest_account_settings_get_transport_settings (priv->settings); @@ -1016,7 +1029,7 @@ save_to_settings (ModestAccountAssistant *self) modest_server_account_settings_set_username (transport_settings, username); modest_server_account_settings_set_password (transport_settings, password); modest_server_account_settings_set_protocol (transport_settings, transport_protocol); - modest_server_account_settings_set_security (transport_settings, transport_security); + modest_server_account_settings_set_security_protocol (transport_settings, transport_security); modest_server_account_settings_set_auth_protocol (transport_settings, transport_auth_protocol); if (transport_port != 0) modest_server_account_settings_set_port (transport_settings, transport_port); diff --git a/src/gnome/modest-default-account-settings-dialog.c b/src/gnome/modest-default-account-settings-dialog.c index 2203f97..85fe69a 100644 --- a/src/gnome/modest-default-account-settings-dialog.c +++ b/src/gnome/modest-default-account-settings-dialog.c @@ -57,6 +57,7 @@ #include "widgets/modest-default-account-settings-dialog.h" #include #include +#include #include #include /* For strlen(). */ @@ -1279,7 +1280,7 @@ modest_default_account_settings_dialog_init (ModestDefaultAccountSettingsDialog } ModestAccountSettingsDialog* -modest_account_settings_dialog_new (void) +modest_default_account_settings_dialog_new (void) { return g_object_new (MODEST_TYPE_ACCOUNT_SETTINGS_DIALOG, NULL); } @@ -1754,7 +1755,7 @@ modest_account_settings_dialog_save_password (ModestAccountSettingsDialog *dialo } static void -modest_account_settings_dialog_class_init (ModestAccountSettingsDialogClass *klass) +modest_default_account_settings_dialog_class_init (ModestDefaultAccountSettingsDialogClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); g_type_class_add_private (klass, sizeof (ModestDefaultAccountSettingsDialogPrivate)); diff --git a/src/gnome/modest-platform.c b/src/gnome/modest-platform.c index d986295..3236bc2 100644 --- a/src/gnome/modest-platform.c +++ b/src/gnome/modest-platform.c @@ -32,7 +32,7 @@ #include #include #include - +#include #include "modest-platform.h" #include "modest-mail-operation-queue.h" #include "modest-runtime.h" @@ -41,6 +41,7 @@ #include "gnome/modest-account-assistant.h" #include "gnome/modest-gnome-sort-dialog.h" #include "widgets/modest-details-dialog.h" +#include "widgets/modest-main-window.h" gboolean modest_platform_init (int argc, char *argv[]) @@ -587,3 +588,48 @@ modest_platform_create_move_to_dialog (GtkWindow *parent_window, return dialog; } + +TnyList * +modest_platform_get_list_to_move (ModestWindow *window) +{ + TnyList *list = NULL; + + /* If it's a main window then it could be that we're moving a + folder or a set of messages */ + if (MODEST_IS_MAIN_WINDOW (window)) { + ModestHeaderView *header_view = NULL; + ModestFolderView *folder_view = NULL; + + folder_view = (ModestFolderView *) + modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (window), + MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW); + header_view = (ModestHeaderView *) + modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (window), + MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW); + + /* Get folder or messages to transfer */ + if (gtk_widget_is_focus (GTK_WIDGET (folder_view))) { + TnyFolderStore *src_folder; + + src_folder = modest_folder_view_get_selected (folder_view); + if (src_folder) { + list = tny_simple_list_new (); + tny_list_prepend (list, G_OBJECT (src_folder)); + g_object_unref (src_folder); + } + } else if (gtk_widget_is_focus (GTK_WIDGET(header_view))) { + list = modest_header_view_get_selected_headers(header_view); + } + } else if (MODEST_IS_MSG_VIEW_WINDOW (window)) { + TnyHeader *header = NULL; + + /* We simply return the currently viewed message */ + header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (window)); + if (header) { + list = tny_simple_list_new (); + tny_list_prepend (list, G_OBJECT (header)); + g_object_unref (header); + } + } + return list; +} diff --git a/src/gnome/modest-transport-widget.c b/src/gnome/modest-transport-widget.c index 5fe18aa..9ba6063 100644 --- a/src/gnome/modest-transport-widget.c +++ b/src/gnome/modest-transport-widget.c @@ -148,6 +148,7 @@ smtp_configuration (ModestTransportWidget *self) { ModestTransportWidgetPrivate *priv; GtkWidget *label, *box, *hbox, *combo; + const gchar *tag = MODEST_PROTOCOL_REGISTRY_TRANSPORT_PROTOCOLS; priv = MODEST_TRANSPORT_WIDGET_GET_PRIVATE(self); box = gtk_vbox_new (FALSE, 6); @@ -194,7 +195,7 @@ smtp_configuration (ModestTransportWidget *self) /* 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->transport_store_protos = modest_protocol_info_get_transport_store_protocol_pair_list (); + priv->transport_store_protos = modest_gnome_utils_get_protocols_pair_list (tag); combo = modest_combo_box_new (priv->transport_store_protos, g_str_equal); gtk_box_pack_start (GTK_BOX(hbox), combo, FALSE, FALSE,0); @@ -209,7 +210,8 @@ smtp_configuration (ModestTransportWidget *self) /* 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->auth_protos = modest_protocol_info_get_auth_protocol_pair_list (); + tag = MODEST_PROTOCOL_REGISTRY_AUTH_PROTOCOLS; + priv->auth_protos = modest_gnome_utils_get_protocols_pair_list (tag); combo = modest_combo_box_new (priv->auth_protos, g_str_equal); gtk_box_pack_start (GTK_BOX(hbox), combo, FALSE, FALSE, 0);