From 7a316616d6857334adcca14ae0cd8029128cb672 Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Wed, 4 Feb 2004 21:08:31 +0000 Subject: add extra page 2004-02-04 JP Rosevear * importer/import.glade: add extra page * importer/evolution-importer.h: update protos * importer/evolution-importer.c: hold the createControl function (impl_GNOME_Evolution_Importer_createControl): implement (impl_GNOME_Evolution_Importer_loadFile): remove dead args * importer/evolution-importer-client.h: update/add protos * importer/evolution-importer-client.c (evolution_importer_client_create_control): wrapper (evolution_importer_client_load_file): we don't take physical_uri and folder_type as args any more * importer/GNOME_Evolution_Importer.idl: add createControl method and remove extraneous loadFile args * e-shell-window-commands.c (command_import): uncomment * e-shell-importer.h: update proto * e-shell-importer.c: remove DEPRECATED hack and tidy includes (get_iid_for_filetype): use query define (start_import): we don't take a file name and client directly now (create_plugin_menu): user query define (importer_dest_page_new): create vbox (import_druid_finish): we no longer do folder selection here (next_file_page): create the client here (prepare_dest_page): show the importer control (next_dest_page): skip to the finish (back_finish_page): back to the destination page (e_shell_importer_start_import): set up the destination page * Makefile.am: build import files again svn path=/trunk/; revision=24619 --- shell/importer/evolution-importer-client.c | 39 +++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 9 deletions(-) (limited to 'shell/importer/evolution-importer-client.c') diff --git a/shell/importer/evolution-importer-client.c b/shell/importer/evolution-importer-client.c index 1f6807b3c8..78a3e551f8 100644 --- a/shell/importer/evolution-importer-client.c +++ b/shell/importer/evolution-importer-client.c @@ -30,6 +30,8 @@ #include #include #include +#include +#include #include #include "GNOME_Evolution_Importer.h" @@ -117,6 +119,32 @@ evolution_importer_client_new_from_id (const char *id) } /* API */ +GtkWidget * +evolution_importer_client_create_control (EvolutionImporterClient *client) +{ + GNOME_Evolution_Importer corba_importer; + GtkWidget *widget = NULL; + Bonobo_Control control; + CORBA_Environment ev; + + g_return_val_if_fail (client != NULL, FALSE); + g_return_val_if_fail (EVOLUTION_IS_IMPORTER_CLIENT (client), FALSE); + + CORBA_exception_init (&ev); + corba_importer = client->objref; + GNOME_Evolution_Importer_createControl (corba_importer, &control, &ev); + + if (!BONOBO_EX (&ev)) { + /* FIXME Pass in container? */ + widget = bonobo_widget_new_control_from_objref (control, NULL); + gtk_widget_show (widget); + } + + CORBA_exception_free (&ev); + + return widget; +} + /** * evolution_importer_client_support_format: * @client: The EvolutionImporterClient. @@ -159,10 +187,7 @@ evolution_importer_client_support_format (EvolutionImporterClient *client, * Returns: TRUE on sucess, FALSE on failure. */ gboolean -evolution_importer_client_load_file (EvolutionImporterClient *client, - const char *filename, - const char *physical_uri, - const char *folder_type) +evolution_importer_client_load_file (EvolutionImporterClient *client, const char *filename) { GNOME_Evolution_Importer corba_importer; gboolean result; @@ -174,11 +199,7 @@ evolution_importer_client_load_file (EvolutionImporterClient *client, CORBA_exception_init (&ev); corba_importer = client->objref; - result = GNOME_Evolution_Importer_loadFile (corba_importer, - filename, - physical_uri ? physical_uri : "", - folder_type ? folder_type : "", - &ev); + result = GNOME_Evolution_Importer_loadFile (corba_importer, filename, &ev); if (ev._major != CORBA_NO_EXCEPTION) { g_warning ("Oh there *WAS* an exception.\nIt was %s", CORBA_exception_id (&ev)); -- cgit v1.2.3