aboutsummaryrefslogtreecommitdiffstats
path: root/shell/importer/evolution-importer-client.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2004-02-05 05:08:31 +0800
committerJP Rosevear <jpr@src.gnome.org>2004-02-05 05:08:31 +0800
commit7a316616d6857334adcca14ae0cd8029128cb672 (patch)
tree20d7685213dbf4b8579d90e9e6296e24830a7c0b /shell/importer/evolution-importer-client.c
parent8360a36e2d24298cdbc5ad7d13c81b8b76f2a3e0 (diff)
downloadgsoc2013-evolution-7a316616d6857334adcca14ae0cd8029128cb672.tar.gz
gsoc2013-evolution-7a316616d6857334adcca14ae0cd8029128cb672.tar.zst
gsoc2013-evolution-7a316616d6857334adcca14ae0cd8029128cb672.zip
add extra page
2004-02-04 JP Rosevear <jpr@ximian.com> * 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
Diffstat (limited to 'shell/importer/evolution-importer-client.c')
-rw-r--r--shell/importer/evolution-importer-client.c39
1 files changed, 30 insertions, 9 deletions
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 <glib.h>
#include <bonobo/bonobo-object.h>
#include <bonobo/bonobo-main.h>
+#include <bonobo/bonobo-widget.h>
+#include <bonobo/bonobo-exception.h>
#include <gal/util/e-util.h>
#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));