aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui
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 /addressbook/gui
parent13c7f54818b9b6a25a47289768d17e5a885cec7a (diff)
downloadgsoc2013-evolution-97cc1d57adcdefb5b63a704f42f692e3cffb4014.tar
gsoc2013-evolution-97cc1d57adcdefb5b63a704f42f692e3cffb4014.tar.gz
gsoc2013-evolution-97cc1d57adcdefb5b63a704f42f692e3cffb4014.tar.bz2
gsoc2013-evolution-97cc1d57adcdefb5b63a704f42f692e3cffb4014.tar.lz
gsoc2013-evolution-97cc1d57adcdefb5b63a704f42f692e3cffb4014.tar.xz
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 'addressbook/gui')
-rw-r--r--addressbook/gui/component/addressbook-component.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/addressbook/gui/component/addressbook-component.c b/addressbook/gui/component/addressbook-component.c
index 02e3fb85f9..1dca130042 100644
--- a/addressbook/gui/component/addressbook-component.c
+++ b/addressbook/gui/component/addressbook-component.c
@@ -64,7 +64,7 @@ static char *accepted_dnd_types[] = {
static const EvolutionShellComponentFolderType folder_types[] = {
{ "contacts", "evolution-contacts.png", TRUE, accepted_dnd_types, NULL },
- { NULL, NULL, NULL, NULL }
+ { NULL, NULL, FALSE, NULL, NULL }
};
@@ -113,6 +113,7 @@ create_folder (EvolutionShellComponent *shell_component,
static void
remove_folder (EvolutionShellComponent *shell_component,
const char *physical_uri,
+ const char *type,
const GNOME_Evolution_ShellComponentListener listener,
void *closure)
{
@@ -121,10 +122,16 @@ remove_folder (EvolutionShellComponent *shell_component,
struct stat sb;
int rv;
- g_print ("should remove %s\n", physical_uri);
-
CORBA_exception_init(&ev);
+ if (strcmp (type, "contacts") != 0) {
+ GNOME_Evolution_ShellComponentListener_notifyResult (listener,
+ GNOME_Evolution_ShellComponentListener_UNSUPPORTED_TYPE,
+ &ev);
+ CORBA_exception_free(&ev);
+ return;
+ }
+
if (!strncmp (physical_uri, "ldap://", 7)) {
GNOME_Evolution_ShellComponentListener_notifyResult (listener,
GNOME_Evolution_ShellComponentListener_UNSUPPORTED_OPERATION,
@@ -176,6 +183,7 @@ static void
xfer_folder (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)
@@ -184,8 +192,13 @@ xfer_folder (EvolutionShellComponent *shell_component,
char *source_path;
char *destination_path;
- g_print ("should transfer %s to %s, %s source\n", source_physical_uri,
- destination_physical_uri, remove_source ? "removing" : "not removing");
+ if (strcmp (type, "contacts") != 0) {
+ GNOME_Evolution_ShellComponentListener_notifyResult (listener,
+ GNOME_Evolution_ShellComponentListener_UNSUPPORTED_TYPE,
+ &ev);
+ CORBA_exception_free(&ev);
+ return;
+ }
if (!strncmp (source_physical_uri, "ldap://", 7)
|| !strncmp (destination_physical_uri, "ldap://", 7)) {
@@ -208,13 +221,6 @@ xfer_folder (EvolutionShellComponent *shell_component,
source_path = g_concat_dir_and_file (source_physical_uri + 7, "addressbook.db");
destination_path = g_concat_dir_and_file (destination_physical_uri + 7, "addressbook.db");
- if (remove_source) {
- g_print ("rename %s %s\n", source_path, destination_path);
- }
- else {
- g_print ("copy %s %s\n", source_path, destination_path);
- }
-
CORBA_exception_init (&ev);
/* XXX always fail for now, until the above stuff is written */