aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-pilot-util.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@novell.com>2004-08-03 02:34:56 +0800
committerJP Rosevear <jpr@src.gnome.org>2004-08-03 02:34:56 +0800
commit34752dbc1c400d03bfe04e4f4e856caca60ca5b7 (patch)
tree300794fd8c36ba8ff5213eabb386614c38239491 /e-util/e-pilot-util.c
parent30ffb7c72b2647a398a40e9284d98842c1c8de9b (diff)
downloadgsoc2013-evolution-34752dbc1c400d03bfe04e4f4e856caca60ca5b7.tar
gsoc2013-evolution-34752dbc1c400d03bfe04e4f4e856caca60ca5b7.tar.gz
gsoc2013-evolution-34752dbc1c400d03bfe04e4f4e856caca60ca5b7.tar.bz2
gsoc2013-evolution-34752dbc1c400d03bfe04e4f4e856caca60ca5b7.tar.lz
gsoc2013-evolution-34752dbc1c400d03bfe04e4f4e856caca60ca5b7.tar.xz
gsoc2013-evolution-34752dbc1c400d03bfe04e4f4e856caca60ca5b7.tar.zst
gsoc2013-evolution-34752dbc1c400d03bfe04e4f4e856caca60ca5b7.zip
find the source with the pilot-sync property (e_pilot_set_sync_source):
2004-08-01 JP Rosevear <jpr@novell.com> * e-pilot-util.c (e_pilot_get_sync_source): find the source with the pilot-sync property (e_pilot_set_sync_source): give the source the pilot-sync property and make sure its the only one * e-pilot-util.h: add prototypes * Makefile.am (eutilincludedir): don't build pilot settings svn path=/trunk/; revision=26800
Diffstat (limited to 'e-util/e-pilot-util.c')
-rw-r--r--e-util/e-pilot-util.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/e-util/e-pilot-util.c b/e-util/e-pilot-util.c
index 7ce6f3cbdc..7d82ef290b 100644
--- a/e-util/e-pilot-util.c
+++ b/e-util/e-pilot-util.c
@@ -61,3 +61,47 @@ e_pilot_utf8_from_pchar (const char *string)
return ustring;
}
+
+ESource *
+e_pilot_get_sync_source (ESourceList *source_list)
+{
+ GSList *g;
+
+ g_return_val_if_fail (source_list != NULL, NULL);
+ g_return_val_if_fail (E_IS_SOURCE_LIST (source_list), NULL);
+
+ for (g = e_source_list_peek_groups (source_list); g; g = g->next) {
+ ESourceGroup *group = E_SOURCE_GROUP (g->data);
+ GSList *s;
+
+ for (s = e_source_group_peek_sources (group); s; s = s->next) {
+ ESource *source = E_SOURCE (s->data);
+
+ if (e_source_get_property (source, "pilot-sync"))
+ return source;
+ }
+ }
+
+ return NULL;
+}
+
+void
+e_pilot_set_sync_source (ESourceList *source_list, ESource *source)
+{
+ GSList *g;
+
+ g_return_if_fail (source_list != NULL);
+ g_return_if_fail (E_IS_SOURCE_LIST (source_list));
+
+ for (g = e_source_list_peek_groups (source_list); g; g = g->next) {
+ GSList *s;
+ for (s = e_source_group_peek_sources (E_SOURCE_GROUP (g->data));
+ s; s = s->next) {
+ e_source_set_property (E_SOURCE (s->data), "pilot-sync", NULL);
+ }
+ }
+
+ if (source)
+ e_source_set_property (source, "pilot-sync", "true");
+ e_source_list_sync (source_list, NULL);
+}