From 7aa164895ce4e4ba760af1415e45d7b264d2d2c3 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 6 May 2011 12:34:33 -0400 Subject: em_folder_utils_create_folder(): Change function parameters. Take a folder URI string instead of a CamelFolderInfo, and swap places with the GtkWindow parameter. --- mail/em-folder-selector.c | 4 +++- mail/em-folder-utils.c | 16 ++++++++++------ mail/em-folder-utils.h | 4 ++-- modules/mail/e-mail-shell-backend.c | 2 +- modules/mail/e-mail-shell-view-actions.c | 12 ++++++------ 5 files changed, 22 insertions(+), 16 deletions(-) diff --git a/mail/em-folder-selector.c b/mail/em-folder-selector.c index ae3092d4df..5bf3b3f1c6 100644 --- a/mail/em-folder-selector.c +++ b/mail/em-folder-selector.c @@ -116,7 +116,9 @@ emfs_response (GtkWidget *dialog, gint response, EMFolderSelector *emfs) g_object_set_data ((GObject *)emfs->emft, "select", GUINT_TO_POINTER (1)); - em_folder_utils_create_folder (NULL, emfs->emft, em_folder_tree_get_session (emfs->emft), GTK_WINDOW (dialog)); + em_folder_utils_create_folder ( + GTK_WINDOW (dialog), emfs->emft, + em_folder_tree_get_session (emfs->emft), NULL); g_signal_stop_emission_by_name (emfs, "response"); } diff --git a/mail/em-folder-utils.c b/mail/em-folder-utils.c index fdf18c2082..182ec200c3 100644 --- a/mail/em-folder-utils.c +++ b/mail/em-folder-utils.c @@ -773,10 +773,10 @@ emfu_popup_new_folder_response (EMFolderSelector *emfs, /* FIXME: these functions must be documented */ void -em_folder_utils_create_folder (CamelFolderInfo *folderinfo, +em_folder_utils_create_folder (GtkWindow *parent, EMFolderTree *emft, - EMailSession *session, - GtkWindow *parent) + EMailSession *session, + const gchar *initial_uri) { EMFolderTree *folder_tree; GtkWidget *dialog; @@ -788,9 +788,13 @@ em_folder_utils_create_folder (CamelFolderInfo *folderinfo, parent, folder_tree, 0, _("Create Folder"), _("Specify where to create the folder:")); - if (folderinfo != NULL) - em_folder_selector_set_selected ((EMFolderSelector *) dialog, folderinfo->uri); - g_signal_connect (dialog, "response", G_CALLBACK (emfu_popup_new_folder_response), emft ? emft : folder_tree); + if (initial_uri != NULL) + em_folder_selector_set_selected ( + EM_FOLDER_SELECTOR (dialog), initial_uri); + g_signal_connect ( + dialog, "response", + G_CALLBACK (emfu_popup_new_folder_response), + emft ? emft : folder_tree); if (!parent || !GTK_IS_DIALOG (parent)) gtk_widget_show (dialog); diff --git a/mail/em-folder-utils.h b/mail/em-folder-utils.h index 54ccf5806e..8f7a2c70d3 100644 --- a/mail/em-folder-utils.h +++ b/mail/em-folder-utils.h @@ -46,10 +46,10 @@ void em_folder_utils_copy_folder (GtkWindow *parent, gboolean delete); void em_folder_utils_delete_folder (EMailBackend *backend, CamelFolder *folder); -void em_folder_utils_create_folder (CamelFolderInfo *folderinfo, +void em_folder_utils_create_folder (GtkWindow *parent, EMFolderTree *emft, EMailSession *session, - GtkWindow *parent); + const gchar *initial_uri); const gchar * em_folder_utils_get_icon_name (guint32 flags); diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c index c29dbdcbcc..180e5b2a92 100644 --- a/modules/mail/e-mail-shell-backend.c +++ b/modules/mail/e-mail-shell-backend.c @@ -140,7 +140,7 @@ action_mail_folder_new_cb (GtkAction *action, exit: em_folder_utils_create_folder ( - NULL, folder_tree, mail_session, GTK_WINDOW (shell_window)); + GTK_WINDOW (shell_window), folder_tree, mail_session, NULL); } static void diff --git a/modules/mail/e-mail-shell-view-actions.c b/modules/mail/e-mail-shell-view-actions.c index a2b6f18133..f311246da7 100644 --- a/modules/mail/e-mail-shell-view-actions.c +++ b/modules/mail/e-mail-shell-view-actions.c @@ -385,23 +385,23 @@ action_mail_folder_new_cb (GtkAction *action, EShellWindow *shell_window; EMailSession *session; EMailShellSidebar *mail_shell_sidebar; - CamelFolderInfo *folder_info; EMFolderTree *folder_tree; + gchar *selected_uri; shell_view = E_SHELL_VIEW (mail_shell_view); shell_window = e_shell_view_get_shell_window (shell_view); mail_shell_sidebar = mail_shell_view->priv->mail_shell_sidebar; folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar); - folder_info = em_folder_tree_get_selected_folder_info (folder_tree); + session = em_folder_tree_get_session (folder_tree); - g_return_if_fail (folder_info != NULL); + selected_uri = em_folder_tree_get_selected_uri (folder_tree); em_folder_utils_create_folder ( - folder_info, folder_tree, session, - GTK_WINDOW (shell_window)); + GTK_WINDOW (shell_window), + folder_tree, session, selected_uri); - camel_folder_info_free (folder_info); + g_free (selected_uri); } static void -- cgit v1.2.3