diff options
author | JP Rosevear <jpr@novell.com> | 2004-08-03 02:34:56 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2004-08-03 02:34:56 +0800 |
commit | 34752dbc1c400d03bfe04e4f4e856caca60ca5b7 (patch) | |
tree | 300794fd8c36ba8ff5213eabb386614c38239491 /e-util/e-pilot-util.c | |
parent | 30ffb7c72b2647a398a40e9284d98842c1c8de9b (diff) | |
download | gsoc2013-evolution-34752dbc1c400d03bfe04e4f4e856caca60ca5b7.tar.gz 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.c | 44 |
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); +} |