aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-07-23 10:04:14 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-07-23 10:04:14 +0800
commit97cc1d57adcdefb5b63a704f42f692e3cffb4014 (patch)
tree8cf6ca737156fa7ae603a5b479813f6a6c5830d5 /shell
parent13c7f54818b9b6a25a47289768d17e5a885cec7a (diff)
downloadgsoc2013-evolution-97cc1d57adcdefb5b63a704f42f692e3cffb4014.tar.gz
gsoc2013-evolution-97cc1d57adcdefb5b63a704f42f692e3cffb4014.tar.zst
gsoc2013-evolution-97cc1d57adcdefb5b63a704f42f692e3cffb4014.zip
Add an extra @type arg to the xferFolder and removeFolder methods in
the ShellComponent interface. Updated the EvolutionShellComponent GTK+ wrapper and all the component accordingly. Get the calendar to use this so it can delete both tasks and calendar folders. svn path=/trunk/; revision=11300
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog25
-rw-r--r--shell/Evolution-ShellComponent.idl4
-rw-r--r--shell/e-local-storage.c2
-rw-r--r--shell/evolution-shell-component-client.c4
-rw-r--r--shell/evolution-shell-component-client.h2
-rw-r--r--shell/evolution-shell-component.c5
-rw-r--r--shell/evolution-shell-component.h2
7 files changed, 42 insertions, 2 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 881bc24f0a..4affcd9754 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,28 @@
+2001-07-22 Ettore Perazzoli <ettore@ximian.com>
+
+ * e-local-storage.c (remove_folder): Pass the folder type to
+ `evolution_shell_component_client_async_remove_folder()'.
+ (async_xfer_folder_step): Likewise with
+ `evolution_shell_component_client_async_xfer_folder()'.
+
+ * evolution-shell-component-client.c
+ (evolution_shell_component_client_async_remove_folder): New arg
+ @type. Pass it to the `ShellComponent::removeFolder' CORBA
+ method.
+ (evolution_shell_component_client_async_xfer_folder): Likewise
+ with `::xferFolder'.
+
+ * evolution-shell-component.c (impl_removeFolderAsync): Add @type
+ arg according to the IDL.
+ (impl_xferFolderAsync): Likewise.
+
+ * evolution-shell-component.h: Add arg @type to
+ `EvolutionShellComponentRemoveFolderFn' and
+ EvolutionShellComponentXferFolderFn'.
+
+ * Evolution-ShellComponent.idl: Add @type arg to
+ `::removeFolderAsync' and `::xferFolderAsync'.
+
2001-07-21 Ettore Perazzoli <ettore@ximian.com>
* e-shell-folder-creation-dialog.c (add_folder_types): Only put
diff --git a/shell/Evolution-ShellComponent.idl b/shell/Evolution-ShellComponent.idl
index 73110b5011..7c65544c01 100644
--- a/shell/Evolution-ShellComponent.idl
+++ b/shell/Evolution-ShellComponent.idl
@@ -68,12 +68,14 @@ module Evolution {
raises (Busy);
void removeFolderAsync (in ShellComponentListener listener,
- in string physical_uri)
+ in string physical_uri,
+ in string type)
raises (Busy);
void xferFolderAsync (in ShellComponentListener listener,
in string source_physical_uri,
in string destination_physical_uri,
+ in string type,
in boolean remove_source)
raises (Busy);
diff --git a/shell/e-local-storage.c b/shell/e-local-storage.c
index 6d83cfaaf6..cc92c43329 100644
--- a/shell/e-local-storage.c
+++ b/shell/e-local-storage.c
@@ -500,6 +500,7 @@ remove_folder (ELocalStorage *local_storage,
evolution_shell_component_client_async_remove_folder (component_client,
physical_uri,
+ e_folder_get_type_string (folder),
component_async_remove_folder_callback,
callback_data);
@@ -705,6 +706,7 @@ async_xfer_folder_step (ELocalStorage *local_storage,
evolution_shell_component_client_async_xfer_folder (component_client,
e_folder_get_physical_uri (source_folder),
physical_uri,
+ e_folder_get_type_string (source_folder),
remove_source,
component_client_callback,
component_client_callback_data);
diff --git a/shell/evolution-shell-component-client.c b/shell/evolution-shell-component-client.c
index 60b39d9aa2..47059377d0 100644
--- a/shell/evolution-shell-component-client.c
+++ b/shell/evolution-shell-component-client.c
@@ -675,6 +675,7 @@ evolution_shell_component_client_async_create_folder (EvolutionShellComponentCli
void
evolution_shell_component_client_async_remove_folder (EvolutionShellComponentClient *shell_component_client,
const char *physical_uri,
+ const char *type,
EvolutionShellComponentClientCallback callback,
void *data)
{
@@ -706,6 +707,7 @@ evolution_shell_component_client_async_remove_folder (EvolutionShellComponentCli
GNOME_Evolution_ShellComponent_removeFolderAsync (corba_shell_component,
priv->listener_interface,
physical_uri,
+ type,
&ev);
if (ev._major != CORBA_NO_EXCEPTION && priv->callback != NULL) {
@@ -723,6 +725,7 @@ void
evolution_shell_component_client_async_xfer_folder (EvolutionShellComponentClient *shell_component_client,
const char *source_physical_uri,
const char *destination_physical_uri,
+ const char *type,
gboolean remove_source,
EvolutionShellComponentClientCallback callback,
void *data)
@@ -757,6 +760,7 @@ evolution_shell_component_client_async_xfer_folder (EvolutionShellComponentClien
priv->listener_interface,
source_physical_uri,
destination_physical_uri,
+ type,
remove_source,
&ev);
diff --git a/shell/evolution-shell-component-client.h b/shell/evolution-shell-component-client.h
index 9b3a7d0ff0..eca4440f96 100644
--- a/shell/evolution-shell-component-client.h
+++ b/shell/evolution-shell-component-client.h
@@ -103,11 +103,13 @@ void evolution_shell_component_client_async_create_folder (EvolutionShellCompo
void *data);
void evolution_shell_component_client_async_remove_folder (EvolutionShellComponentClient *shell_component_client,
const char *physical_uri,
+ const char *type,
EvolutionShellComponentClientCallback callback,
void *data);
void evolution_shell_component_client_async_xfer_folder (EvolutionShellComponentClient *shell_component_client,
const char *source_physical_uri,
const char *destination_physical_uri,
+ const char *type,
gboolean remove_source,
EvolutionShellComponentClientCallback callback,
void *data);
diff --git a/shell/evolution-shell-component.c b/shell/evolution-shell-component.c
index cf7de2354c..8bf0f68f10 100644
--- a/shell/evolution-shell-component.c
+++ b/shell/evolution-shell-component.c
@@ -369,6 +369,7 @@ static void
impl_removeFolderAsync (PortableServer_Servant servant,
const GNOME_Evolution_ShellComponentListener listener,
const CORBA_char *physical_uri,
+ const CORBA_char *type,
CORBA_Environment *ev)
{
BonoboObject *bonobo_object;
@@ -386,7 +387,7 @@ impl_removeFolderAsync (PortableServer_Servant servant,
return;
}
- (* priv->remove_folder_fn) (shell_component, physical_uri, listener, priv->closure);
+ (* priv->remove_folder_fn) (shell_component, physical_uri, type, listener, priv->closure);
}
static void
@@ -394,6 +395,7 @@ impl_xferFolderAsync (PortableServer_Servant servant,
const GNOME_Evolution_ShellComponentListener listener,
const CORBA_char *source_physical_uri,
const CORBA_char *destination_physical_uri,
+ const CORBA_char *type,
const CORBA_boolean remove_source,
CORBA_Environment *ev)
{
@@ -415,6 +417,7 @@ impl_xferFolderAsync (PortableServer_Servant servant,
(* priv->xfer_folder_fn) (shell_component,
source_physical_uri,
destination_physical_uri,
+ type,
remove_source,
listener,
priv->closure);
diff --git a/shell/evolution-shell-component.h b/shell/evolution-shell-component.h
index 28401826a0..de48b84108 100644
--- a/shell/evolution-shell-component.h
+++ b/shell/evolution-shell-component.h
@@ -83,11 +83,13 @@ typedef void (* EvolutionShellComponentCreateFolderFn) (EvolutionShellComponent
void *closure);
typedef void (* EvolutionShellComponentRemoveFolderFn) (EvolutionShellComponent *shell_component,
const char *physical_uri,
+ const char *type,
const GNOME_Evolution_ShellComponentListener listener,
void *closure);
typedef void (* EvolutionShellComponentXferFolderFn) (EvolutionShellComponent *shell_component,
const char *source_physical_uri,
const char *destination_physical_uri,
+ const char *type,
gboolean remove_source,
const GNOME_Evolution_ShellComponentListener listener,
void *closure);