aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog21
-rw-r--r--shell/Evolution-ShellComponentDnd.idl2
-rw-r--r--shell/e-storage-set-view.c2
-rw-r--r--shell/evolution-shell-component-dnd.c8
-rw-r--r--shell/evolution-shell-component-dnd.h2
5 files changed, 32 insertions, 3 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index c51a1e9d1b..722455a97c 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,26 @@
2001-10-19 Ettore Perazzoli <ettore@ximian.com>
+ * e-storage-set-view.c (tree_drag_data_received): Pass the
+ @folder_type to ::handleDrop.
+
+ * evolution-shell-component-dnd.c
+ (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion):
+ New arg @folder_type.
+ (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop):
+ Likewise.
+
+ * evolution-shell-component-dnd.h: Add @folder_type to
+ `DndDestinationFolderHandleDropFn' and
+ `DndDestinationFolderHandleMotionFn'.
+
+ * e-storage-set-view.c (tree_drag_motion): Pass the folder type to
+ `::handleMotion'.
+
+ * Evolution-ShellComponentDnd.idl: Pass @folder_type in
+ ::handleDrop and ::handleMotion.
+
+2001-10-19 Ettore Perazzoli <ettore@ximian.com>
+
* e-shell-view-menu.c (command_about_box): Use EShellAboutBox.
(zero_pointer): Removed.
diff --git a/shell/Evolution-ShellComponentDnd.idl b/shell/Evolution-ShellComponentDnd.idl
index 37322e85db..c0c4c5a469 100644
--- a/shell/Evolution-ShellComponentDnd.idl
+++ b/shell/Evolution-ShellComponentDnd.idl
@@ -80,6 +80,7 @@ module ShellComponentDnd {
@default_action and @non_default_action we want to be
performed when the drop happens. */
boolean handleMotion (in string physical_uri,
+ in string folder_type,
in Context destination_context,
out Action suggested_action);
@@ -87,6 +88,7 @@ module ShellComponentDnd {
object, and we are supposed to perform the operation
requested. */
boolean handleDrop (in string physical_uri,
+ in string folder_type,
in Context destination_context,
in Action action,
in Data data);
diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c
index 15f9206915..9b7365e796 100644
--- a/shell/e-storage-set-view.c
+++ b/shell/e-storage-set-view.c
@@ -1099,6 +1099,7 @@ tree_drag_motion (ETree *tree,
can_handle = GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion (destination_folder_interface,
e_folder_get_physical_uri (folder),
+ e_folder_get_type_string (folder),
&corba_context,
&suggested_action,
&ev);
@@ -1252,6 +1253,7 @@ tree_drag_data_received (ETree *etree,
/* pass off the data to the component's DestinationFolderInterface */
handled = GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop (destination_folder_interface,
e_folder_get_physical_uri (folder),
+ e_folder_get_type_string (folder),
&corba_context,
convert_gdk_drag_action_to_corba (context->action),
&corba_data,
diff --git a/shell/evolution-shell-component-dnd.c b/shell/evolution-shell-component-dnd.c
index c434ff4611..e6b9b0c1e5 100644
--- a/shell/evolution-shell-component-dnd.c
+++ b/shell/evolution-shell-component-dnd.c
@@ -288,6 +288,7 @@ dnd_destination_destroy (GtkObject *object)
static CORBA_boolean
impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion (PortableServer_Servant servant,
const CORBA_char* physical_uri,
+ const CORBA_char *folder_type,
const GNOME_Evolution_ShellComponentDnd_DestinationFolder_Context * destination_context,
GNOME_Evolution_ShellComponentDnd_Action * suggested_action, CORBA_Environment * ev)
{
@@ -299,12 +300,13 @@ impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion (PortableS
folder = EVOLUTION_SHELL_COMPONENT_DND_DESTINATION_FOLDER (bonobo_object);
priv = folder->priv;
- return priv->handle_motion (folder, physical_uri, destination_context, suggested_action, priv->user_data);
+ return priv->handle_motion (folder, physical_uri, folder_type, destination_context, suggested_action, priv->user_data);
}
static CORBA_boolean
impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop (PortableServer_Servant servant,
- const CORBA_char* physical_uri,
+ const CORBA_char *physical_uri,
+ const CORBA_char *folder_type,
const GNOME_Evolution_ShellComponentDnd_DestinationFolder_Context * destination_context,
const GNOME_Evolution_ShellComponentDnd_Action action,
const GNOME_Evolution_ShellComponentDnd_Data * data, CORBA_Environment * ev)
@@ -317,7 +319,7 @@ impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop (PortableSer
folder = EVOLUTION_SHELL_COMPONENT_DND_DESTINATION_FOLDER (bonobo_object);
priv = folder->priv;
- return priv->handle_drop (folder, physical_uri, destination_context, action, data, priv->user_data);
+ return priv->handle_drop (folder, physical_uri, folder_type, destination_context, action, data, priv->user_data);
}
static POA_GNOME_Evolution_ShellComponentDnd_DestinationFolder__vepv DestinationFolder_vepv;
diff --git a/shell/evolution-shell-component-dnd.h b/shell/evolution-shell-component-dnd.h
index 1292f153f4..d28dc54d33 100644
--- a/shell/evolution-shell-component-dnd.h
+++ b/shell/evolution-shell-component-dnd.h
@@ -96,11 +96,13 @@ typedef struct _EvolutionShellComponentDndDestinationFolderClass EvolutionShellC
typedef CORBA_boolean (*DndDestinationFolderHandleMotionFn)(EvolutionShellComponentDndDestinationFolder *folder,
const char *physical_uri,
+ const char *folder_type,
const GNOME_Evolution_ShellComponentDnd_DestinationFolder_Context * destination_context,
GNOME_Evolution_ShellComponentDnd_Action * suggested_action_return,
gpointer closure);
typedef CORBA_boolean (*DndDestinationFolderHandleDropFn)(EvolutionShellComponentDndDestinationFolder *folder,
const char *physical_uri,
+ const char *folder_type,
const GNOME_Evolution_ShellComponentDnd_DestinationFolder_Context * destination_context,
const GNOME_Evolution_ShellComponentDnd_Action action,
const GNOME_Evolution_ShellComponentDnd_Data * data,