From 48a400618b705696443f4aeacceaa1af0345a148 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 12 Nov 2009 12:59:17 -0500 Subject: Further tweaks for the command-line importing. Includes Bastien Nocera's patch to register our importable MIME types with the MIME database. --- data/evolution.desktop.in.in | 4 ++-- doc/reference/shell/tmpl/e-shell.sgml | 1 + mail/importers/evolution-mbox-importer.c | 12 ++++++++---- shell/e-shell-utils.c | 12 +----------- widgets/misc/e-import-assistant.c | 6 ++++-- widgets/misc/e-import-assistant.h | 4 +++- 6 files changed, 19 insertions(+), 20 deletions(-) diff --git a/data/evolution.desktop.in.in b/data/evolution.desktop.in.in index 4dff9bc971..86e03a8f69 100644 --- a/data/evolution.desktop.in.in +++ b/data/evolution.desktop.in.in @@ -3,7 +3,7 @@ _Name=Evolution _GenericName=Groupware Suite _X-GNOME-FullName=Evolution Mail and Calendar _Comment=Manage your email, contacts and schedule -Exec=evolution +Exec=evolution %U Icon=evolution Terminal=false Type=Application @@ -14,4 +14,4 @@ X-GNOME-Bugzilla-Product=Evolution X-GNOME-Bugzilla-Component=BugBuddyBugs X-GNOME-Bugzilla-Version=@BASE_VERSION@.x X-GNOME-Bugzilla-OtherBinaries=evolution-data-server-@DATASERVER_EXEC_VERSION@;evolution-exchange-storage;evolution-alarm-notify; - +MimeType=text/calendar;text/x-vcard;text/directory;application/mbox;message/rfc822; diff --git a/doc/reference/shell/tmpl/e-shell.sgml b/doc/reference/shell/tmpl/e-shell.sgml index a34a083b7c..58185fd599 100644 --- a/doc/reference/shell/tmpl/e-shell.sgml +++ b/doc/reference/shell/tmpl/e-shell.sgml @@ -191,6 +191,7 @@ EShell @shell: @uris: +@do_import: @Returns: diff --git a/mail/importers/evolution-mbox-importer.c b/mail/importers/evolution-mbox-importer.c index a100302db7..01129471ae 100644 --- a/mail/importers/evolution-mbox-importer.c +++ b/mail/importers/evolution-mbox-importer.c @@ -79,14 +79,18 @@ folder_selected(EMFolderSelectionButton *button, EImportTargetURI *target) static GtkWidget * mbox_getwidget(EImport *ei, EImportTarget *target, EImportImporter *im) { + GtkWindow *window; GtkWidget *hbox, *w; gchar *select_uri = NULL; - EShellWindow *shell_window; /* preselect the folder selected in a mail view */ - shell_window = E_SHELL_WINDOW (e_shell_get_active_window (e_shell_get_default ())); - if (shell_window) { - const gchar *view = e_shell_window_get_active_view (shell_window); + window = e_shell_get_active_window (e_shell_get_default ()); + if (E_IS_SHELL_WINDOW (window)) { + EShellWindow *shell_window; + const gchar *view; + + shell_window = E_SHELL_WINDOW (window); + view = e_shell_window_get_active_view (shell_window); if (view && g_str_equal (view, "mail")) { EShellView *shell_view = e_shell_window_get_shell_view (shell_window, view); diff --git a/shell/e-shell-utils.c b/shell/e-shell-utils.c index 30b658aef0..570f15bddd 100644 --- a/shell/e-shell-utils.c +++ b/shell/e-shell-utils.c @@ -183,14 +183,6 @@ exit: return chosen_file; } -static void -assistant_weak_notify_cb (EShell *shell, GObject *where_the_object_was) -{ - /* close the application if the import assistant was the only window here */ - if (e_shell_get_watched_windows (shell) == NULL) - gtk_main_quit (); -} - /** * e_shell_utils_import_uris: * @shell: The #EShell instance @@ -228,9 +220,7 @@ e_shell_utils_import_uris (EShell *shell, gchar **uris, gboolean preview) assistant, "finished", G_CALLBACK (gtk_widget_destroy), NULL); - g_object_weak_ref ( - G_OBJECT (assistant), (GWeakNotify) - assistant_weak_notify_cb, shell); + e_shell_watch_window (shell, GTK_WINDOW (assistant)); gtk_widget_show (assistant); } else { diff --git a/widgets/misc/e-import-assistant.c b/widgets/misc/e-import-assistant.c index 9ac840ce86..10e60c6bfb 100644 --- a/widgets/misc/e-import-assistant.c +++ b/widgets/misc/e-import-assistant.c @@ -1144,7 +1144,7 @@ import_assistant_class_init (EImportAssistantClass *class) "is-simple", NULL, NULL, - TRUE, + FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); @@ -1332,7 +1332,9 @@ e_import_assistant_new (GtkWindow *parent) * Returns: EImportAssistant widget. */ GtkWidget * -e_import_assistant_new_simple (GtkWindow *parent, gchar **uris, gboolean preview) +e_import_assistant_new_simple (GtkWindow *parent, + gchar **uris, + gboolean preview) { GtkWidget *assistant; diff --git a/widgets/misc/e-import-assistant.h b/widgets/misc/e-import-assistant.h index f55c5129e4..b2bba8d653 100644 --- a/widgets/misc/e-import-assistant.h +++ b/widgets/misc/e-import-assistant.h @@ -60,7 +60,9 @@ struct _EImportAssistantClass { GType e_import_assistant_get_type (void); GtkWidget * e_import_assistant_new (GtkWindow *parent); -GtkWidget * e_import_assistant_new_simple (GtkWindow *parent, gchar **uris, gboolean preview); +GtkWidget * e_import_assistant_new_simple (GtkWindow *parent, + gchar **uris, + gboolean preview); G_END_DECLS -- cgit