aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/conduits
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/conduits')
-rw-r--r--calendar/conduits/calendar/calendar-conduit-config.h17
-rw-r--r--calendar/conduits/calendar/calendar-conduit.c5
-rw-r--r--calendar/conduits/calendar/e-calendar.conduit.in2
-rw-r--r--calendar/conduits/todo/e-todo.conduit.in2
-rw-r--r--calendar/conduits/todo/todo-conduit-config.h23
-rw-r--r--calendar/conduits/todo/todo-conduit.c5
6 files changed, 36 insertions, 18 deletions
diff --git a/calendar/conduits/calendar/calendar-conduit-config.h b/calendar/conduits/calendar/calendar-conduit-config.h
index e557f7d87f..7a2269f228 100644
--- a/calendar/conduits/calendar/calendar-conduit-config.h
+++ b/calendar/conduits/calendar/calendar-conduit-config.h
@@ -42,6 +42,8 @@ struct _ECalConduitCfg {
static void
calconduit_load_configuration (ECalConduitCfg **c, guint32 pilot_id)
{
+ GnomePilotConduitManagement *management;
+ GnomePilotConduitConfig *config;
gchar prefix[256];
g_snprintf (prefix, 255, "/gnome-pilot.d/e-calendar-conduit/Pilot_%u/",
pilot_id);
@@ -49,14 +51,21 @@ calconduit_load_configuration (ECalConduitCfg **c, guint32 pilot_id)
*c = g_new0 (ECalConduitCfg,1);
g_assert (*c != NULL);
+ (*c)->pilot_id = pilot_id;
+
+ management = gnome_pilot_conduit_management_new ("ECalendar", GNOME_PILOT_CONDUIT_MGMT_NAME);
+ config = gnome_pilot_conduit_config_new (management, pilot_id);
+ if (!gnome_pilot_conduit_config_is_enabled (config, &(*c)->sync_type))
+ (*c)->sync_type = GnomePilotConduitSyncTypeNotSet;
+ gtk_object_unref (GTK_OBJECT (config));
+ gtk_object_unref (GTK_OBJECT (management));
+
+ /* Custom settings */
gnome_config_push_prefix (prefix);
+
(*c)->open_secret = gnome_config_get_bool ("open_secret=FALSE");
- /* set in capplets main */
- (*c)->sync_type = GnomePilotConduitSyncTypeCustom;
gnome_config_pop_prefix ();
-
- (*c)->pilot_id = pilot_id;
}
#endif
diff --git a/calendar/conduits/calendar/calendar-conduit.c b/calendar/conduits/calendar/calendar-conduit.c
index f619d19ed6..db50409d4b 100644
--- a/calendar/conduits/calendar/calendar-conduit.c
+++ b/calendar/conduits/calendar/calendar-conduit.c
@@ -1057,7 +1057,10 @@ pre_sync (GnomePilotConduit *conduit,
g_free (buf);
check_for_slow_setting (conduit, ctxt);
-
+ if (ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyToPilot
+ || ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyFromPilot)
+ ctxt->map->write_touched_only = TRUE;
+
return 0;
}
diff --git a/calendar/conduits/calendar/e-calendar.conduit.in b/calendar/conduits/calendar/e-calendar.conduit.in
index 86cfbeecba..759a577501 100644
--- a/calendar/conduits/calendar/e-calendar.conduit.in
+++ b/calendar/conduits/calendar/e-calendar.conduit.in
@@ -3,7 +3,7 @@
<name value="ECalendar"/>
<conduit-attribute name="description" value="Synchronizes Calendar with Evolution"/>
<conduit-attribute name="default-synctype" value="synchronize"/>
- <conduit-attribute name="valid-synctypes" value="synchronize copy_from_pilot copy_to_pilot merge_from_pilot merge_to_pilot"/>
+ <conduit-attribute name="valid-synctypes" value="synchronize copy_from_pilot copy_to_pilot"/>
<conduit-attribute name="settings" value="FALSE"/>
<conduit-attribute name="icon" value="@datadir@/images/evolution/conduits/48_evo-calendar-conduit.png"/>
</gnome-pilot-conduit>
diff --git a/calendar/conduits/todo/e-todo.conduit.in b/calendar/conduits/todo/e-todo.conduit.in
index 733c2105db..0dea4d7ae2 100644
--- a/calendar/conduits/todo/e-todo.conduit.in
+++ b/calendar/conduits/todo/e-todo.conduit.in
@@ -3,7 +3,7 @@
<name value="EToDo"/>
<conduit-attribute name="description" value="Synchronizes ToDo List with Evolution"/>
<conduit-attribute name="default-synctype" value="synchronize"/>
- <conduit-attribute name="valid-synctypes" value="synchronize copy_from_pilot copy_to_pilot merge_from_pilot merge_to_pilot"/>
+ <conduit-attribute name="valid-synctypes" value="synchronize copy_from_pilot copy_to_pilot"/>
<conduit-attribute name="settings" value="FALSE"/>
<conduit-attribute name="icon" value="@datadir@/images/evolution/conduits/48_evo-todo-conduit.png"/>
</gnome-pilot-conduit>
diff --git a/calendar/conduits/todo/todo-conduit-config.h b/calendar/conduits/todo/todo-conduit-config.h
index ca9f7c9cca..a96168a491 100644
--- a/calendar/conduits/todo/todo-conduit-config.h
+++ b/calendar/conduits/todo/todo-conduit-config.h
@@ -42,6 +42,8 @@ struct _EToDoConduitCfg {
static void
todoconduit_load_configuration (EToDoConduitCfg **c, guint32 pilot_id)
{
+ GnomePilotConduitManagement *management;
+ GnomePilotConduitConfig *config;
gchar prefix[256];
g_snprintf (prefix, 255, "/gnome-pilot.d/e-todo-conduit/Pilot_%u/",
pilot_id);
@@ -49,14 +51,21 @@ todoconduit_load_configuration (EToDoConduitCfg **c, guint32 pilot_id)
*c = g_new0 (EToDoConduitCfg,1);
g_assert (*c != NULL);
+ (*c)->pilot_id = pilot_id;
+
+ management = gnome_pilot_conduit_management_new ("EToDo", GNOME_PILOT_CONDUIT_MGMT_NAME);
+ config = gnome_pilot_conduit_config_new (management, pilot_id);
+ if (!gnome_pilot_conduit_config_is_enabled (config, &(*c)->sync_type))
+ (*c)->sync_type = GnomePilotConduitSyncTypeNotSet;
+ gtk_object_unref (GTK_OBJECT (config));
+ gtk_object_unref (GTK_OBJECT (management));
+
+ /* Custom settings */
gnome_config_push_prefix (prefix);
+
(*c)->open_secret = gnome_config_get_bool ("open_secret=FALSE");
- /* set in capplets main */
- (*c)->sync_type = GnomePilotConduitSyncTypeCustom;
gnome_config_pop_prefix ();
-
- (*c)->pilot_id = pilot_id;
}
#endif
@@ -112,9 +121,3 @@ todoconduit_destroy_configuration (EToDoConduitCfg **c)
#endif /* __TODO_CONDUIT_CONFIG_H__ */
-
-
-
-
-
-
diff --git a/calendar/conduits/todo/todo-conduit.c b/calendar/conduits/todo/todo-conduit.c
index 8bd153364d..1dac791862 100644
--- a/calendar/conduits/todo/todo-conduit.c
+++ b/calendar/conduits/todo/todo-conduit.c
@@ -759,7 +759,10 @@ pre_sync (GnomePilotConduit *conduit,
g_free (buf);
check_for_slow_setting (conduit, ctxt);
-
+ if (ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyToPilot
+ || ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyFromPilot)
+ ctxt->map->write_touched_only = TRUE;
+
return 0;
}