aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-component-registry.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-03-08 07:48:18 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-03-08 07:48:18 +0800
commit3f72523dfa9fcbea86538b37130b863fc805e7ec (patch)
tree83a2be4183f16ba0e6fdc8723cb913e753c5ce3c /shell/e-component-registry.c
parent82ae1edb4df0ab71f31d4d38d5fc62eaec3e3cde (diff)
downloadgsoc2013-evolution-3f72523dfa9fcbea86538b37130b863fc805e7ec.tar
gsoc2013-evolution-3f72523dfa9fcbea86538b37130b863fc805e7ec.tar.gz
gsoc2013-evolution-3f72523dfa9fcbea86538b37130b863fc805e7ec.tar.bz2
gsoc2013-evolution-3f72523dfa9fcbea86538b37130b863fc805e7ec.tar.lz
gsoc2013-evolution-3f72523dfa9fcbea86538b37130b863fc805e7ec.tar.xz
gsoc2013-evolution-3f72523dfa9fcbea86538b37130b863fc805e7ec.tar.zst
gsoc2013-evolution-3f72523dfa9fcbea86538b37130b863fc805e7ec.zip
Added the ability for components to specify drag/drop types, and
started some work to get the EStorageSetView to use them. Still in progress, nothing really happens for the user yet. svn path=/trunk/; revision=8589
Diffstat (limited to 'shell/e-component-registry.c')
-rw-r--r--shell/e-component-registry.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/shell/e-component-registry.c b/shell/e-component-registry.c
index 89638fa14c..f175722ab7 100644
--- a/shell/e-component-registry.c
+++ b/shell/e-component-registry.c
@@ -106,6 +106,10 @@ static gboolean
register_type (EComponentRegistry *component_registry,
const char *name,
const char *icon_name,
+ int num_exported_dnd_types,
+ const char **exported_dnd_types,
+ int num_accepted_dnd_types,
+ const char **accepted_dnd_types,
Component *handler)
{
EComponentRegistryPrivate *priv;
@@ -116,7 +120,12 @@ register_type (EComponentRegistry *component_registry,
folder_type_registry = e_shell_get_folder_type_registry (priv->shell);
g_assert (folder_type_registry != NULL);
- if (! e_folder_type_registry_register_type (folder_type_registry, name, icon_name)) {
+ if (! e_folder_type_registry_register_type (folder_type_registry,
+ name, icon_name,
+ num_exported_dnd_types,
+ exported_dnd_types,
+ num_accepted_dnd_types,
+ accepted_dnd_types)) {
g_warning ("Trying to register duplicate folder type -- %s", name);
return FALSE;
}
@@ -175,7 +184,13 @@ register_component (EComponentRegistry *component_registry,
type = supported_types->_buffer + i;
- if (! register_type (component_registry, type->name, type->icon_name, component)) {
+ if (! register_type (component_registry,
+ type->name, type->icon_name,
+ type->exported_dnd_types._length,
+ (const char **) type->exported_dnd_types._buffer,
+ type->accepted_dnd_types._length,
+ (const char **) type->accepted_dnd_types._buffer,
+ component)) {
g_warning ("Cannot register type `%s' for component %s",
type->name, component->id);
} else {