# Generated by configure. Do no edit.
+2009-08-12 Patrick Ohly <patrick.ohly@gmx.de>
+
+ * Makefile-gen.am:
+
+ build: pick right name when copying rpm
+
+2009-08-12 Patrick Ohly <patrick.ohly@gmx.de>
+
+
+ Merge commit 'origin/moblin-transifex'
+
+2009-08-12 Patrick Ohly <patrick.ohly@gmx.de>
+
+ * NEWS:
+ * configure-pre.in:
+
+ updated NEWS for 0.9 and bumped version to 0.9
+
+2009-08-12 Patrick Ohly <patrick.ohly@gmx.de>
+
+ * NEWS:
+
+ NEWS: list GUI fixes 0.9 beta 3 -> final
+
+2009-08-12 Jussi Kukkonen <jku@linux.intel.com>
+
+ * src/gtk-ui/ui.glade:
+
+ dbus client: minor layout fix for fatal error situation
+
+2009-08-11 Jussi Kukkonen <jku@linux.intel.com>
+
+ * src/dbus/syncevo-dbus.c:
+
+ dbus client lib: fix error functions
+
+2009-08-11 Jussi Kukkonen <jku@linux.intel.com>
+
+ * src/syncevo-dbus-server.cpp:
+
+ dbus server: copy template configuration in a sane way
+
+2009-08-11 Jussi Kukkonen <jku@linux.intel.com>
+
+ * src/gtk-ui/sync-ui.rc:
+
+ remove workaround for invisible tooltips
+
+2009-08-03 Jussi Kukkonen <jku@linux.intel.com>
+
+ * src/gtk-ui/sync.desktop.in:
+
+ add StartupNotify to desktop file
+
+2009-08-11 Patrick Ohly <patrick.ohly@gmx.de>
+
+ * configure-pre.in:
+
+ version bumped to 0.8.1+0.9+beta3+20090811
+
+2009-08-11 Patrick Ohly <patrick.ohly@gmx.de>
+
+ * NEWS:
+ * test/README.scheduleworld:
+
+ NEWS + README.scheduleworld: updated for 0.9
+
+2009-08-07 Patrick Ohly <patrick.ohly@gmx.de>
+
+ * Makefile-gen.am:
+
+ autotools: must include m4-repo in search path (Bugzilla #5061)
+
+2009-08-11 Patrick Ohly <patrick.ohly@intel.com>
+
+ * Makefile-gen.am:
+
+ build: fixed RPM creation
+
+2009-08-05 Patrick Ohly <patrick.ohly@intel.com>
+
+ * NEWS:
+
+ NEWS: remember to write about https
+
+2009-08-05 Patrick Ohly <patrick.ohly@intel.com>
+
+ * test/README.scheduleworld:
+
+ README.scheduleworld: removed section on delete/update conflicts
+
+2009-08-08 auke <auke-jan.h.kok@intel.com>
+
+ * po/nl.po:
+
+ Updates to Dutch (Flemish) (nl) translation
+
+2009-08-04 Chen Congwu <congwu.chen@intel.com>
+
+ * src/client-test-app.cpp:
+ * test/ClientTest.cpp:
+ * test/ClientTest.h:
+
+ Testing: use server default configuration when init test configs.
+
+2009-08-05 auke <auke-jan.h.kok@intel.com>
+
+ * po/nl.po:
+
+ Dutch
+
+2009-08-05 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/syncevo-dbus-server.cpp:
+
+ compiler error: constness and strstr (Bugzilla #5061)
+
+2009-07-31 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/sv.po:
+
+ Updates to Swedish (sv) translation
+
+2009-07-31 Patrick Ohly <patrick.ohly@intel.com>
+
+ * test/README.scheduleworld:
+
+ README.scheduleworld: updated remark about client delete/server
+ update conflict (Bugzilla #4369)
+
+2009-07-30 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/fr.po:
+
+ Updates to French (fr) translation
+
+2009-07-30 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/zh_TW.po:
+
+ Updates to Chinese (Taiwan) (zh_TW) translation
+
+2009-07-30 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/es.po:
+
+ Updates to Spanish (Castilian) (es) translation
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+ * configure-pre.in:
+
+ bumped version to 0.8.1+0.9+beta3+20090730
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/DBusSyncClient.cpp:
+ * src/core/EvolutionSyncClient.cpp:
+ * src/core/EvolutionSyncSource.cpp:
+ * src/core/EvolutionSyncSource.h:
+ * test/ClientTest.cpp:
+ * test/ClientTest.h:
+
+ sync statistics: count items deleted during refresh-from-server
+ (Bugzilla #3314)
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/syncevo-dbus-server.cpp:
+
+ D-Bus server: added dbus_g_thread_init()
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/syncevo-dbus-server.cpp:
+
+ D-Bus server: avoid potential crash in type handling (Bugzilla
+ #4921)
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/dbus/syncevo-dbus.c:
+
+ GTK-UI: crash due to use-after-free in error case (Bugzilla
+ #4919)
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/gtk-ui/Makefile.am:
+
+ GTK-UI Makefile: use libsyncevo-dbus.la instead of -lsyncevo-dbus
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+
+ Merge commit 'origin/moblin-transifex'
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+ * test/client-test-main.cpp:
+
+ Testing: keep synccompare error output (____compare.log) around
+
+2009-07-24 Chen Congwu <congwu.chen@intel.com>
+
+ * test/ClientTest.cpp:
+ * test/client-test-main.cpp:
+
+ Testing: let synccompare error output go to corresponding case
+ log file.
+
+2009-07-29 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/syncclient_sample_config.xml:
+
+ calendar support: sanitize incoming EXDATEs (Bugzilla #4457)
+
+2009-07-29 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/pl.po:
+
+ Updates to Polish (pl) translation
+
+2009-07-28 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/gtk-ui/sync-ui.c:
+
+ GTK GUI: the 'your SyncML server account name' string was still
+ shown in once case (Bugzilla #4273)
+
+2009-07-28 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/core/EvolutionSyncClient.cpp:
+
+ logging: enable time stamping for all log entries
+
+2009-07-28 ZhuYanhai <zhu.yanhai@gmail.com>
+
+ * po/zh_CN.po:
+
+ Updates to Chinese (China) (zh_CN) translation
+
+2009-07-28 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/fi.po:
+
+ Updates to Finnish (fi) translation
+
+2009-07-27 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/sv.po:
+
+ Updates to Swedish (sv) translation
+
+2009-07-27 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/pt_BR.po:
+
+ Updates to Brazilian Portuguese (pt_BR) translation
+
+2009-07-27 Patrick Ohly <patrick.ohly@intel.com>
+
+ * configure-pre.in:
+
+ bumped version to 0.8.1+0.9+beta3+20090727
+
+2009-07-27 Patrick Ohly <patrick.ohly@intel.com>
+
+
+ Merge commit 'origin/moblin-transifex'
+
+2009-07-27 Patrick Ohly <patrick.ohly@intel.com>
+
+ * Makefile-gen.am:
+
+ packaging: don't include development files in binary packages
+ (Bugzilla #4754)
+
+2009-07-27 Patrick Ohly <patrick.ohly@intel.com>
+
+ * configure-pre.in:
+ * src/gtk-ui/Makefile.am:
+
+ build: --enable-gui=all (Bugzilla #4753)
+
+2009-07-27 Patrick Ohly <patrick.ohly@intel.com>
+
+ * test/README.scheduleworld:
+
+ testing: document known issues with ScheduleWorld (#4369)
+
+2009-07-26 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/fi.po:
+
+ Updates to Finnish (fi) translation
+
+2009-07-25 Patrick Ohly <patrick.ohly@intel.com>
+
+ * test/ClientTest.cpp:
+ * test/ClientTest.h:
+
+ testing: added testSlowSyncSemantic
+
+2009-07-25 tomasgalicia <tomas.galicia@intel.com>
+
+ * po/es.po:
+
+ Updates to Spanish (Castilian) (es) translation
+
+2009-07-24 GLSJPN_Yukari <yukarix.yamashita@intel.com>
+
+ * po/ko.po:
+
+ Updates to Korean (ko) translation
+
2009-07-24 Patrick Ohly <patrick.ohly@intel.com>
## Process this file with automake to produce Makefile.in
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 -I m4-repo
SUBDIRS = src po test
TEST_README_FILES = $(wildcard $(srcdir)/test/README.*)
+DEV_FILE_PATTERN = $(1)/usr/etc $(1)/usr/include $(1)/usr/lib/*.so $(1)/usr/lib/*.a $(1)/usr/lib/*.la $(1)/usr/lib/*/*.la $(1)/usr/lib/pkgconfig
+
# binary distribution as .tar.gz
if COND_DBUS
# when building with D-Bus, we have no choice: the service has to go into /usr
@ [ "$(prefix)" == "/usr" ] || (echo "please reconfigure with --prefix=/usr"; exit 1 )
rm -rf $(distdir)
$(MAKE) DESTDIR=`pwd`/$(distdir) install
- rm -rf $(distdir)/usr/etc
+ rm -rf $(call DEV_FILE_PATTERN, $(distdir))
mkdir -p $(distdir)/usr/share/doc/syncevolution
cp $(srcdir)/INSTALL-tar-gz $(distdir)/INSTALL
cp $(srcdir)/README $(srcdir)/NEWS $(srcdir)/COPYING $(TEST_README_FILES) $(distdir)/usr/share/doc/syncevolution
@ [ "$(BINSUFFIX)" ] || (echo "please invoke with e.g. 'make distbin BINSUFFIX=debian-3.1'"; exit 1 )
rm -rf $(distdir)
$(MAKE) prefix=`pwd`/$(distdir) install
+ rm -rf $(call DEV_FILE_PATTERN, $(distdir))
cp $(srcdir)/README $(srcdir)/NEWS $(srcdir)/COPYING $(TEST_README_FILES) $(distdir)
tar zcf $(distdir)-$(BINSUFFIX).tar.gz $(distdir)
rm -rf $(distdir)
--pkgaltsource='http://www.estamos.de/projects/SyncML/' \
--pkggroup='gnome' \
--docdir=":$$docdir" cp -r `pwd`/$</usr/* /usr
+ if [ $@ == "rpm" ]; then cp /usr/src/rpm/RPMS/*/${PKGNAME}-${VERSION}-2.*.rpm .; fi
.PHONY: dist/$(distdir) clean_dist
dist/$(distdir): all
rm -rf $@
$(MAKE) install DESTDIR=`pwd`/$@
- rm -rf $@/usr/etc $@/usr/include
- find $@ -name *.la -o -name *.so -delete
+ rm -rf $(call DEV_FILE_PATTERN, $@)
clean-local: clean_dist
clean_dist:
rm -rf dist doc-pak description-pak
## Process this file with automake to produce Makefile.in
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 -I m4-repo
SUBDIRS = src po test
TEST_README_FILES = $(wildcard $(srcdir)/test/README.*)
+DEV_FILE_PATTERN = $(1)/usr/etc $(1)/usr/include $(1)/usr/lib/*.so $(1)/usr/lib/*.a $(1)/usr/lib/*.la $(1)/usr/lib/*/*.la $(1)/usr/lib/pkgconfig
+
# binary distribution as .tar.gz
if COND_DBUS
# when building with D-Bus, we have no choice: the service has to go into /usr
@ [ "$(prefix)" == "/usr" ] || (echo "please reconfigure with --prefix=/usr"; exit 1 )
rm -rf $(distdir)
$(MAKE) DESTDIR=`pwd`/$(distdir) install
- rm -rf $(distdir)/usr/etc
+ rm -rf $(call DEV_FILE_PATTERN, $(distdir))
mkdir -p $(distdir)/usr/share/doc/syncevolution
cp $(srcdir)/INSTALL-tar-gz $(distdir)/INSTALL
cp $(srcdir)/README $(srcdir)/NEWS $(srcdir)/COPYING $(TEST_README_FILES) $(distdir)/usr/share/doc/syncevolution
@ [ "$(BINSUFFIX)" ] || (echo "please invoke with e.g. 'make distbin BINSUFFIX=debian-3.1'"; exit 1 )
rm -rf $(distdir)
$(MAKE) prefix=`pwd`/$(distdir) install
+ rm -rf $(call DEV_FILE_PATTERN, $(distdir))
cp $(srcdir)/README $(srcdir)/NEWS $(srcdir)/COPYING $(TEST_README_FILES) $(distdir)
tar zcf $(distdir)-$(BINSUFFIX).tar.gz $(distdir)
rm -rf $(distdir)
--pkgaltsource='http://www.estamos.de/projects/SyncML/' \
--pkggroup='gnome' \
--docdir=":$$docdir" cp -r `pwd`/$</usr/* /usr
+ if [ $@ == "rpm" ]; then cp /usr/src/rpm/RPMS/*/${PKGNAME}-${VERSION}-2.*.rpm .; fi
.PHONY: dist/$(distdir) clean_dist
dist/$(distdir): all
rm -rf $@
$(MAKE) install DESTDIR=`pwd`/$@
- rm -rf $@/usr/etc $@/usr/include
- find $@ -name *.la -o -name *.so -delete
+ rm -rf $(call DEV_FILE_PATTERN, $@)
clean-local: clean_dist
clean_dist:
rm -rf dist doc-pak description-pak
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
target_alias = @target_alias@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 -I m4-repo
SUBDIRS = src po test
EXTRA_DIST = \
HACKING \
MAINTAINERCLEANFILES = Makefile.in config.h.in config.guess config.sub configure depcomp install-sh ltmain.sh missing mkinstalldirs
CLEANFILES =
TEST_README_FILES = $(wildcard $(srcdir)/test/README.*)
+DEV_FILE_PATTERN = $(1)/usr/etc $(1)/usr/include $(1)/usr/lib/*.so $(1)/usr/lib/*.a $(1)/usr/lib/*.la $(1)/usr/lib/*/*.la $(1)/usr/lib/pkgconfig
IPHONE_FILENAME = syncevolution-$(VERSION)-iphone.zip
TYPE_deb = -D
TYPE_rpm = -R
@COND_DBUS_TRUE@ @ [ "$(prefix)" == "/usr" ] || (echo "please reconfigure with --prefix=/usr"; exit 1 )
@COND_DBUS_TRUE@ rm -rf $(distdir)
@COND_DBUS_TRUE@ $(MAKE) DESTDIR=`pwd`/$(distdir) install
-@COND_DBUS_TRUE@ rm -rf $(distdir)/usr/etc
+@COND_DBUS_TRUE@ rm -rf $(call DEV_FILE_PATTERN, $(distdir))
@COND_DBUS_TRUE@ mkdir -p $(distdir)/usr/share/doc/syncevolution
@COND_DBUS_TRUE@ cp $(srcdir)/INSTALL-tar-gz $(distdir)/INSTALL
@COND_DBUS_TRUE@ cp $(srcdir)/README $(srcdir)/NEWS $(srcdir)/COPYING $(TEST_README_FILES) $(distdir)/usr/share/doc/syncevolution
@COND_DBUS_FALSE@ @ [ "$(BINSUFFIX)" ] || (echo "please invoke with e.g. 'make distbin BINSUFFIX=debian-3.1'"; exit 1 )
@COND_DBUS_FALSE@ rm -rf $(distdir)
@COND_DBUS_FALSE@ $(MAKE) prefix=`pwd`/$(distdir) install
+@COND_DBUS_FALSE@ rm -rf $(call DEV_FILE_PATTERN, $(distdir))
@COND_DBUS_FALSE@ cp $(srcdir)/README $(srcdir)/NEWS $(srcdir)/COPYING $(TEST_README_FILES) $(distdir)
@COND_DBUS_FALSE@ tar zcf $(distdir)-$(BINSUFFIX).tar.gz $(distdir)
@COND_DBUS_FALSE@ rm -rf $(distdir)
--pkgaltsource='http://www.estamos.de/projects/SyncML/' \
--pkggroup='gnome' \
--docdir=":$$docdir" cp -r `pwd`/$</usr/* /usr
+ if [ $@ == "rpm" ]; then cp /usr/src/rpm/RPMS/*/${PKGNAME}-${VERSION}-2.*.rpm .; fi
.PHONY: dist/$(distdir) clean_dist
dist/$(distdir): all
rm -rf $@
$(MAKE) install DESTDIR=`pwd`/$@
- rm -rf $@/usr/etc $@/usr/include
- find $@ -name *.la -o -name *.so -delete
+ rm -rf $(call DEV_FILE_PATTERN, $@)
clean-local: clean_dist
clean_dist:
rm -rf dist doc-pak description-pak
+SyncEvolution 0.8.1 -> 0.9, 12.08.2009
+--------------------------------------
+Synthesis SyncML Engine version: see src/synthesis/ChangeLog
+
+This is a major new release, with first steps towards further improvements.
+From this release on, the Synthesis SyncML engine will be the
+underlying SyncML and data conversion engine.
+
+A native GTK GUI is now included. The "sync-ui" program depends on a
+backend D-Bus service ("synevo-dbus-server") and several auxiliary
+files. Therefore, it only runs without hacks after installation in
+/usr (possible with .deb, .rpm and binary .tar.gz archives, and
+with "sudo make install", after compiling from source). The
+normal command line tool still works without being installed.
+
+In this release, the data handling model was changed from "all items
+are sent verbatim to the SyncML server" to "parse and convert". The
+argument for the former approach was that the SyncML server should be
+the only entity in the system which does data conversion. The previous
+releases already had to deviate from this approach to accommodate for
+minor client/server incompatibilities and for vCard 2.1 support, so the
+new approach just takes it one step further.
+
+The main reason for going to full semantic conversion is vCalendar 1.0
+support. Support by servers for iCalendar 2.0, the only format
+supported by 0.8.1, is often still incomplete or even non-existent. By
+doing the conversion on the client side, SyncEvolution is now able to
+synchronize events and tasks with a wider variety of servers.
+
+It is still true that properties not supported by a server cannot
+be synchronized to other devices, so using a server with full
+iCalendar 2.0 support is recommended. But in contrast to 0.8.1,
+information that can be stored only locally is no longer lost when
+receiving an incomplete update from the SyncML server, thanks to
+intelligent merging, provided by the Synthesis engine. This depends on
+an accurate description of the server's capabilities, which might not
+be provided by all of them. This still needs to be tested in more detail.
+
+Interoperability with servers tested extensively in this release.
+The following servers are now supported:
+
+* ScheduleWorld. There is very complete support for Evolution data. The
+ only known issues are around resuming from an interrupted sync.
+
+* Google contact sync.
+
+ Google follows the vCard 2.1 specification, and thus does not support
+ some of the vCard 3.0 additions, nor some of the common extensions. As
+ a result, several properties are not synchronized (nickname, birthday,
+ spouse/manager, URLs, ...). Only one top-level organization seems to
+ be supported. For details, see README.google.
+
+ Regarding Google's SyncML support, refresh-from-client and
+ one-way-from-client sync modes are not supported. Deleting contacts
+ moves them out of the main address without deleting them permanently. When
+ adding such a contact again, the server discards the data sent by the
+ client and recreates the contact with the data that it remembered.
+
+ Because SSL certificate checking for Google works only with libsoup
+ if the platform has a patched libsoup
+ (http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >=
+ 2.28, certificate checking remains turned off by default for
+ Google. If your platform has a suitable libsoup (like Moblin 2.0),
+ then enable checking with:
+
+ syncevolution --configure \
+ --sync-property SSLVerifyServer=true \
+ --sync-property SSLVerifyHost=true \
+ google
+
+* Funambol, with calendar and task support. Funambol supports iCalendar 2.0
+ in the current server, so this is enabled in the configuration template.
+ Not all iCalendar 2.0 features are supported by the server,
+ most notably support for meetings (drops attendees), meeting
+ invitations (drops UID), detached recurrences
+ (drops RECURRENCE-ID). See README.funambol for details.
+
+ Interoperability with the Funambol server was improved by adding
+ support for some vCard extensions (X-MANAGER/ASSISTANT/SPOUSE/ANNIVERSARY,
+ #2418). Lost ACTION property has a work around (#2422).
+
+ To enable that support in an existing configuration so that it
+ exchanges items in the more suitable iCalendar 2.0 format, use:
+
+ syncevolution --configure --source-type sync=two-way \
+ funambol calendar todo
+ syncevolution --configure --source-type type='calendar:text/calendar!' \
+ funambol calendar
+ syncevolution --configure --source-type type='todo:text/calendar!' \
+ funambol todo
+
+ Without the exclamation mark, format auto-negotiation would pick the
+ less capable vCalendar 1.0 format because that is marked as preferred
+ by the server.
+
+
+*** WARNING ***: After switching from a previous release to the
+current one, or vice versa, do a "syncevolution --sync
+refresh-from-server" or "--sync refresh-from-client" (depending on
+which side has the authoritative copy of the data) once, to get client
+and server into a consistent state. Not doing so can result in
+applying the same changes to the server multiple times, and thus
+duplicates.
+
+Other changes in detail:
+
+* vCalendar 1.0 is now supported.
+
+* Both libcurl and libsoup can be selected at compile time as HTTP(S)
+ transport mechanism.
+
+* SF #2101015: Expect: 100-continue header results in 417 Error with proxy.
+ Should no longer occur with the HTTP transports in this release.
+
+* SF #1874805: Syncing with Funambol results in loosing all-day property.
+ This now works thanks to the Synthesis data conversion rules.
+
+* SF #2586600: Synchronisation with mobical.net fails in 0.8.1.
+ Works now, but there are some known issues (Bugzilla #3009)
+ and therefore mobical.net is not officially supported yet.
+
+* SF #2542968: Separator for categories should not be escaped.
+ Done correctly by the Synthesis vcard conversion.
+
+* bug fix: Evolution notes with only a summary and no description were
+ not sent correctly to the server. Instead of sending the summary,
+ an empty text was sent.
+
+* CTRL-C no longer kills SyncEvolution right away. Instead it
+ asks the server to suspend the session. If that takes too
+ long, then pressing CTRL-C twice quickly will abort the sync
+ without waiting for the server (Warning, this may lead to a
+ slow sync in the next session).
+
+* WBXML is enabled by default now, except for Funambol (#2415).
+ Using WBXML reduces message sizes and increases parsing
+ performance.
+
+* New configuration templates can be added to
+ /etc/default/applications/syncevolution. These templates may contain
+ icons, which are used by the GUI (no icons shipped right now).
+
+* Information about previous synchronization sessions is now stored in a
+ machine-readable format and can be accessed using the new
+ --print-sessions options. The output of this information is more
+ complete and more nicely formatted.
+
+* --status now shows not only data changes since the last sync, but also
+ item changes (see README for the difference between the two).
+
+* The new --restore option allows restoring local data to the state as
+ it was before or after a sync. For this to work, "logdir" must be set
+ (done by default for new configurations). The format of database dumps
+ was changed to implement this feature. Instead of in a flat file,
+ items are now saved as individual files in a directory. To get the
+ previous format back (for example, to import as one .vcf or .ics file
+ manually) concatenate these files.
+
+* With –-remove, one can remove configurations. It leaves data files and
+ the local databases untouched.
+
+
+Known issues:
+
+* The GUI includes the number of locally deleted items during a
+ refresh-from-server sync in the number of "received changes"
+ (#5185), which is a bit misleading. This is a result of #3314,
+ which introduced changes not "received" from the server.
+
+* When a network error occurs and the client
+ never notices that the connection to the server was lost,
+ it will hang forever, waiting for the server's reply (#3427).
+
+* The file backend now works only for data formats understood
+ by SyncEvolution and the Synthesis engine. Items are parsed
+ when exchanging them among the backend, engine, and server,
+ in contrast to 0.8.1, where item content was not touched
+ locally (#5046).
+
+* The ZYB.com server sends conflicting sync anchors, so
+ most syncs don't work as expected (#2424).
+
+
+SyncEvolution 0.9 beta 3 hotfix -> 0.9 final, 12.08.2009
+--------------------------------------------------------
+
+Because SSL certificate checking for Google only works with libsoup if
+the platform has a patched libsoup
+(http://bugzilla.gnome.org/show_bug.cgi?id=589323) or libsoup >= 2.28,
+certificate checking remains turned off by default for Google. If your
+platform has a suitable libsoup (like Moblin 2.0), then enable
+checking with:
+
+ syncevolution --configure \
+ --sync-property SSLVerifyServer=true \
+ --sync-property SSLVerifyHost=true \
+ google
+
+Only minor changes:
+* updated translations
+* refresh-from-server syncs now report how many items were
+ deleted locally at the start of the sync (Bugzilla #3314).
+ The GUI includes the number of locally deleted items during a
+ refresh-from-server sync in the number of "received changes",
+ which is a bit misleading (#5185).
+* fixed build issue on Fedora 11/g++ 4.4 (Bugzilla #5061)
+* some build and test improvements
+* proper fix for D-Bus error functions (#4919)
+* improve sync-ui startup time by avoiding an unnecessary
+ copying of the sync config into itself (#5021)
+* adapted tooltip style (used for SyncML server links) to new
+ Moblin theme, they weren't visible earlier (#5017)
+* notify zone selector in Moblin 2.0 about sync-ui startup (#4752)
+* sync-ui: minor layout change for fatal error situation
+
+
SyncEvolution 0.9 beta 3 -> 0.9 beta 3 hotfix, 23.07.2009
---------------------------------------------------------
The main reason for going to full semantic conversion is vCalendar 1.0
support. Support by servers for iCalendar 2.0, the only format
-supported by 0.8.1, is often still incomplete or even non-existant. By
+supported by 0.8.1, is often still incomplete or even non-existent. By
doing the conversion on the client side, SyncEvolution is now able to
synchronize events and tasks with a wider variety of servers.
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for syncevolution 0.8.1+0.9+beta3+20090723.
+# Generated by GNU Autoconf 2.61 for syncevolution 0.9.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Identity of this package.
PACKAGE_NAME='syncevolution'
PACKAGE_TARNAME='syncevolution'
-PACKAGE_VERSION='0.8.1+0.9+beta3+20090723'
-PACKAGE_STRING='syncevolution 0.8.1+0.9+beta3+20090723'
+PACKAGE_VERSION='0.9'
+PACKAGE_STRING='syncevolution 0.9'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
MKINSTALLDIRS
SYNCEVOLUTION_LOCALEDIR
GETTEXT_PACKAGE
+GUI_PROGRAMS
+GUI_DESKTOP_FILES
CXX
CXXFLAGS
ac_ct_CXX
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures syncevolution 0.8.1+0.9+beta3+20090723 to adapt to many kinds of systems.
+\`configure' configures syncevolution 0.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of syncevolution 0.8.1+0.9+beta3+20090723:";;
+ short | recursive ) echo "Configuration of syncevolution 0.9:";;
esac
cat <<\_ACEOF
--enable-libcurl enable libcurl as transport layer
--enable-libsoup enable libsoup as transport layer
--enable-gui=gui type enables building the GTK+ UI that uses the
- SyncEvolution DBus API. Options: gtk, moblin. "gtk"
- is the default for --enable-gui without type. No GUI
- is built when --enable-gui is not used. --enable-gui
+ SyncEvolution DBus API. Options: gtk, moblin, all
+ (builds sync-ui-gtk and sync-ui-moblin) "gtk" is the
+ default for --enable-gui without type. No GUI is
+ built when --enable-gui is not used. --enable-gui
implies --enable-dbus.
--enable-dbus-service enables building the dbus service executable and the
wrapper library for it
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-syncevolution configure 0.8.1+0.9+beta3+20090723
+syncevolution configure 0.9
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by syncevolution $as_me 0.8.1+0.9+beta3+20090723, which was
+It was created by syncevolution $as_me 0.9, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
# Define the identity of the package.
PACKAGE='syncevolution'
- VERSION='0.8.1+0.9+beta3+20090723'
+ VERSION='0.9'
cat >>confdefs.h <<_ACEOF
enable_gui=moblin
elif test "$enableval" = "no" ; then
enable_gui=no
+ elif test "$enableval" = "all" ; then
+ enable_gui=all
else
{ { echo "$as_me:$LINENO: error: Unknown gui type: '$enableval'" >&5
echo "$as_me: error: Unknown gui type: '$enableval'" >&2;}
_ACEOF
+# decide which sync-ui(s) we are building:
+# sync-ui (in either GTK or Moblin mode) or both (in separate binaries)
+case $enable_gui in
+ all) GUI_PROGRAMS='sync-ui-gtk${EXEEXT} sync-ui-moblin${EXEEXT}'; GUI_DESKTOP_FILES="sync-gtk.desktop sync-moblin.desktop";;
+ gtk|moblin) GUI_PROGRAMS='sync-ui${EXEEXT}'; GUI_DESKTOP_FILES="sync.desktop";;
+ no) GUI_PROGRAMS=; GUI_DESKTOP_FILES=;;
+ *) { { echo "$as_me:$LINENO: error: Unknown enable_gui type: '$enable_gui'" >&5
+echo "$as_me: error: Unknown enable_gui type: '$enable_gui'" >&2;}
+ { (exit 1); exit 1; }; }
+esac
+
if test $enable_gui != "no"; then
gui_modules="glib-2.0 dbus-glib-1 >= 0.60 gtk+-2.0 libglade-2.0 gconf-2.0 gio-2.0 gnome-keyring-1"
+
+
# Boost headers: boost/foreach.hpp is needed (1.33/Debian Etch
# doesn't have it, 1.34/Ubuntu 8.10 Hardy does). 1.35 is available
# as Debian Etch backport.
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 11243 "configure"' > conftest.$ac_ext
+ echo '#line 11261 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13348: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13366: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13352: \$? = $ac_status" >&5
+ echo "$as_me:13370: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13638: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13656: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13642: \$? = $ac_status" >&5
+ echo "$as_me:13660: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13742: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13760: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13746: \$? = $ac_status" >&5
+ echo "$as_me:13764: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 16119 "configure"
+#line 16137 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 16219 "configure"
+#line 16237 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:18620: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:18638: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:18624: \$? = $ac_status" >&5
+ echo "$as_me:18642: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:18724: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:18742: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:18728: \$? = $ac_status" >&5
+ echo "$as_me:18746: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:20322: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:20340: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:20326: \$? = $ac_status" >&5
+ echo "$as_me:20344: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:20426: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:20444: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:20430: \$? = $ac_status" >&5
+ echo "$as_me:20448: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:22646: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:22664: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:22650: \$? = $ac_status" >&5
+ echo "$as_me:22668: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:22936: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:22954: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:22940: \$? = $ac_status" >&5
+ echo "$as_me:22958: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:23040: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:23058: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:23044: \$? = $ac_status" >&5
+ echo "$as_me:23062: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by syncevolution $as_me 0.8.1+0.9+beta3+20090723, which was
+This file was extended by syncevolution $as_me 0.9, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-syncevolution config.status 0.8.1+0.9+beta3+20090723
+syncevolution config.status 0.9
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
MKINSTALLDIRS!$MKINSTALLDIRS$ac_delim
SYNCEVOLUTION_LOCALEDIR!$SYNCEVOLUTION_LOCALEDIR$ac_delim
GETTEXT_PACKAGE!$GETTEXT_PACKAGE$ac_delim
+GUI_PROGRAMS!$GUI_PROGRAMS$ac_delim
+GUI_DESKTOP_FILES!$GUI_DESKTOP_FILES$ac_delim
CXX!$CXX$ac_delim
CXXFLAGS!$CXXFLAGS$ac_delim
ac_ct_CXX!$ac_ct_CXX$ac_delim
build_cpu!$build_cpu$ac_delim
build_vendor!$build_vendor$ac_delim
build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
host_vendor!$host_vendor$ac_delim
host_os!$host_os$ac_delim
SED!$SED$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 20; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 22; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
dnl -*- mode: Autoconf; -*-
dnl Invoke autogen.sh to produce a configure script.
-AC_INIT([syncevolution], [0.8.1+0.9+beta3+20090723])
+AC_INIT([syncevolution], [0.9])
AM_INIT_AUTOMAKE([tar-ustar])
AC_CONFIG_MACRO_DIR([m4])
define([SYNTHESISSRC_REPO], [])
AC_ARG_ENABLE(gui,
AS_HELP_STRING([--enable-gui[=gui type]],
[enables building the GTK+ UI that uses the SyncEvolution DBus API.
- Options: gtk, moblin.
+ Options: gtk, moblin, all (builds sync-ui-gtk and sync-ui-moblin)
"gtk" is the default for --enable-gui without type. No GUI is
built when --enable-gui is not used.
--enable-gui implies --enable-dbus.]),
enable_gui=moblin
elif test "$enableval" = "no" ; then
enable_gui=no
+ elif test "$enableval" = "all" ; then
+ enable_gui=all
else
AC_ERROR([Unknown gui type: '$enableval'])
fi
AC_SUBST(DBUS_SERVICES_DIR)
AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Location of D-Bus services directory])
+# decide which sync-ui(s) we are building:
+# sync-ui (in either GTK or Moblin mode) or both (in separate binaries)
+case $enable_gui in
+ all) GUI_PROGRAMS='sync-ui-gtk${EXEEXT} sync-ui-moblin${EXEEXT}'; GUI_DESKTOP_FILES="sync-gtk.desktop sync-moblin.desktop";;
+ gtk|moblin) GUI_PROGRAMS='sync-ui${EXEEXT}'; GUI_DESKTOP_FILES="sync.desktop";;
+ no) GUI_PROGRAMS=; GUI_DESKTOP_FILES=;;
+ *) AC_ERROR([Unknown enable_gui type: '$enable_gui'])
+esac
+
if test $enable_gui != "no"; then
gui_modules="glib-2.0 dbus-glib-1 >= 0.60 gtk+-2.0 libglade-2.0 gconf-2.0 gio-2.0 gnome-keyring-1"
AC_SUBST(GETTEXT_PACKAGE)
AC_SUBST(GUI_CFLAGS)
AC_SUBST(GUI_LIBS)
+AC_SUBST(GUI_PROGRAMS)
+AC_SUBST(GUI_DESKTOP_FILES)
# Boost headers: boost/foreach.hpp is needed (1.33/Debian Etch
dnl -*- mode: Autoconf; -*-
dnl Invoke autogen.sh to produce a configure script.
-AC_INIT([syncevolution], [0.8.1+0.9+beta3+20090723])
+AC_INIT([syncevolution], [0.9])
AM_INIT_AUTOMAKE([tar-ustar])
AC_CONFIG_MACRO_DIR([m4])
define([SYNTHESISSRC_REPO], [])
AC_ARG_ENABLE(gui,
AS_HELP_STRING([--enable-gui[=gui type]],
[enables building the GTK+ UI that uses the SyncEvolution DBus API.
- Options: gtk, moblin.
+ Options: gtk, moblin, all (builds sync-ui-gtk and sync-ui-moblin)
"gtk" is the default for --enable-gui without type. No GUI is
built when --enable-gui is not used.
--enable-gui implies --enable-dbus.]),
enable_gui=moblin
elif test "$enableval" = "no" ; then
enable_gui=no
+ elif test "$enableval" = "all" ; then
+ enable_gui=all
else
AC_ERROR([Unknown gui type: '$enableval'])
fi
AC_SUBST(DBUS_SERVICES_DIR)
AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Location of D-Bus services directory])
+# decide which sync-ui(s) we are building:
+# sync-ui (in either GTK or Moblin mode) or both (in separate binaries)
+case $enable_gui in
+ all) GUI_PROGRAMS='sync-ui-gtk${EXEEXT} sync-ui-moblin${EXEEXT}'; GUI_DESKTOP_FILES="sync-gtk.desktop sync-moblin.desktop";;
+ gtk|moblin) GUI_PROGRAMS='sync-ui${EXEEXT}'; GUI_DESKTOP_FILES="sync.desktop";;
+ no) GUI_PROGRAMS=; GUI_DESKTOP_FILES=;;
+ *) AC_ERROR([Unknown enable_gui type: '$enable_gui'])
+esac
+
if test $enable_gui != "no"; then
gui_modules="glib-2.0 dbus-glib-1 >= 0.60 gtk+-2.0 libglade-2.0 gconf-2.0 gio-2.0 gnome-keyring-1"
AC_SUBST(GETTEXT_PACKAGE)
AC_SUBST(GUI_CFLAGS)
AC_SUBST(GUI_LIBS)
+AC_SUBST(GUI_PROGRAMS)
+AC_SUBST(GUI_DESKTOP_FILES)
# Boost headers: boost/foreach.hpp is needed (1.33/Debian Etch
-#: ../src/gtk-ui/sync-ui.c:763
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-22 09:19+0000\n"
+"POT-Creation-Date: 2009-07-29 09:20+0000\n"
"PO-Revision-Date: \n"
-"Last-Translator: Tomás Galicia <tomas.galicia@intel.com>\n"
+"Last-Translator: Gonzalo Velasquez <gonzalox.e.velasquez@intel.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
# Error while saving the current service into the configuration system GConf
#: ../src/gtk-ui/sync-ui.c:319
msgid "Failed to save current service in GConf configuration system"
-msgstr ""
-"Error al guardar el servicio actual en el systema de configuración GConf"
+msgstr "Error al guardar el servicio actual en el systema de configuración GConf"
# Error while saving the configuration of the service in SyncEvolution
#: ../src/gtk-ui/sync-ui.c:330
# Error while saving the current service into the configuration system GConf
#: ../src/gtk-ui/sync-ui.c:415
msgid "Failed to get service configuration from SyncEvolution"
-msgstr ""
-"Error al guardar el servicio actual en el systema de configuración GConf"
+msgstr "Error al guardar el servicio actual en el systema de configuración GConf"
# Error while deleting the configuration of the service from SyncEvolution
#: ../src/gtk-ui/sync-ui.c:478
#. sync is no longer in progress for some reason
#: ../src/gtk-ui/sync-ui.c:674
msgid "Failed to cancel: sync was no longer in progress"
-msgstr ""
-"Error durante la cancelación: ya no estaba efectuándose la sincronización"
+msgstr "Error durante la cancelación: ya no estaba efectuándose la sincronización"
# Error during the cancellation of the synchronization
#: ../src/gtk-ui/sync-ui.c:678
#: ../src/gtk-ui/sync-ui.c:703
#, c-format
-msgid ""
-"Do you want to delete all local data and replace it with data from %s? This "
-"is not usually advised."
-msgstr ""
-"¿Quieres borrar todos los datos locales y sustituirlos por los datos de %s? "
-"Normalmente, no es recomendable."
+msgid "Do you want to delete all local data and replace it with data from %s? This is not usually advised."
+msgstr "¿Quieres borrar todos los datos locales y sustituirlos por los datos de %s? Normalmente, no es recomendable."
#: ../src/gtk-ui/sync-ui.c:708
#, c-format
-msgid ""
-"Do you want to delete all data in %s and replace it with your local data? "
-"This is not usually advised."
-msgstr ""
-"¿Quieres borrar todos los datos de %s y sustituirlos por los datos locales? "
-"Normalmente, no es recomendable."
+msgid "Do you want to delete all data in %s and replace it with your local data? This is not usually advised."
+msgstr "¿Quieres borrar todos los datos de %s y sustituirlos por los datos locales? Normalmente, no es recomendable."
#: ../src/gtk-ui/sync-ui.c:725
msgid "No, cancel sync"
# Synchronization won't take place because it has not been set with what it will be compared to
#: ../src/gtk-ui/sync-ui.c:748
msgid "No sources are enabled, not syncing"
-msgstr ""
-"No se hará la sincronización porque no se ha establecido con qué se va a "
-"hacer la comparación"
+msgstr "No se hará la sincronización porque no se ha establecido con qué se va a hacer la comparación"
# A synchronization is already being processed
#: ../src/gtk-ui/sync-ui.c:765
#: ../src/gtk-ui/sync-ui.c:772
msgid "Starting sync"
-msgstr "Se está iniciando la sincronización"
+msgstr "Iniciando..."
# Last synchronization happened a few seconds ago
#: ../src/gtk-ui/sync-ui.c:797
#: ../src/gtk-ui/sync-ui.c:900
msgid "Sync again"
-msgstr "Sincronizar otra vez"
+msgstr "¡Sincronízate!"
-#: ../src/gtk-ui/sync-ui.c:902 ../src/gtk-ui/ui.glade.h:29
+#: ../src/gtk-ui/sync-ui.c:902
+#: ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
-msgstr "Sincronizar ahora"
+msgstr "¡Sincronízate!"
# Synchronization is taking place
#: ../src/gtk-ui/sync-ui.c:911
msgid "Syncing"
-msgstr "Se está efectuando la sincronización"
+msgstr "Sincronizando..."
#: ../src/gtk-ui/sync-ui.c:917
msgid "Cancel sync"
msgstr "URI de %s"
# Open the website
-#: ../src/gtk-ui/sync-ui.c:1675 ../src/gtk-ui/ui.glade.h:17
+#: ../src/gtk-ui/sync-ui.c:1675
+#: ../src/gtk-ui/ui.glade.h:17
msgid "Launch website"
msgstr "Abrir el sitio web"
# Error while obtaining the list of services configured manually from SyncEvolution
#: ../src/gtk-ui/sync-ui.c:1725
msgid "Failed to get list of manually setup services from SyncEvolution"
-msgstr ""
-"Error al obtener de SyncEvolution la lista de servicios establecidos "
-"manualmente"
+msgstr "Error al obtener de SyncEvolution la lista de servicios establecidos manualmente"
#: ../src/gtk-ui/sync-ui.c:1766
msgid "Failed to get list of supported services from SyncEvolution"
msgid "Sync D-Bus service exited unexpectedly"
msgstr "El servicio de sincronización D-Bus se cerró inesperadamente"
-#: ../src/gtk-ui/sync-ui.c:1988 ../src/gtk-ui/sync-ui.c:2039
+#: ../src/gtk-ui/sync-ui.c:1988
+#: ../src/gtk-ui/sync-ui.c:2039
msgid "Sync Failed"
-msgstr "Falló la sincronización"
+msgstr "No funcionó"
#: ../src/gtk-ui/sync-ui.c:2031
msgid "Sync complete"
-msgstr "Ha terminado la sincronización"
+msgstr "¡Sincronizado!"
#: ../src/gtk-ui/sync-ui.c:2036
msgid "Sync canceled"
-msgstr "Se ha cancelado la sincronización"
+msgstr "Cancelada"
#. NOTE extra1 can be error here
#: ../src/gtk-ui/sync-ui.c:2054
msgid "Ending sync"
-msgstr "Se está terminando la sincronización"
+msgstr "Terminando..."
#. TRANSLATORS: placeholder is a source name (e.g. 'Calendar') in a progress text
#: ../src/gtk-ui/sync-ui.c:2078
#: ../src/gtk-ui/ui.glade.h:7
msgid "Add new service"
-msgstr "Agregar un nuevo servicio"
+msgstr "Agregar servicio"
#: ../src/gtk-ui/ui.glade.h:8
msgid "Back to sync"
"Change sync\n"
"service"
msgstr ""
-"Cambiar servicio\n"
+"Cambiar el servicio\n"
"de sincronización"
#: ../src/gtk-ui/ui.glade.h:11
#: ../src/gtk-ui/ui.glade.h:15
msgid ""
-"If you don't see your service above but know that your sync provider uses "
-"SyncML\n"
+"If you don't see your service above but know that your sync provider uses SyncML\n"
"you can setup a service manually."
msgstr ""
-"If you don't see your service above but know that your sync provider uses "
-"SyncML\n"
-"you can setup a service manually."
+"Si no puedes ver tú servicio de sincronización arriba, pero sabes que tú proveedor emplea SyncML\n"
+"puedes configurar el servicio manualmente."
#: ../src/gtk-ui/ui.glade.h:18
msgid "Merge local and remote data (recommended)"
# Configuration of the synchronization service
#: ../src/gtk-ui/ui.glade.h:24
msgid "Setup sync service"
-msgstr "Configuración del servicio de sincronización"
+msgstr "Ajustes del servicio de sincronización"
# Synchronization needs an Internet connection.
#: ../src/gtk-ui/ui.glade.h:25
msgid "Stop using this service"
msgstr "Dejar de usar este servicio"
-#: ../src/gtk-ui/ui.glade.h:28 ../src/gtk-ui/sync.desktop.in.h:1
+#: ../src/gtk-ui/ui.glade.h:28
+#: ../src/gtk-ui/sync.desktop.in.h:1
msgid "Sync"
msgstr "Sincronizar"
#: ../src/gtk-ui/ui.glade.h:30
-msgid ""
-"Synchronization is not available (D-Bus service does not answer), sorry."
-msgstr ""
-"Lo sentimos, pero la sincronización no está disponible (el servicio D-Bus no "
-"responde)."
+msgid "Synchronization is not available (D-Bus service does not answer), sorry."
+msgstr "Lo sentimos, pero la sincronización no está disponible (el servicio D-Bus no responde)."
#: ../src/gtk-ui/ui.glade.h:31
msgid ""
-"To sync you'll need a network connection and an account with a sync "
-"service.\n"
+"To sync you'll need a network connection and an account with a sync service.\n"
"We support the following services: "
msgstr ""
-"Para ejecutar la sincronización hacen falta una conexión de red y una "
-"cuenta\n"
-"en un servicio de syncronización. Son compatibles los siguientes servicios:"
+"Para ejecutar la sincronización hacen falta una conexión de red y una cuenta\n"
+"en un servicio de sincronización. Son compatibles los siguientes servicios:"
#: ../src/gtk-ui/ui.glade.h:33
msgid "Username"
#~ msgid "Bring your data with you"
#~ msgstr "Llévate tus datos"
+
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-15 09:18+0000\n"
+"POT-Creation-Date: 2009-07-27 09:20+0000\n"
"PO-Revision-Date: \n"
-"Last-Translator: Omar Antila <omarx.s.antila@intel.com>\n"
+"Last-Translator: GLS <tomas.galicia@intel.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
msgid "Failed to remove service configuration from SyncEvolution"
msgstr "Palvelun määritysten poistaminen SyncEvolutionista epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:597
-msgid "Service must have a name"
-msgstr "Palvelulla pitää olla nimi"
+#: ../src/gtk-ui/sync-ui.c:598
+msgid "Service must have a name and server URL"
+msgstr "Palvelulla pitää olla nimi ja palvelimen URL"
#. sync is no longer in progress for some reason
-#: ../src/gtk-ui/sync-ui.c:662
+#: ../src/gtk-ui/sync-ui.c:674
msgid "Failed to cancel: sync was no longer in progress"
msgstr "Peruminen epäonnistui: synkkaus ei ole enää käynnissä"
-#: ../src/gtk-ui/sync-ui.c:666
+#: ../src/gtk-ui/sync-ui.c:678
msgid "Failed to cancel sync"
msgstr "Synkkauksen peruminen epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:670
+#: ../src/gtk-ui/sync-ui.c:682
msgid "Canceling sync"
msgstr "Synkkaus perutaan"
-#: ../src/gtk-ui/sync-ui.c:684
+#: ../src/gtk-ui/sync-ui.c:696
msgid "Trying to cancel sync"
msgstr "Yritetään perua synkkaus"
-#: ../src/gtk-ui/sync-ui.c:691
+#: ../src/gtk-ui/sync-ui.c:703
#, c-format
msgid "Do you want to delete all local data and replace it with data from %s? This is not usually advised."
msgstr "Haluatko poistaa kaikki paikalliset tiedot ja korvata ne tiedoilla kohteesta %s? Tämä ei ole yleensä suositeltavaa."
-#: ../src/gtk-ui/sync-ui.c:696
+#: ../src/gtk-ui/sync-ui.c:708
#, c-format
msgid "Do you want to delete all data in %s and replace it with your local data? This is not usually advised."
msgstr "Haluatko poistaa kaikki tiedot kohteessa %s ja korvata ne paikallisilla tiedoillasi? Tämä ei ole yleensä suositeltavaa."
-#: ../src/gtk-ui/sync-ui.c:713
+#: ../src/gtk-ui/sync-ui.c:725
msgid "No, cancel sync"
msgstr "Ei, peru synkkaus"
-#: ../src/gtk-ui/sync-ui.c:714
+#: ../src/gtk-ui/sync-ui.c:726
msgid "Yes, delete and replace"
msgstr "Kyllä, poista ja korvaa"
-#: ../src/gtk-ui/sync-ui.c:736
+#: ../src/gtk-ui/sync-ui.c:748
msgid "No sources are enabled, not syncing"
msgstr "Mitään kohteita ei ole otettu käyttöön. Synkkaus ei käynnissä."
-#: ../src/gtk-ui/sync-ui.c:753
+#: ../src/gtk-ui/sync-ui.c:765
msgid "A sync is already in progress"
msgstr "Synkkaus on jo meneillään"
-#: ../src/gtk-ui/sync-ui.c:755
+#: ../src/gtk-ui/sync-ui.c:767
msgid "Failed to start sync"
msgstr "Synkkauksen aloitus epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:760
+#: ../src/gtk-ui/sync-ui.c:772
msgid "Starting sync"
msgstr "Aloitetaan synkkaus"
-#: ../src/gtk-ui/sync-ui.c:785
+#: ../src/gtk-ui/sync-ui.c:797
msgid "Last synced just seconds ago"
msgstr "Synkattu viimeksi vain muutama sekunti sitten"
-#: ../src/gtk-ui/sync-ui.c:788
+#: ../src/gtk-ui/sync-ui.c:800
msgid "Last synced a minute ago"
msgstr "Synkattu viimeksi minuutti sitten"
-#: ../src/gtk-ui/sync-ui.c:791
+#: ../src/gtk-ui/sync-ui.c:803
#, c-format
msgid "Last synced %ld minutes ago"
msgstr "Synkattu viimeksi %ld minuuttia sitten"
-#: ../src/gtk-ui/sync-ui.c:794
+#: ../src/gtk-ui/sync-ui.c:806
msgid "Last synced an hour ago"
msgstr "Synkattu viimeksi tunti sitten"
-#: ../src/gtk-ui/sync-ui.c:797
+#: ../src/gtk-ui/sync-ui.c:809
#, c-format
msgid "Last synced %ld hours ago"
msgstr "Synkattu viimeksi %ld tuntia sitten"
# last synced yesterday
-#: ../src/gtk-ui/sync-ui.c:800
+#: ../src/gtk-ui/sync-ui.c:812
msgid "Last synced a day ago"
msgstr "Synkattu viimeksi eilen"
-#: ../src/gtk-ui/sync-ui.c:803
+#: ../src/gtk-ui/sync-ui.c:815
#, c-format
msgid "Last synced %ld days ago"
msgstr "Synkattu viimeksi %ld päivää sitten"
# using taas instead of uudelleen to fix a truncation
-#: ../src/gtk-ui/sync-ui.c:888
+#: ../src/gtk-ui/sync-ui.c:900
msgid "Sync again"
msgstr "Synkkaa taas"
-#: ../src/gtk-ui/sync-ui.c:890
+#: ../src/gtk-ui/sync-ui.c:902
#: ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
msgstr "Synkkaa nyt"
-#: ../src/gtk-ui/sync-ui.c:899
+#: ../src/gtk-ui/sync-ui.c:911
msgid "Syncing"
msgstr "Synkkaus käynnissä"
-#: ../src/gtk-ui/sync-ui.c:905
+#: ../src/gtk-ui/sync-ui.c:917
msgid "Cancel sync"
msgstr "Peru synkkaus"
#. TRANSLATORS: placeholder is a source name, shown with checkboxes in main window
-#: ../src/gtk-ui/sync-ui.c:1249
+#: ../src/gtk-ui/sync-ui.c:1261
#, c-format
msgid "%s (not supported by this service)"
msgstr "%s (tämä palvelu ei tue tätä)"
-#: ../src/gtk-ui/sync-ui.c:1282
+#: ../src/gtk-ui/sync-ui.c:1294
#, c-format
msgid "There was one remote rejection."
msgid_plural "There were %d remote rejections."
msgstr[0] "Tapahtui yksi etähylkäys"
msgstr[1] "Tapahtui %d etähylkäystä"
-#: ../src/gtk-ui/sync-ui.c:1287
+#: ../src/gtk-ui/sync-ui.c:1299
#, c-format
msgid "There was one local rejection."
msgid_plural "There were %d local rejections."
msgstr[0] "Tapahtui yksi paikallinen hylkäys"
msgstr[1] "Tapahtui %d paikallista hylkäystä"
-#: ../src/gtk-ui/sync-ui.c:1292
+#: ../src/gtk-ui/sync-ui.c:1304
#, c-format
msgid "There were %d local rejections and %d remote rejections."
msgstr "Tapahtui %d paikallista hylkäystä ja %d etähylkäystä"
-#: ../src/gtk-ui/sync-ui.c:1297
+#: ../src/gtk-ui/sync-ui.c:1309
#, c-format
msgid "Last time: No changes."
msgstr "Viime kerta: ei muutoksia"
-#: ../src/gtk-ui/sync-ui.c:1299
+#: ../src/gtk-ui/sync-ui.c:1311
#, c-format
msgid "Last time: Sent one change."
msgid_plural "Last time: Sent %d changes."
msgstr[0] "Viime kerralla: yksi muutos lähetetty."
msgstr[1] "Viime kerralla: %d muutosta lähetetty."
-#: ../src/gtk-ui/sync-ui.c:1304
+#: ../src/gtk-ui/sync-ui.c:1316
#, c-format
msgid "Last time: Received one change."
msgid_plural "Last time: Received %d changes."
msgstr[0] "Viime kerralla: yksi muutos vastaanotettu."
msgstr[1] "Viime kerralla: %d muutosta vastaanotettu"
-#: ../src/gtk-ui/sync-ui.c:1309
+#: ../src/gtk-ui/sync-ui.c:1321
#, c-format
msgid "Last time: Received %d changes and sent %d changes."
msgstr "Viime kerralla: Vastaanotettu %d muutosta ja lähetetty %d muutosta."
-#: ../src/gtk-ui/sync-ui.c:1401
+#: ../src/gtk-ui/sync-ui.c:1413
msgid "Failed to get server configuration from SyncEvolution"
msgstr "Serverin asetusten saanti SyncEvolutionista epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:1467
+#: ../src/gtk-ui/sync-ui.c:1479
msgid "New service"
msgstr "Uusi palvelu"
-#: ../src/gtk-ui/sync-ui.c:1508
+#: ../src/gtk-ui/sync-ui.c:1520
msgid "Server URL"
msgstr "Serverin URL"
# URI for target %s
#. TRANSLATORS: placeholder is a source name in settings window
-#: ../src/gtk-ui/sync-ui.c:1528
+#: ../src/gtk-ui/sync-ui.c:1540
#, c-format
msgid "%s URI"
msgstr "Kohteen '%s' URI"
-#: ../src/gtk-ui/sync-ui.c:1659
+#: ../src/gtk-ui/sync-ui.c:1675
#: ../src/gtk-ui/ui.glade.h:17
msgid "Launch website"
msgstr "Siirry sivustoon"
-#: ../src/gtk-ui/sync-ui.c:1663
+#: ../src/gtk-ui/sync-ui.c:1679
msgid "Setup and use"
msgstr "Määritä ja käytä"
-#: ../src/gtk-ui/sync-ui.c:1709
+#: ../src/gtk-ui/sync-ui.c:1725
msgid "Failed to get list of manually setup services from SyncEvolution"
msgstr "Manuaalisesti määritettyjen palveluiden listan saaminen SyncEvolutionista epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:1750
+#: ../src/gtk-ui/sync-ui.c:1766
msgid "Failed to get list of supported services from SyncEvolution"
msgstr "Tuettujen palveluiden listan saaminen SyncEvolutionista epäonnistui"
#. TODO: this is a hack... SyncEnd should be a signal of it's own,
#. not just hacked on top of the syncevolution error codes
-#: ../src/gtk-ui/sync-ui.c:1911
+#: ../src/gtk-ui/sync-ui.c:1927
msgid "Service configuration not found"
msgstr "Palvelun määritystietoja ei löydy"
-#: ../src/gtk-ui/sync-ui.c:1917
+#: ../src/gtk-ui/sync-ui.c:1933
msgid "Not authorized"
msgstr "Ei käyttöoikeutta"
-#: ../src/gtk-ui/sync-ui.c:1919
+#: ../src/gtk-ui/sync-ui.c:1935
msgid "Forbidden"
msgstr "Kielletty"
-#: ../src/gtk-ui/sync-ui.c:1921
+#: ../src/gtk-ui/sync-ui.c:1937
msgid "Not found"
msgstr "Ei löydy"
-#: ../src/gtk-ui/sync-ui.c:1923
+#: ../src/gtk-ui/sync-ui.c:1939
msgid "Fatal database error"
msgstr "Vakava tietokantavirhe"
-#: ../src/gtk-ui/sync-ui.c:1925
+#: ../src/gtk-ui/sync-ui.c:1941
msgid "Database error"
msgstr "Tietokantavirhe"
-#: ../src/gtk-ui/sync-ui.c:1927
+#: ../src/gtk-ui/sync-ui.c:1943
msgid "No space left"
msgstr "Tila lopussa"
#. TODO identify problem item somehow ?
-#: ../src/gtk-ui/sync-ui.c:1930
+#: ../src/gtk-ui/sync-ui.c:1946
msgid "Failed to process SyncML"
msgstr "SyncML:n käsittely epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:1932
+#: ../src/gtk-ui/sync-ui.c:1948
msgid "Server authorization failed"
msgstr "Serverin varmennus epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:1934
+#: ../src/gtk-ui/sync-ui.c:1950
msgid "Failed to parse configuration file"
msgstr "Asetustiedoston jäsennys epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:1936
+#: ../src/gtk-ui/sync-ui.c:1952
msgid "Failed to read configuration file"
msgstr "Asetustiedoston lukeminen epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:1938
+#: ../src/gtk-ui/sync-ui.c:1954
msgid "No configuration found"
msgstr "Asetuksia ei löydy"
-#: ../src/gtk-ui/sync-ui.c:1940
+#: ../src/gtk-ui/sync-ui.c:1956
msgid "No configuration file found"
msgstr "Asetustiedostoa ei löytynyt"
# using erroneous instead of bad
-#: ../src/gtk-ui/sync-ui.c:1942
+#: ../src/gtk-ui/sync-ui.c:1958
msgid "Server sent bad content"
msgstr "Serveri lähetti virheellistä sisältöä"
-#: ../src/gtk-ui/sync-ui.c:1944
+#: ../src/gtk-ui/sync-ui.c:1960
msgid "Transport failure (no connection?)"
msgstr "Siirtyminen epäonnistui (ei yhteyttä?)"
-#: ../src/gtk-ui/sync-ui.c:1946
+#: ../src/gtk-ui/sync-ui.c:1962
msgid "Connection timed out"
msgstr "Yhteys aikakatkaistu"
-#: ../src/gtk-ui/sync-ui.c:1948
+#: ../src/gtk-ui/sync-ui.c:1964
msgid "Connection certificate has expired"
msgstr "Yhteyden varmenne on vanhentunut"
-#: ../src/gtk-ui/sync-ui.c:1950
+#: ../src/gtk-ui/sync-ui.c:1966
msgid "Connection certificate is invalid"
msgstr "Yhteyden varmenne on virheellinen"
-#: ../src/gtk-ui/sync-ui.c:1953
+#: ../src/gtk-ui/sync-ui.c:1969
msgid "Connection failed"
msgstr "Yhteys epäonnistui"
-#: ../src/gtk-ui/sync-ui.c:1955
+#: ../src/gtk-ui/sync-ui.c:1971
msgid "URL is bad"
msgstr "URL on virheellinen"
-#: ../src/gtk-ui/sync-ui.c:1957
+#: ../src/gtk-ui/sync-ui.c:1973
msgid "Server not found"
msgstr "Serveriä ei löydy"
-#: ../src/gtk-ui/sync-ui.c:1959
+#: ../src/gtk-ui/sync-ui.c:1975
#, c-format
msgid "Error %d"
msgstr "Virhe: %d"
# ...service ended unexpectedly
-#: ../src/gtk-ui/sync-ui.c:1969
+#: ../src/gtk-ui/sync-ui.c:1985
msgid "Sync D-Bus service exited unexpectedly"
msgstr "Sync D-Bus -palvelu loppui odottamattomasti"
# changed to "sync error" in order to fix a truncation in the UI.
-#: ../src/gtk-ui/sync-ui.c:1972
-#: ../src/gtk-ui/sync-ui.c:2023
+#: ../src/gtk-ui/sync-ui.c:1988
+#: ../src/gtk-ui/sync-ui.c:2039
msgid "Sync Failed"
msgstr "Synkkausvirhe"
-#: ../src/gtk-ui/sync-ui.c:2015
+#: ../src/gtk-ui/sync-ui.c:2031
msgid "Sync complete"
msgstr "Synkkaus valmis"
-#: ../src/gtk-ui/sync-ui.c:2020
+#: ../src/gtk-ui/sync-ui.c:2036
msgid "Sync canceled"
msgstr "Synkkaus peruttu"
#. NOTE extra1 can be error here
-#: ../src/gtk-ui/sync-ui.c:2038
+#: ../src/gtk-ui/sync-ui.c:2054
msgid "Ending sync"
msgstr "Lopetetaan synkkaus"
#. TRANSLATORS: placeholder is a source name (e.g. 'Calendar') in a progress text
-#: ../src/gtk-ui/sync-ui.c:2062
+#: ../src/gtk-ui/sync-ui.c:2078
#, c-format
msgid "Preparing '%s'"
msgstr "Valmistellaan: %s"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2074
+#: ../src/gtk-ui/sync-ui.c:2090
#, c-format
msgid "Sending '%s'"
msgstr "Lähetetään: %s"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2086
+#: ../src/gtk-ui/sync-ui.c:2102
#, c-format
msgid "Receiving '%s'"
msgstr "Vastaanotetaan: %s"
msgstr "Lopeta tämän palvelun käyttö"
#: ../src/gtk-ui/ui.glade.h:28
-#: ../src/gtk-ui/sync.desktop.in.h:2
+#: ../src/gtk-ui/sync.desktop.in.h:1
msgid "Sync"
msgstr "Synkkaus"
"Synkkauspalvelua ei ole vielä määritetty. Synkkauspalvelu\n"
"mahdollistaa ultrakannettavasi ja verkkopalvelusi tietojen synkkauksen."
-#: ../src/gtk-ui/sync.desktop.in.h:1
-msgid "Bring your data with you"
-msgstr "Ota tietosi mukaan"
+#: ../src/gtk-ui/sync.desktop.in.h:2
+msgid "Up to date"
+msgstr "Ajantasalla"
+
+#~ msgid "Bring your data with you"
+#~ msgstr "Ota tietosi mukaan"
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-22 09:19+0000\n"
+"POT-Creation-Date: 2009-07-29 09:20+0000\n"
"PO-Revision-Date: \n"
-"Last-Translator: Loïc Dufresne de Virel <loic.dufresne.de.virel@intel.com>\n"
+"Last-Translator: glsfra_Sophie <sophiex.marchese@intel.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
msgid "Sync again"
msgstr "Synchroniser de nouveau"
+# QA FRA : I erased the "now" in the French translation because it caused a truncation
#: ../src/gtk-ui/sync-ui.c:902
#: ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
-msgstr "Synchroniser maintenant"
+msgstr "Synchroniser"
#: ../src/gtk-ui/sync-ui.c:911
msgid "Syncing"
#: ../src/gtk-ui/ui.glade.h:6
msgid "<big>Supported services</big>"
-msgstr "<big>Sservices pris en charge</big>"
+msgstr "<big>Services pris en charge</big>"
# "New" for lack of space
#: ../src/gtk-ui/ui.glade.h:7
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-15 09:18+0000\n"
+"POT-Creation-Date: 2009-07-22 09:19+0000\n"
"PO-Revision-Date: \n"
-"Last-Translator: GLSKOR_SunKim <sunx.kim@intel.com>\n"
+"Last-Translator: GLSKOR_Sook <hyang-sookx.sohn@intel.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n!=1; \n"
"X-Poedit-Language: Korean\n"
"X-Poedit-SourceCharset: utf-8\n"
-"Plural-Forms: nplurals=2; plural=n!=1;\n"
#: ../src/gtk-ui/sync-ui.c:258
msgid "Addressbook"
msgid "Failed to remove service configuration from SyncEvolution"
msgstr "SyncEvolution으로 부터 구성 시스템을 제거하는데 실패했습니다."
-#: ../src/gtk-ui/sync-ui.c:597
-msgid "Service must have a name"
-msgstr "서비스는 반듯이 이름이 있어야 합니다."
+#: ../src/gtk-ui/sync-ui.c:598
+msgid "Service must have a name and server URL"
+msgstr "서비스는 반듯이 이름 및 서버 URL이 있어야 합니다."
#. sync is no longer in progress for some reason
-#: ../src/gtk-ui/sync-ui.c:662
+#: ../src/gtk-ui/sync-ui.c:674
msgid "Failed to cancel: sync was no longer in progress"
msgstr "취소 실패: 동기화는 더이상 진행되지 않습니다."
-#: ../src/gtk-ui/sync-ui.c:666
+#: ../src/gtk-ui/sync-ui.c:678
msgid "Failed to cancel sync"
msgstr "동기화 취소 실패"
-#: ../src/gtk-ui/sync-ui.c:670
+#: ../src/gtk-ui/sync-ui.c:682
msgid "Canceling sync"
msgstr "동기화 취소 중 "
-#: ../src/gtk-ui/sync-ui.c:684
+#: ../src/gtk-ui/sync-ui.c:696
msgid "Trying to cancel sync"
msgstr "동기화 취소 시도"
-#: ../src/gtk-ui/sync-ui.c:691
+#: ../src/gtk-ui/sync-ui.c:703
#, c-format
msgid "Do you want to delete all local data and replace it with data from %s? This is not usually advised."
msgstr "모든 로컬 데이터을 삭제하고 %s로 부터의 데이터로 바꾸시겠습니까? 항상 권하지는 않습니다"
-#: ../src/gtk-ui/sync-ui.c:696
+#: ../src/gtk-ui/sync-ui.c:708
#, c-format
msgid "Do you want to delete all data in %s and replace it with your local data? This is not usually advised."
msgstr "%s에 있는 모든 데이터를 삭네하고 당신의 로컬 데이터로 바꾸시겠습니까? 항상 권하지는 않습니다."
-#: ../src/gtk-ui/sync-ui.c:713
+#: ../src/gtk-ui/sync-ui.c:725
msgid "No, cancel sync"
msgstr "주소록"
-#: ../src/gtk-ui/sync-ui.c:714
+#: ../src/gtk-ui/sync-ui.c:726
msgid "Yes, delete and replace"
msgstr "예, 삭제하시고 변경하십시오"
-#: ../src/gtk-ui/sync-ui.c:736
+#: ../src/gtk-ui/sync-ui.c:748
msgid "No sources are enabled, not syncing"
msgstr "사용 가능한 소스가 없습니다. 동기화 되지 않았습니다."
-#: ../src/gtk-ui/sync-ui.c:753
+#: ../src/gtk-ui/sync-ui.c:765
msgid "A sync is already in progress"
msgstr "동기화가 이미 진행중 입니다."
-#: ../src/gtk-ui/sync-ui.c:755
+#: ../src/gtk-ui/sync-ui.c:767
msgid "Failed to start sync"
msgstr "동기화를 시작하는데 실패했습니다."
-#: ../src/gtk-ui/sync-ui.c:760
+#: ../src/gtk-ui/sync-ui.c:772
msgid "Starting sync"
msgstr "동기화 시작 "
-#: ../src/gtk-ui/sync-ui.c:785
+#: ../src/gtk-ui/sync-ui.c:797
msgid "Last synced just seconds ago"
msgstr "일 초전 마지막 동기화"
-#: ../src/gtk-ui/sync-ui.c:788
+#: ../src/gtk-ui/sync-ui.c:800
msgid "Last synced a minute ago"
msgstr "일 분전 마지막 동기화"
-#: ../src/gtk-ui/sync-ui.c:791
+#: ../src/gtk-ui/sync-ui.c:803
#, c-format
msgid "Last synced %ld minutes ago"
msgstr "%ld 분전 마지막 동기화"
-#: ../src/gtk-ui/sync-ui.c:794
+#: ../src/gtk-ui/sync-ui.c:806
msgid "Last synced an hour ago"
msgstr "한 시간전 마지막 동기화"
-#: ../src/gtk-ui/sync-ui.c:797
+#: ../src/gtk-ui/sync-ui.c:809
#, c-format
msgid "Last synced %ld hours ago"
msgstr "%ld 시간전 마지막 동기화"
-#: ../src/gtk-ui/sync-ui.c:800
+#: ../src/gtk-ui/sync-ui.c:812
msgid "Last synced a day ago"
msgstr "하루전 마지막 동기화"
-#: ../src/gtk-ui/sync-ui.c:803
+#: ../src/gtk-ui/sync-ui.c:815
#, c-format
msgid "Last synced %ld days ago"
msgstr "%ld 일 전 마지막 동기화"
-#: ../src/gtk-ui/sync-ui.c:888
+#: ../src/gtk-ui/sync-ui.c:900
msgid "Sync again"
msgstr "다시 동기화 시도"
-#: ../src/gtk-ui/sync-ui.c:890
+#: ../src/gtk-ui/sync-ui.c:902
#: ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
msgstr "지금 동기화 시도"
-#: ../src/gtk-ui/sync-ui.c:899
+#: ../src/gtk-ui/sync-ui.c:911
msgid "Syncing"
msgstr "동기화 시도중"
-#: ../src/gtk-ui/sync-ui.c:905
+#: ../src/gtk-ui/sync-ui.c:917
msgid "Cancel sync"
msgstr "동기화 취소"
#. TRANSLATORS: placeholder is a source name, shown with checkboxes in main window
-#: ../src/gtk-ui/sync-ui.c:1249
+#: ../src/gtk-ui/sync-ui.c:1261
#, c-format
msgid "%s (not supported by this service)"
msgstr "%s (이 서비스에 의해 지원되지 않습니다)"
-#: ../src/gtk-ui/sync-ui.c:1282
+#: ../src/gtk-ui/sync-ui.c:1294
#, c-format
msgid "There was one remote rejection."
msgid_plural "There were %d remote rejections."
msgstr[0] "한건의 원격 거부가 있었습니다."
msgstr[1] "%d건의 원격 거부가 있었습니다"
-#: ../src/gtk-ui/sync-ui.c:1287
+#: ../src/gtk-ui/sync-ui.c:1299
#, c-format
msgid "There was one local rejection."
msgid_plural "There were %d local rejections."
msgstr[0] "한건의 로컬 거부가 있었습니다."
msgstr[1] "%d건의 로컬 거부가 있었습니다."
-#: ../src/gtk-ui/sync-ui.c:1292
+#: ../src/gtk-ui/sync-ui.c:1304
#, c-format
msgid "There were %d local rejections and %d remote rejections."
msgstr "%d 로컬 거부와 %d 원격 거부가 있었습니다. "
-#: ../src/gtk-ui/sync-ui.c:1297
+#: ../src/gtk-ui/sync-ui.c:1309
#, c-format
msgid "Last time: No changes."
msgstr "지난 시간: 변동 사항 없음."
-#: ../src/gtk-ui/sync-ui.c:1299
+#: ../src/gtk-ui/sync-ui.c:1311
#, c-format
msgid "Last time: Sent one change."
msgid_plural "Last time: Sent %d changes."
msgstr[0] "지난 시간: 한건의 변경 사항을 보냈습니다."
msgstr[1] "지난 시간: %d 건의 변경 사항을 보냈습니다."
-#: ../src/gtk-ui/sync-ui.c:1304
+#: ../src/gtk-ui/sync-ui.c:1316
#, c-format
msgid "Last time: Received one change."
msgid_plural "Last time: Received %d changes."
msgstr[0] "지난 시간: 한건의 변경 사항을 받았습니다."
msgstr[1] "지난 시간: %d건의 변경 사항을 받았습니다."
-#: ../src/gtk-ui/sync-ui.c:1309
+#: ../src/gtk-ui/sync-ui.c:1321
#, c-format
msgid "Last time: Received %d changes and sent %d changes."
msgstr "지난 시간: %d 변동 사항 접수 및 %d 변동 사항 보냄."
-#: ../src/gtk-ui/sync-ui.c:1401
+#: ../src/gtk-ui/sync-ui.c:1413
msgid "Failed to get server configuration from SyncEvolution"
msgstr "SyncEvolution으로 부터 서버 구성 기능을 불러오기를 실패했습니다."
-#: ../src/gtk-ui/sync-ui.c:1467
+#: ../src/gtk-ui/sync-ui.c:1479
msgid "New service"
msgstr "새로운 서비스"
-#: ../src/gtk-ui/sync-ui.c:1508
+#: ../src/gtk-ui/sync-ui.c:1520
msgid "Server URL"
msgstr "서버 URL"
#. TRANSLATORS: placeholder is a source name in settings window
-#: ../src/gtk-ui/sync-ui.c:1528
+#: ../src/gtk-ui/sync-ui.c:1540
#, c-format
msgid "%s URI"
msgstr "%s URI"
-#: ../src/gtk-ui/sync-ui.c:1659
+#: ../src/gtk-ui/sync-ui.c:1675
#: ../src/gtk-ui/ui.glade.h:17
msgid "Launch website"
msgstr "웹사이트 시작"
-#: ../src/gtk-ui/sync-ui.c:1663
+#: ../src/gtk-ui/sync-ui.c:1679
msgid "Setup and use"
msgstr "설치 대체 사용"
-#: ../src/gtk-ui/sync-ui.c:1709
+#: ../src/gtk-ui/sync-ui.c:1725
msgid "Failed to get list of manually setup services from SyncEvolution"
msgstr "SyncEvolution으로 부터 수동 설치 서비스 목록을 불러오기를 실패했습니다."
-#: ../src/gtk-ui/sync-ui.c:1750
+#: ../src/gtk-ui/sync-ui.c:1766
msgid "Failed to get list of supported services from SyncEvolution"
msgstr "SyncEvolution으로 부터 지원 서비스 목록을 불러오기를 실패했습니다."
#. TODO: this is a hack... SyncEnd should be a signal of it's own,
#. not just hacked on top of the syncevolution error codes
-#: ../src/gtk-ui/sync-ui.c:1911
+#: ../src/gtk-ui/sync-ui.c:1927
msgid "Service configuration not found"
msgstr "서비스 구성 요소를 찾을 수 없습니다."
-#: ../src/gtk-ui/sync-ui.c:1917
+#: ../src/gtk-ui/sync-ui.c:1933
msgid "Not authorized"
msgstr "권한이 없습니다"
-#: ../src/gtk-ui/sync-ui.c:1919
+#: ../src/gtk-ui/sync-ui.c:1935
msgid "Forbidden"
msgstr "금지"
-#: ../src/gtk-ui/sync-ui.c:1921
+#: ../src/gtk-ui/sync-ui.c:1937
msgid "Not found"
msgstr "찾을 수 없음"
-#: ../src/gtk-ui/sync-ui.c:1923
+#: ../src/gtk-ui/sync-ui.c:1939
msgid "Fatal database error"
msgstr "심각한 데이터베이스 오류"
-#: ../src/gtk-ui/sync-ui.c:1925
+#: ../src/gtk-ui/sync-ui.c:1941
msgid "Database error"
msgstr "데이터베이스 오류"
-#: ../src/gtk-ui/sync-ui.c:1927
+#: ../src/gtk-ui/sync-ui.c:1943
msgid "No space left"
msgstr "남은 공간이 없음"
#. TODO identify problem item somehow ?
-#: ../src/gtk-ui/sync-ui.c:1930
+#: ../src/gtk-ui/sync-ui.c:1946
msgid "Failed to process SyncML"
msgstr "SyncML 프로세스 실패"
-#: ../src/gtk-ui/sync-ui.c:1932
+#: ../src/gtk-ui/sync-ui.c:1948
msgid "Server authorization failed"
msgstr "서버 권한 부여 실패"
-#: ../src/gtk-ui/sync-ui.c:1934
+#: ../src/gtk-ui/sync-ui.c:1950
msgid "Failed to parse configuration file"
msgstr "구성 파일 구문 분석 실패"
-#: ../src/gtk-ui/sync-ui.c:1936
+#: ../src/gtk-ui/sync-ui.c:1952
msgid "Failed to read configuration file"
msgstr "구성요소 파일 읽기 실패"
-#: ../src/gtk-ui/sync-ui.c:1938
+#: ../src/gtk-ui/sync-ui.c:1954
msgid "No configuration found"
msgstr "구성요소를 찾을수 없습니다."
-#: ../src/gtk-ui/sync-ui.c:1940
+#: ../src/gtk-ui/sync-ui.c:1956
msgid "No configuration file found"
msgstr "구성요소 파일을 찾지 못했습니다."
-#: ../src/gtk-ui/sync-ui.c:1942
+#: ../src/gtk-ui/sync-ui.c:1958
msgid "Server sent bad content"
msgstr "서버가 안좋은 컨텐츠를 보냈습니다."
-#: ../src/gtk-ui/sync-ui.c:1944
+#: ../src/gtk-ui/sync-ui.c:1960
msgid "Transport failure (no connection?)"
msgstr "전송 실패(연결 없음?)"
-#: ../src/gtk-ui/sync-ui.c:1946
+#: ../src/gtk-ui/sync-ui.c:1962
msgid "Connection timed out"
msgstr "연결 시간 초과"
-#: ../src/gtk-ui/sync-ui.c:1948
+#: ../src/gtk-ui/sync-ui.c:1964
msgid "Connection certificate has expired"
msgstr "연결 인증이 만료되었습니다. "
-#: ../src/gtk-ui/sync-ui.c:1950
+#: ../src/gtk-ui/sync-ui.c:1966
msgid "Connection certificate is invalid"
msgstr "연결 인증이 유효하지 않습니다."
-#: ../src/gtk-ui/sync-ui.c:1953
+#: ../src/gtk-ui/sync-ui.c:1969
msgid "Connection failed"
msgstr "연결 실패"
-#: ../src/gtk-ui/sync-ui.c:1955
+#: ../src/gtk-ui/sync-ui.c:1971
msgid "URL is bad"
msgstr "잘못된 URL 입니다."
-#: ../src/gtk-ui/sync-ui.c:1957
+#: ../src/gtk-ui/sync-ui.c:1973
msgid "Server not found"
msgstr "서버를 찾을 수 없음."
-#: ../src/gtk-ui/sync-ui.c:1959
+#: ../src/gtk-ui/sync-ui.c:1975
#, c-format
msgid "Error %d"
msgstr "오류 %d"
-#: ../src/gtk-ui/sync-ui.c:1969
+#: ../src/gtk-ui/sync-ui.c:1985
msgid "Sync D-Bus service exited unexpectedly"
msgstr "갑자기 동기화 D 버스 서비스 종료 "
-#: ../src/gtk-ui/sync-ui.c:1972
-#: ../src/gtk-ui/sync-ui.c:2023
+#: ../src/gtk-ui/sync-ui.c:1988
+#: ../src/gtk-ui/sync-ui.c:2039
msgid "Sync Failed"
msgstr "동기화 실패"
-#: ../src/gtk-ui/sync-ui.c:2015
+#: ../src/gtk-ui/sync-ui.c:2031
msgid "Sync complete"
msgstr "동기화 완료"
-#: ../src/gtk-ui/sync-ui.c:2020
+#: ../src/gtk-ui/sync-ui.c:2036
msgid "Sync canceled"
msgstr "동기화 취소"
#. NOTE extra1 can be error here
-#: ../src/gtk-ui/sync-ui.c:2038
+#: ../src/gtk-ui/sync-ui.c:2054
msgid "Ending sync"
msgstr "동기화 종료"
#. TRANSLATORS: placeholder is a source name (e.g. 'Calendar') in a progress text
-#: ../src/gtk-ui/sync-ui.c:2062
+#: ../src/gtk-ui/sync-ui.c:2078
#, c-format
msgid "Preparing '%s'"
msgstr " '%s' 준비하는 중"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2074
+#: ../src/gtk-ui/sync-ui.c:2090
#, c-format
msgid "Sending '%s'"
msgstr "'%s' 보내는 중"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2086
+#: ../src/gtk-ui/sync-ui.c:2102
#, c-format
msgid "Receiving '%s'"
msgstr "'%s' 받는중"
msgstr "이 서비스의 사용을 중단 하십시오."
#: ../src/gtk-ui/ui.glade.h:28
-#: ../src/gtk-ui/sync.desktop.in.h:2
+#: ../src/gtk-ui/sync.desktop.in.h:1
msgid "Sync"
msgstr "동기화"
"당신은 동기화 서비스를 아직 설치하지 않았습니다. 동기화 서비스는\n"
"당신의 넷북과 웹 서비스 사이의 데이터를 동기화 시켜줍니다. "
-#: ../src/gtk-ui/sync.desktop.in.h:1
+#: ../src/gtk-ui/sync.desktop.in.h:2
+msgid "Up to date"
+msgstr "최신의"
+
msgid "Bring your data with you"
msgstr "귀하의 데이타를 가져오십시오."
# This file is distributed under the same license as the syncevolution package.
# Andrzej Zaborowski <andrew.zaborowski@intel.com>, 2009.
#
-#: ../src/gtk-ui/sync-ui.c:763
msgid ""
msgstr ""
"Project-Id-Version: Moblin\n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-22 09:19+0000\n"
+"POT-Creation-Date: 2009-07-29 03:16+0000\n"
"PO-Revision-Date: \n"
-"Last-Translator: Andrzej Zaborowski <andrew.zaborowski@intel.com>\n"
+"Last-Translator: GLSJPN_Yukari <yukarix.yamashita@intel.com>\n"
"Language-Team: Moblin\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
-"|| n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-Language: Polish\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Bookmarks: -1,37,-1,-1,-1,-1,-1,-1,-1,-1\n"
#: ../src/gtk-ui/sync-ui.c:703
#, c-format
-msgid ""
-"Do you want to delete all local data and replace it with data from %s? This "
-"is not usually advised."
-msgstr ""
-"Czy chcesz usunąć wszystkie lokalne dane i zastąpić je danymi z %s? Nie jest "
-"to zwykle zalecane."
+msgid "Do you want to delete all local data and replace it with data from %s? This is not usually advised."
+msgstr "Czy chcesz usunąć wszystkie lokalne dane i zastąpić je danymi z %s? Nie jest to zwykle zalecane."
#: ../src/gtk-ui/sync-ui.c:708
#, c-format
-msgid ""
-"Do you want to delete all data in %s and replace it with your local data? "
-"This is not usually advised."
-msgstr ""
-"Czy chcesz usunąć wszystkie dane w %s i zastąpić je danymi lokalnymi? Nie "
-"jest to zwykle zalecane."
+msgid "Do you want to delete all data in %s and replace it with your local data? This is not usually advised."
+msgstr "Czy chcesz usunąć wszystkie dane w %s i zastąpić je danymi lokalnymi? Nie jest to zwykle zalecane."
#: ../src/gtk-ui/sync-ui.c:725
msgid "No, cancel sync"
# Synchronization won't take place because it has not been set with what it will be compared to
#: ../src/gtk-ui/sync-ui.c:748
msgid "No sources are enabled, not syncing"
-msgstr ""
-"Synchronizacja nie może zostać wykonana ponieważ nie podano źródła do "
-"porównania"
+msgstr "Synchronizacja nie może zostać wykonana ponieważ nie podano źródła do porównania"
# A synchronization is already being processed
#: ../src/gtk-ui/sync-ui.c:765
#: ../src/gtk-ui/sync-ui.c:803
#, c-format
msgid "Last synced %ld minutes ago"
-msgstr "Ostatnio synchronizowano przed %ld minutami"
+msgstr "Ostatnio synchronizowano %ld minut temu"
# Last synchronization happened one hour ago
#: ../src/gtk-ui/sync-ui.c:806
#: ../src/gtk-ui/sync-ui.c:809
#, c-format
msgid "Last synced %ld hours ago"
-msgstr "Ostatnio synchronizowano przed %ld godzinami"
+msgstr "Ostatnio synchronizowano %ld godzin temu"
# Last synchronization happened one day ago
#: ../src/gtk-ui/sync-ui.c:812
msgid "Sync again"
msgstr "Synchronizuj jeszcze raz"
-#: ../src/gtk-ui/sync-ui.c:902 ../src/gtk-ui/ui.glade.h:29
+#: ../src/gtk-ui/sync-ui.c:902
+#: ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
msgstr "Synchronizuj teraz"
#: ../src/gtk-ui/sync-ui.c:1304
#, c-format
msgid "There were %d local rejections and %d remote rejections."
-msgstr ""
-"Odrzucono %d elementów podczas gdy druga strona odrzuciła %d elementów."
+msgstr "Odrzucono %d elementów podczas gdy druga strona odrzuciła %d elementów."
#: ../src/gtk-ui/sync-ui.c:1309
#, c-format
msgstr "URI %s"
# Open the website
-#: ../src/gtk-ui/sync-ui.c:1675 ../src/gtk-ui/ui.glade.h:17
+#: ../src/gtk-ui/sync-ui.c:1675
+#: ../src/gtk-ui/ui.glade.h:17
msgid "Launch website"
msgstr "Otworzyć stronę www"
msgid "Sync D-Bus service exited unexpectedly"
msgstr "Usługa D-Bus synchronizacji zakończyła nieoczekiwanie"
-#: ../src/gtk-ui/sync-ui.c:1988 ../src/gtk-ui/sync-ui.c:2039
+#: ../src/gtk-ui/sync-ui.c:1988
+#: ../src/gtk-ui/sync-ui.c:2039
msgid "Sync Failed"
-msgstr "Synchronizacja nie powiodła się"
+msgstr "Nie powiodło się"
#: ../src/gtk-ui/sync-ui.c:2031
msgid "Sync complete"
#: ../src/gtk-ui/ui.glade.h:15
msgid ""
-"If you don't see your service above but know that your sync provider uses "
-"SyncML\n"
+"If you don't see your service above but know that your sync provider uses SyncML\n"
"you can setup a service manually."
msgstr ""
-"Jeśli Twoja usługa nie jest widoczna powyżej a wiesz że dostawca używa "
-"SyncML\n"
+"Jeśli Twoja usługa nie jest widoczna powyżej a wiesz że dostawca używa SyncML\n"
"możesz ustawić usługę ręcznie."
#: ../src/gtk-ui/ui.glade.h:18
msgid "Stop using this service"
msgstr "Zaprzestań używania usługi"
-#: ../src/gtk-ui/ui.glade.h:28 ../src/gtk-ui/sync.desktop.in.h:1
+#: ../src/gtk-ui/ui.glade.h:28
+#: ../src/gtk-ui/sync.desktop.in.h:1
msgid "Sync"
msgstr "Synchronizuj"
#: ../src/gtk-ui/ui.glade.h:30
-msgid ""
-"Synchronization is not available (D-Bus service does not answer), sorry."
+msgid "Synchronization is not available (D-Bus service does not answer), sorry."
msgstr "Niestety synchronizacja jest niedostępna (usługa D-Bus nie odpowiada)."
#: ../src/gtk-ui/ui.glade.h:31
msgid ""
-"To sync you'll need a network connection and an account with a sync "
-"service.\n"
+"To sync you'll need a network connection and an account with a sync service.\n"
"We support the following services: "
msgstr ""
-"Aby móc synchronizować potrzebne są połączenie z siecią oraz konto dla "
-"usługi\n"
+"Aby móc synchronizować potrzebne są połączenie z siecią oraz konto dla usługi\n"
"synchronizacji. Następujące usługi są kompatybilne:"
#: ../src/gtk-ui/ui.glade.h:33
#: ../src/gtk-ui/sync.desktop.in.h:2
msgid "Up to date"
msgstr "Aktualny"
+
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-20 09:19+0000\n"
+"POT-Creation-Date: 2009-07-27 09:20+0000\n"
"PO-Revision-Date: \n"
-"Last-Translator: GLSPTB_Gabor <gaborx.k.becht@intel.com>\n"
+"Last-Translator: williane <williane.tenca@ptiglobal.net>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
msgid "Failed to remove service configuration from SyncEvolution"
msgstr "Falha ao remover a configuração de serviço do SyncEvolution"
-#: ../src/gtk-ui/sync-ui.c:597
-msgid "Service must have a name"
-msgstr "Serviço tem que ter um nome"
+#: ../src/gtk-ui/sync-ui.c:598
+msgid "Service must have a name and server URL"
+msgstr "Serviço tem que ter um nome e um URL de servidor"
#. sync is no longer in progress for some reason
-#: ../src/gtk-ui/sync-ui.c:673
+#: ../src/gtk-ui/sync-ui.c:674
msgid "Failed to cancel: sync was no longer in progress"
msgstr "Falhou ao cancelar: sincronização não estava em andamento"
-#: ../src/gtk-ui/sync-ui.c:677
+#: ../src/gtk-ui/sync-ui.c:678
msgid "Failed to cancel sync"
msgstr "Falha ao cancelar sincronização"
-#: ../src/gtk-ui/sync-ui.c:681
+#: ../src/gtk-ui/sync-ui.c:682
msgid "Canceling sync"
msgstr "Cancelando sincronização"
-#: ../src/gtk-ui/sync-ui.c:695
+#: ../src/gtk-ui/sync-ui.c:696
msgid "Trying to cancel sync"
msgstr "Tentando cancelar sincronização"
-#: ../src/gtk-ui/sync-ui.c:702
+#: ../src/gtk-ui/sync-ui.c:703
#, c-format
msgid "Do you want to delete all local data and replace it with data from %s? This is not usually advised."
msgstr "Você quer excluir todos os dados locais e substituir por dados de: %s? Isso não é aconselhável."
-#: ../src/gtk-ui/sync-ui.c:707
+#: ../src/gtk-ui/sync-ui.c:708
#, c-format
msgid "Do you want to delete all data in %s and replace it with your local data? This is not usually advised."
msgstr "Você quer excluir todos os dados em: %s e substituir por seus dados locais? Isso não é aconselhável."
-#: ../src/gtk-ui/sync-ui.c:724
+#: ../src/gtk-ui/sync-ui.c:725
msgid "No, cancel sync"
msgstr "Não, cancele a sincronização"
-#: ../src/gtk-ui/sync-ui.c:725
+#: ../src/gtk-ui/sync-ui.c:726
msgid "Yes, delete and replace"
msgstr "Sim, excluir e substituir"
-#: ../src/gtk-ui/sync-ui.c:747
+#: ../src/gtk-ui/sync-ui.c:748
msgid "No sources are enabled, not syncing"
msgstr "Nenhuma fonte habilitada, não sincronizando."
-#: ../src/gtk-ui/sync-ui.c:764
+#: ../src/gtk-ui/sync-ui.c:765
msgid "A sync is already in progress"
msgstr "Sincronização já em andamento"
-#: ../src/gtk-ui/sync-ui.c:766
+#: ../src/gtk-ui/sync-ui.c:767
msgid "Failed to start sync"
msgstr "Falha no início da sincronização"
-#: ../src/gtk-ui/sync-ui.c:771
+#: ../src/gtk-ui/sync-ui.c:772
msgid "Starting sync"
msgstr "Iniciando sincronização"
-#: ../src/gtk-ui/sync-ui.c:796
+#: ../src/gtk-ui/sync-ui.c:797
msgid "Last synced just seconds ago"
msgstr "Ultima sincronização há segundos atrás"
-#: ../src/gtk-ui/sync-ui.c:799
+#: ../src/gtk-ui/sync-ui.c:800
msgid "Last synced a minute ago"
msgstr "Ultima sincronização há um minuto atrás"
-#: ../src/gtk-ui/sync-ui.c:802
+#: ../src/gtk-ui/sync-ui.c:803
#, c-format
msgid "Last synced %ld minutes ago"
msgstr "Ultima sincronização há: %ld minutos atrás"
-#: ../src/gtk-ui/sync-ui.c:805
+#: ../src/gtk-ui/sync-ui.c:806
msgid "Last synced an hour ago"
msgstr "Ultima sincronização há uma hora atrás"
-#: ../src/gtk-ui/sync-ui.c:808
+#: ../src/gtk-ui/sync-ui.c:809
#, c-format
msgid "Last synced %ld hours ago"
msgstr "Ultima sincronização há: %ld horas atrás"
-#: ../src/gtk-ui/sync-ui.c:811
+#: ../src/gtk-ui/sync-ui.c:812
msgid "Last synced a day ago"
msgstr "Ultima sincronização há um dia atrás"
-#: ../src/gtk-ui/sync-ui.c:814
+#: ../src/gtk-ui/sync-ui.c:815
#, c-format
msgid "Last synced %ld days ago"
msgstr "Ultima sincronização há: %ld dias atrás"
-#: ../src/gtk-ui/sync-ui.c:899
+#: ../src/gtk-ui/sync-ui.c:900
msgid "Sync again"
msgstr "Sincronize de novo"
-#: ../src/gtk-ui/sync-ui.c:901
+#: ../src/gtk-ui/sync-ui.c:902
#: ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
msgstr "Sincronize agora"
-#: ../src/gtk-ui/sync-ui.c:910
+#: ../src/gtk-ui/sync-ui.c:911
msgid "Syncing"
msgstr "Sincronizando"
-#: ../src/gtk-ui/sync-ui.c:916
+#: ../src/gtk-ui/sync-ui.c:917
msgid "Cancel sync"
msgstr "Cancelar sincronização"
#. TRANSLATORS: placeholder is a source name, shown with checkboxes in main window
-#: ../src/gtk-ui/sync-ui.c:1260
+#: ../src/gtk-ui/sync-ui.c:1261
#, c-format
msgid "%s (not supported by this service)"
msgstr "%s: (não suportado por este serviço)"
-#: ../src/gtk-ui/sync-ui.c:1293
+#: ../src/gtk-ui/sync-ui.c:1294
#, c-format
msgid "There was one remote rejection."
msgid_plural "There were %d remote rejections."
msgstr[0] "Houve uma rejeição remota."
msgstr[1] "Houve %d rejeições remotas."
-#: ../src/gtk-ui/sync-ui.c:1298
+#: ../src/gtk-ui/sync-ui.c:1299
#, c-format
msgid "There was one local rejection."
msgid_plural "There were %d local rejections."
msgstr[0] "Houve uma rejeição local."
msgstr[1] "Houve %d rejeições locais."
-#: ../src/gtk-ui/sync-ui.c:1303
+#: ../src/gtk-ui/sync-ui.c:1304
#, c-format
msgid "There were %d local rejections and %d remote rejections."
msgstr "Houve %d rejeições locais e %d rejeições remotas."
-#: ../src/gtk-ui/sync-ui.c:1308
+#: ../src/gtk-ui/sync-ui.c:1309
#, c-format
msgid "Last time: No changes."
msgstr "Ultima vez: sem mudanças."
-#: ../src/gtk-ui/sync-ui.c:1310
+#: ../src/gtk-ui/sync-ui.c:1311
#, c-format
msgid "Last time: Sent one change."
msgid_plural "Last time: Sent %d changes."
msgstr[0] "Ultima vez: Enviou uma mudança."
msgstr[1] "Ultima vez: Enviou %d mudanças."
-#: ../src/gtk-ui/sync-ui.c:1315
+#: ../src/gtk-ui/sync-ui.c:1316
#, c-format
msgid "Last time: Received one change."
msgid_plural "Last time: Received %d changes."
msgstr[0] "Ultima vez: Recebeu uma mudança."
msgstr[1] "Ultima vez: Recebeu %d mudanças."
-#: ../src/gtk-ui/sync-ui.c:1320
+#: ../src/gtk-ui/sync-ui.c:1321
#, c-format
msgid "Last time: Received %d changes and sent %d changes."
msgstr "Ultima vez: Recebidos %d mudanças e enviados %d mudanças."
-#: ../src/gtk-ui/sync-ui.c:1412
+#: ../src/gtk-ui/sync-ui.c:1413
msgid "Failed to get server configuration from SyncEvolution"
msgstr "Não conseguiu a configuração do servidor do SyncEvolution"
-#: ../src/gtk-ui/sync-ui.c:1478
+#: ../src/gtk-ui/sync-ui.c:1479
msgid "New service"
msgstr "Serviço novo"
-#: ../src/gtk-ui/sync-ui.c:1519
+#: ../src/gtk-ui/sync-ui.c:1520
msgid "Server URL"
msgstr "URL de servidor"
#. TRANSLATORS: placeholder is a source name in settings window
-#: ../src/gtk-ui/sync-ui.c:1539
+#: ../src/gtk-ui/sync-ui.c:1540
#, c-format
msgid "%s URI"
msgstr "URI: %s"
-#: ../src/gtk-ui/sync-ui.c:1674
+#: ../src/gtk-ui/sync-ui.c:1675
#: ../src/gtk-ui/ui.glade.h:17
msgid "Launch website"
msgstr "Iniciar o site na web"
-#: ../src/gtk-ui/sync-ui.c:1678
+#: ../src/gtk-ui/sync-ui.c:1679
msgid "Setup and use"
msgstr "Configure e use"
-#: ../src/gtk-ui/sync-ui.c:1724
+#: ../src/gtk-ui/sync-ui.c:1725
msgid "Failed to get list of manually setup services from SyncEvolution"
msgstr "Não conseguiu a lista de serviços configurados manualmente do SyncEvolution"
-#: ../src/gtk-ui/sync-ui.c:1765
+#: ../src/gtk-ui/sync-ui.c:1766
msgid "Failed to get list of supported services from SyncEvolution"
msgstr "Não conseguiu a lista de serviços suportados do SyncEvolution"
#. TODO: this is a hack... SyncEnd should be a signal of it's own,
#. not just hacked on top of the syncevolution error codes
-#: ../src/gtk-ui/sync-ui.c:1926
+#: ../src/gtk-ui/sync-ui.c:1927
msgid "Service configuration not found"
msgstr "Configuração de serviço não localizado"
-#: ../src/gtk-ui/sync-ui.c:1932
+#: ../src/gtk-ui/sync-ui.c:1933
msgid "Not authorized"
msgstr "Não autorizado"
-#: ../src/gtk-ui/sync-ui.c:1934
+#: ../src/gtk-ui/sync-ui.c:1935
msgid "Forbidden"
msgstr "Proibído"
-#: ../src/gtk-ui/sync-ui.c:1936
+#: ../src/gtk-ui/sync-ui.c:1937
msgid "Not found"
msgstr "Não localizado"
-#: ../src/gtk-ui/sync-ui.c:1938
+#: ../src/gtk-ui/sync-ui.c:1939
msgid "Fatal database error"
msgstr "Erro fatal no banco de dados"
-#: ../src/gtk-ui/sync-ui.c:1940
+#: ../src/gtk-ui/sync-ui.c:1941
msgid "Database error"
msgstr "Erro de banco de dados"
-#: ../src/gtk-ui/sync-ui.c:1942
+#: ../src/gtk-ui/sync-ui.c:1943
msgid "No space left"
msgstr "Não há mais espaço"
#. TODO identify problem item somehow ?
-#: ../src/gtk-ui/sync-ui.c:1945
+#: ../src/gtk-ui/sync-ui.c:1946
msgid "Failed to process SyncML"
msgstr "Falhou o processo de SyncML"
-#: ../src/gtk-ui/sync-ui.c:1947
+#: ../src/gtk-ui/sync-ui.c:1948
msgid "Server authorization failed"
msgstr "Autorização do servidor falhou"
-#: ../src/gtk-ui/sync-ui.c:1949
+#: ../src/gtk-ui/sync-ui.c:1950
msgid "Failed to parse configuration file"
msgstr "Falha na triagem do arquivo de configuração"
-#: ../src/gtk-ui/sync-ui.c:1951
+#: ../src/gtk-ui/sync-ui.c:1952
msgid "Failed to read configuration file"
msgstr "Falha na leitura do arquivo de configuração"
-#: ../src/gtk-ui/sync-ui.c:1953
+#: ../src/gtk-ui/sync-ui.c:1954
msgid "No configuration found"
msgstr "Nenhuma configuração encontrada"
-#: ../src/gtk-ui/sync-ui.c:1955
+#: ../src/gtk-ui/sync-ui.c:1956
msgid "No configuration file found"
msgstr "Nenhum arquivo de configuração encontrado"
-#: ../src/gtk-ui/sync-ui.c:1957
+#: ../src/gtk-ui/sync-ui.c:1958
msgid "Server sent bad content"
msgstr "Servidor enviou conteúdo ruim"
-#: ../src/gtk-ui/sync-ui.c:1959
+#: ../src/gtk-ui/sync-ui.c:1960
msgid "Transport failure (no connection?)"
msgstr "Falha de transporte (sem conexão?)"
-#: ../src/gtk-ui/sync-ui.c:1961
+#: ../src/gtk-ui/sync-ui.c:1962
msgid "Connection timed out"
msgstr "Conexão expirou"
-#: ../src/gtk-ui/sync-ui.c:1963
+#: ../src/gtk-ui/sync-ui.c:1964
msgid "Connection certificate has expired"
msgstr "Certificado de conexão vencido"
-#: ../src/gtk-ui/sync-ui.c:1965
+#: ../src/gtk-ui/sync-ui.c:1966
msgid "Connection certificate is invalid"
msgstr "Certificado de conexão inválido"
-#: ../src/gtk-ui/sync-ui.c:1968
+#: ../src/gtk-ui/sync-ui.c:1969
msgid "Connection failed"
msgstr "Conexão falhou"
-#: ../src/gtk-ui/sync-ui.c:1970
+#: ../src/gtk-ui/sync-ui.c:1971
msgid "URL is bad"
msgstr "URL está ruim"
-#: ../src/gtk-ui/sync-ui.c:1972
+#: ../src/gtk-ui/sync-ui.c:1973
msgid "Server not found"
msgstr "Servidor não localizado"
-#: ../src/gtk-ui/sync-ui.c:1974
+#: ../src/gtk-ui/sync-ui.c:1975
#, c-format
msgid "Error %d"
msgstr "Erro: %d"
-#: ../src/gtk-ui/sync-ui.c:1984
+#: ../src/gtk-ui/sync-ui.c:1985
msgid "Sync D-Bus service exited unexpectedly"
msgstr "Saída inesperada do serviço Sync D-Bus"
-#: ../src/gtk-ui/sync-ui.c:1987
-#: ../src/gtk-ui/sync-ui.c:2038
+#: ../src/gtk-ui/sync-ui.c:1988
+#: ../src/gtk-ui/sync-ui.c:2039
msgid "Sync Failed"
msgstr "Sinc. falhou"
-#: ../src/gtk-ui/sync-ui.c:2030
+#: ../src/gtk-ui/sync-ui.c:2031
msgid "Sync complete"
msgstr "Sinc. completado"
-#: ../src/gtk-ui/sync-ui.c:2035
+#: ../src/gtk-ui/sync-ui.c:2036
msgid "Sync canceled"
msgstr "Sinc. cancelado"
#. NOTE extra1 can be error here
-#: ../src/gtk-ui/sync-ui.c:2053
+#: ../src/gtk-ui/sync-ui.c:2054
msgid "Ending sync"
msgstr "Terminando sinc."
#. TRANSLATORS: placeholder is a source name (e.g. 'Calendar') in a progress text
-#: ../src/gtk-ui/sync-ui.c:2077
+#: ../src/gtk-ui/sync-ui.c:2078
#, c-format
msgid "Preparing '%s'"
msgstr "Preparando: '%s'"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2089
+#: ../src/gtk-ui/sync-ui.c:2090
#, c-format
msgid "Sending '%s'"
msgstr "Enviando: '%s"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2101
+#: ../src/gtk-ui/sync-ui.c:2102
#, c-format
msgid "Receiving '%s'"
msgstr "Recebendo: '%s'"
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-20 09:19+0000\n"
+"POT-Creation-Date: 2009-07-29 09:20+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: GLSSVE_GMartinson <gmartinson@gmail.com>\n"
"Language-Team: \n"
#: ../src/gtk-ui/sync-ui.c:262
msgid "Todo"
-msgstr "Attgöra"
+msgstr "Att göra"
#: ../src/gtk-ui/sync-ui.c:264
msgid "Memo"
msgid "Failed to remove service configuration from SyncEvolution"
msgstr "Misslyckades att radera tjänstekonfigurationen från SyncEvolution"
-#: ../src/gtk-ui/sync-ui.c:597
-msgid "Service must have a name"
-msgstr "Du måste ange ett namn på tjänsten."
+#: ../src/gtk-ui/sync-ui.c:598
+msgid "Service must have a name and server URL"
+msgstr "Du måste ange ett namn på tjänsten och URL till servern"
#. sync is no longer in progress for some reason
-#: ../src/gtk-ui/sync-ui.c:673
+#: ../src/gtk-ui/sync-ui.c:674
msgid "Failed to cancel: sync was no longer in progress"
msgstr "Misslyckades att avbryta: synkronisationen var inte igång"
-#: ../src/gtk-ui/sync-ui.c:677
+#: ../src/gtk-ui/sync-ui.c:678
msgid "Failed to cancel sync"
msgstr "Misslyckades med att avbryta synkronisering"
-#: ../src/gtk-ui/sync-ui.c:681
+#: ../src/gtk-ui/sync-ui.c:682
msgid "Canceling sync"
msgstr "Avbryter synkronisering"
-#: ../src/gtk-ui/sync-ui.c:695
+#: ../src/gtk-ui/sync-ui.c:696
msgid "Trying to cancel sync"
msgstr "Försöker att avbryta synkronisering"
-#: ../src/gtk-ui/sync-ui.c:702
+#: ../src/gtk-ui/sync-ui.c:703
#, c-format
msgid "Do you want to delete all local data and replace it with data from %s? This is not usually advised."
msgstr "Vill du radera all lokal data och ersätta den med data från %s? Detta rekommenderas ej vanligtvis."
-#: ../src/gtk-ui/sync-ui.c:707
+#: ../src/gtk-ui/sync-ui.c:708
#, c-format
msgid "Do you want to delete all data in %s and replace it with your local data? This is not usually advised."
msgstr "Vill du radera all data på %s och ersätta den med lokal data? Detta rekommenderas vanligtvis inte."
-#: ../src/gtk-ui/sync-ui.c:724
+#: ../src/gtk-ui/sync-ui.c:725
msgid "No, cancel sync"
msgstr "Nej, avbryt synkronisering "
-#: ../src/gtk-ui/sync-ui.c:725
+#: ../src/gtk-ui/sync-ui.c:726
msgid "Yes, delete and replace"
msgstr "Ja, radera och ersätt filer"
-#: ../src/gtk-ui/sync-ui.c:747
+#: ../src/gtk-ui/sync-ui.c:748
msgid "No sources are enabled, not syncing"
msgstr "Inga datakällor är anslutna, synkroniserar inte"
-#: ../src/gtk-ui/sync-ui.c:764
+#: ../src/gtk-ui/sync-ui.c:765
msgid "A sync is already in progress"
msgstr "En synkronisering pågår redan"
-#: ../src/gtk-ui/sync-ui.c:766
+#: ../src/gtk-ui/sync-ui.c:767
msgid "Failed to start sync"
msgstr "Misslyckades med att starta synkronisering"
-#: ../src/gtk-ui/sync-ui.c:771
+#: ../src/gtk-ui/sync-ui.c:772
msgid "Starting sync"
msgstr "Startar synkronisering"
-#: ../src/gtk-ui/sync-ui.c:796
+#: ../src/gtk-ui/sync-ui.c:797
msgid "Last synced just seconds ago"
msgstr "Senast synkroniserad endast för några sekunder sedan"
-#: ../src/gtk-ui/sync-ui.c:799
+#: ../src/gtk-ui/sync-ui.c:800
msgid "Last synced a minute ago"
msgstr "Senaste synkronisering för en minut sedan"
-#: ../src/gtk-ui/sync-ui.c:802
+#: ../src/gtk-ui/sync-ui.c:803
#, c-format
msgid "Last synced %ld minutes ago"
msgstr "Senaste synk %ld minuter sedan"
-#: ../src/gtk-ui/sync-ui.c:805
+#: ../src/gtk-ui/sync-ui.c:806
msgid "Last synced an hour ago"
msgstr "Senaste synkronisering för en timme sedan"
-#: ../src/gtk-ui/sync-ui.c:808
+#: ../src/gtk-ui/sync-ui.c:809
#, c-format
msgid "Last synced %ld hours ago"
msgstr "Senaste synk %ld timmar sedan"
-#: ../src/gtk-ui/sync-ui.c:811
+#: ../src/gtk-ui/sync-ui.c:812
msgid "Last synced a day ago"
msgstr "Senast synkroniserad igår"
-#: ../src/gtk-ui/sync-ui.c:814
+#: ../src/gtk-ui/sync-ui.c:815
#, c-format
msgid "Last synced %ld days ago"
msgstr "Senaste synk %ld dagar sedan"
-#: ../src/gtk-ui/sync-ui.c:899
+#: ../src/gtk-ui/sync-ui.c:900
msgid "Sync again"
msgstr "Synkronisera igen"
-#: ../src/gtk-ui/sync-ui.c:901
+#: ../src/gtk-ui/sync-ui.c:902
#: ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
msgstr "Synkronisera nu"
-#: ../src/gtk-ui/sync-ui.c:910
+#: ../src/gtk-ui/sync-ui.c:911
msgid "Syncing"
msgstr "Synkroniserar "
-#: ../src/gtk-ui/sync-ui.c:916
+#: ../src/gtk-ui/sync-ui.c:917
msgid "Cancel sync"
msgstr "Avbryt synkronisering"
#. TRANSLATORS: placeholder is a source name, shown with checkboxes in main window
-#: ../src/gtk-ui/sync-ui.c:1260
+#: ../src/gtk-ui/sync-ui.c:1261
#, c-format
msgid "%s (not supported by this service)"
msgstr "%s (stöds inte av denna tjänst)"
-#: ../src/gtk-ui/sync-ui.c:1293
+#: ../src/gtk-ui/sync-ui.c:1294
#, c-format
msgid "There was one remote rejection."
msgid_plural "There were %d remote rejections."
msgstr[0] "Det finns en fjärr refusering"
msgstr[1] "Det finns %d fjärr refuseringar"
-#: ../src/gtk-ui/sync-ui.c:1298
+#: ../src/gtk-ui/sync-ui.c:1299
#, c-format
msgid "There was one local rejection."
msgid_plural "There were %d local rejections."
msgstr[0] "Det finns en lokal refusering"
msgstr[1] "Det finns %d lokala refuseringar"
-#: ../src/gtk-ui/sync-ui.c:1303
+#: ../src/gtk-ui/sync-ui.c:1304
#, c-format
msgid "There were %d local rejections and %d remote rejections."
msgstr "Det finns %d lokala refuseringar och %d fjärr refuseringar"
-#: ../src/gtk-ui/sync-ui.c:1308
+#: ../src/gtk-ui/sync-ui.c:1309
#, c-format
msgid "Last time: No changes."
msgstr "Senast: Inga ändringar."
-#: ../src/gtk-ui/sync-ui.c:1310
+#: ../src/gtk-ui/sync-ui.c:1311
#, c-format
msgid "Last time: Sent one change."
msgid_plural "Last time: Sent %d changes."
msgstr[0] "Senast: Skickade en ändring"
msgstr[1] "Senast: Skickade %d ändringar"
-#: ../src/gtk-ui/sync-ui.c:1315
+#: ../src/gtk-ui/sync-ui.c:1316
#, c-format
msgid "Last time: Received one change."
msgid_plural "Last time: Received %d changes."
msgstr[0] "Senast: Mottog en ändring"
msgstr[1] "Senast: Mottog %d ändringar"
-#: ../src/gtk-ui/sync-ui.c:1320
+#: ../src/gtk-ui/sync-ui.c:1321
#, c-format
msgid "Last time: Received %d changes and sent %d changes."
msgstr "Senast: Mottog %d ändringar och skickade %d ändringar"
-#: ../src/gtk-ui/sync-ui.c:1412
+#: ../src/gtk-ui/sync-ui.c:1413
msgid "Failed to get server configuration from SyncEvolution"
msgstr "Misslyckades med att hämta serverkonfiguration från SyncEvolution"
-#: ../src/gtk-ui/sync-ui.c:1478
+#: ../src/gtk-ui/sync-ui.c:1479
msgid "New service"
msgstr "Ny tjänst"
-#: ../src/gtk-ui/sync-ui.c:1519
+#: ../src/gtk-ui/sync-ui.c:1520
msgid "Server URL"
msgstr "URL server"
#. TRANSLATORS: placeholder is a source name in settings window
-#: ../src/gtk-ui/sync-ui.c:1539
+#: ../src/gtk-ui/sync-ui.c:1540
#, c-format
msgid "%s URI"
msgstr "%s URI"
-#: ../src/gtk-ui/sync-ui.c:1674
+#: ../src/gtk-ui/sync-ui.c:1675
#: ../src/gtk-ui/ui.glade.h:17
msgid "Launch website"
msgstr "Öppna webbplatsen "
-#: ../src/gtk-ui/sync-ui.c:1678
+#: ../src/gtk-ui/sync-ui.c:1679
msgid "Setup and use"
msgstr "Inställningar"
-#: ../src/gtk-ui/sync-ui.c:1724
+#: ../src/gtk-ui/sync-ui.c:1725
msgid "Failed to get list of manually setup services from SyncEvolution"
msgstr "Misslyckades att få en lista av manuella inställningstjänster från SyncEvolution"
-#: ../src/gtk-ui/sync-ui.c:1765
+#: ../src/gtk-ui/sync-ui.c:1766
msgid "Failed to get list of supported services from SyncEvolution"
msgstr "Misslyckades att få en lista med tjänster som stöds från SyncEvolution"
#. TODO: this is a hack... SyncEnd should be a signal of it's own,
#. not just hacked on top of the syncevolution error codes
-#: ../src/gtk-ui/sync-ui.c:1926
+#: ../src/gtk-ui/sync-ui.c:1927
msgid "Service configuration not found"
msgstr "Konfigurationsfilen hittades inte"
-#: ../src/gtk-ui/sync-ui.c:1932
+#: ../src/gtk-ui/sync-ui.c:1933
msgid "Not authorized"
msgstr "Inte tillåten"
-#: ../src/gtk-ui/sync-ui.c:1934
+#: ../src/gtk-ui/sync-ui.c:1935
msgid "Forbidden"
msgstr "Förbjuden"
-#: ../src/gtk-ui/sync-ui.c:1936
+#: ../src/gtk-ui/sync-ui.c:1937
msgid "Not found"
msgstr "Hittades inte"
-#: ../src/gtk-ui/sync-ui.c:1938
+#: ../src/gtk-ui/sync-ui.c:1939
msgid "Fatal database error"
msgstr "Ödesdigert fel: databasfel"
-#: ../src/gtk-ui/sync-ui.c:1940
+#: ../src/gtk-ui/sync-ui.c:1941
msgid "Database error"
msgstr "Databasfel"
-#: ../src/gtk-ui/sync-ui.c:1942
+#: ../src/gtk-ui/sync-ui.c:1943
msgid "No space left"
msgstr "inte tillräckligt med diskutrymme"
#. TODO identify problem item somehow ?
-#: ../src/gtk-ui/sync-ui.c:1945
+#: ../src/gtk-ui/sync-ui.c:1946
msgid "Failed to process SyncML"
msgstr "Misslyckades att hantera SyncML"
-#: ../src/gtk-ui/sync-ui.c:1947
+#: ../src/gtk-ui/sync-ui.c:1948
msgid "Server authorization failed"
msgstr "Misslyckades att ansluta till server"
-#: ../src/gtk-ui/sync-ui.c:1949
+#: ../src/gtk-ui/sync-ui.c:1950
msgid "Failed to parse configuration file"
msgstr "Misslyckades med att analysera konfigurationsfilen "
-#: ../src/gtk-ui/sync-ui.c:1951
+#: ../src/gtk-ui/sync-ui.c:1952
msgid "Failed to read configuration file"
msgstr "Misslyckades med att öppna konfigurationsfilen"
-#: ../src/gtk-ui/sync-ui.c:1953
+#: ../src/gtk-ui/sync-ui.c:1954
msgid "No configuration found"
msgstr "Konfiurationen hittades inte"
-#: ../src/gtk-ui/sync-ui.c:1955
+#: ../src/gtk-ui/sync-ui.c:1956
msgid "No configuration file found"
msgstr "Konfigurationsfilen hittades inte"
-#: ../src/gtk-ui/sync-ui.c:1957
+#: ../src/gtk-ui/sync-ui.c:1958
msgid "Server sent bad content"
msgstr "Server skickade felaktigt innehåll"
-#: ../src/gtk-ui/sync-ui.c:1959
+#: ../src/gtk-ui/sync-ui.c:1960
msgid "Transport failure (no connection?)"
msgstr "Överföringsfel (ingen anslutning)?"
-#: ../src/gtk-ui/sync-ui.c:1961
+#: ../src/gtk-ui/sync-ui.c:1962
msgid "Connection timed out"
msgstr "Anslutningstiden överskreds"
-#: ../src/gtk-ui/sync-ui.c:1963
+#: ../src/gtk-ui/sync-ui.c:1964
msgid "Connection certificate has expired"
msgstr "Utfärdat certifikat har gått ut"
-#: ../src/gtk-ui/sync-ui.c:1965
+#: ../src/gtk-ui/sync-ui.c:1966
msgid "Connection certificate is invalid"
msgstr "Anslutningscertifikatet är ogiltig."
-#: ../src/gtk-ui/sync-ui.c:1968
+#: ../src/gtk-ui/sync-ui.c:1969
msgid "Connection failed"
msgstr "Anslutningen misslyckades"
-#: ../src/gtk-ui/sync-ui.c:1970
+#: ../src/gtk-ui/sync-ui.c:1971
msgid "URL is bad"
msgstr "Felaktig URL"
-#: ../src/gtk-ui/sync-ui.c:1972
+#: ../src/gtk-ui/sync-ui.c:1973
msgid "Server not found"
msgstr "Server kunde inte hittas"
-#: ../src/gtk-ui/sync-ui.c:1974
+#: ../src/gtk-ui/sync-ui.c:1975
#, c-format
msgid "Error %d"
msgstr "Fel %d"
-#: ../src/gtk-ui/sync-ui.c:1984
+#: ../src/gtk-ui/sync-ui.c:1985
msgid "Sync D-Bus service exited unexpectedly"
msgstr "Synktjänsten D-Bus avslutades"
-#: ../src/gtk-ui/sync-ui.c:1987
-#: ../src/gtk-ui/sync-ui.c:2038
+#: ../src/gtk-ui/sync-ui.c:1988
+#: ../src/gtk-ui/sync-ui.c:2039
msgid "Sync Failed"
-msgstr "Synkronisering misslyckades"
+msgstr "Synk misslyckades"
-#: ../src/gtk-ui/sync-ui.c:2030
+#: ../src/gtk-ui/sync-ui.c:2031
msgid "Sync complete"
-msgstr "Synkronisering färdig"
+msgstr "Synk färdig"
-#: ../src/gtk-ui/sync-ui.c:2035
+#: ../src/gtk-ui/sync-ui.c:2036
msgid "Sync canceled"
-msgstr "Synkronisering avbruten"
+msgstr "Synk avbruten"
#. NOTE extra1 can be error here
-#: ../src/gtk-ui/sync-ui.c:2053
+#: ../src/gtk-ui/sync-ui.c:2054
msgid "Ending sync"
-msgstr "Avslutar synkronisering"
+msgstr "Avslutar synk"
#. TRANSLATORS: placeholder is a source name (e.g. 'Calendar') in a progress text
-#: ../src/gtk-ui/sync-ui.c:2077
+#: ../src/gtk-ui/sync-ui.c:2078
#, c-format
msgid "Preparing '%s'"
msgstr "Förbereder '%s'"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2089
+#: ../src/gtk-ui/sync-ui.c:2090
#, c-format
msgid "Sending '%s'"
msgstr "Skickas till '%s'"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2101
+#: ../src/gtk-ui/sync-ui.c:2102
#, c-format
msgid "Receiving '%s'"
msgstr "Tas emot från '%s'"
# This file is distributed under the same license as the PACKAGE package.
# Zhu Yanhai <yanhai.zhu@intel.com>, 2009.
#
-#: ../src/gtk-ui/sync-ui.c:762
+#: ../src/gtk-ui/sync-ui.c:763
msgid ""
msgstr ""
"Project-Id-Version: syncevolution\n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-20 09:19+0000\n"
-"PO-Revision-Date: 2009-06-08 11:44+0800\n"
+"POT-Creation-Date: 2009-07-27 09:20+0000\n"
+"PO-Revision-Date: 2009-07-28 11:44+0800\n"
"Last-Translator: Zhu Yanhai <yanhai.zhu@intel.com>\n"
"Language-Team: zh_CN <yanhai.zhu@intel.com\n"
"MIME-Version: 1.0\n"
msgid "Failed to remove service configuration from SyncEvolution"
msgstr "试图从SyncEvolution中删除服务配置信息时失败"
-#: ../src/gtk-ui/sync-ui.c:597
-msgid "Service must have a name"
-msgstr "需要给服务命名"
+#: ../src/gtk-ui/sync-ui.c:598
+msgid "Service must have a name and server URL"
+msgstr "需要给服务指定一个名字和服务器地址"
#. sync is no longer in progress for some reason
-#: ../src/gtk-ui/sync-ui.c:673
+#: ../src/gtk-ui/sync-ui.c:674
msgid "Failed to cancel: sync was no longer in progress"
msgstr "不能取消: 同步已经停止"
-#: ../src/gtk-ui/sync-ui.c:677
+#: ../src/gtk-ui/sync-ui.c:678
msgid "Failed to cancel sync"
msgstr "取消同步失败"
-#: ../src/gtk-ui/sync-ui.c:681
+#: ../src/gtk-ui/sync-ui.c:682
msgid "Canceling sync"
msgstr "正在取消同步"
-#: ../src/gtk-ui/sync-ui.c:695
+#: ../src/gtk-ui/sync-ui.c:696
msgid "Trying to cancel sync"
msgstr "尝试取消同步"
-#: ../src/gtk-ui/sync-ui.c:702
+#: ../src/gtk-ui/sync-ui.c:703
#, c-format
msgid ""
"Do you want to delete all local data and replace it with data from %s? This "
"is not usually advised."
msgstr "您想删除所有本地数据并用来自%s的数据替代它们吗?通常我们不建议您这样做."
-#: ../src/gtk-ui/sync-ui.c:707
+#: ../src/gtk-ui/sync-ui.c:708
#, c-format
msgid ""
"Do you want to delete all data in %s and replace it with your local data? "
msgstr ""
"您想删除%s中的所有数据并用您的本地数据来替代它们吗?通常我们不建议您这样做"
-#: ../src/gtk-ui/sync-ui.c:724
+#: ../src/gtk-ui/sync-ui.c:725
msgid "No, cancel sync"
msgstr "不,取消同步"
-#: ../src/gtk-ui/sync-ui.c:725
+#: ../src/gtk-ui/sync-ui.c:726
msgid "Yes, delete and replace"
msgstr "是的,删除然后替代"
-#: ../src/gtk-ui/sync-ui.c:747
+#: ../src/gtk-ui/sync-ui.c:748
msgid "No sources are enabled, not syncing"
msgstr "没有可用数据来源,同步未进行"
-#: ../src/gtk-ui/sync-ui.c:764
+#: ../src/gtk-ui/sync-ui.c:765
msgid "A sync is already in progress"
msgstr "同步操作已在进行中"
-#: ../src/gtk-ui/sync-ui.c:766
+#: ../src/gtk-ui/sync-ui.c:767
msgid "Failed to start sync"
msgstr "不能开始同步"
-#: ../src/gtk-ui/sync-ui.c:771
+#: ../src/gtk-ui/sync-ui.c:772
msgid "Starting sync"
msgstr "正在开始同步"
-#: ../src/gtk-ui/sync-ui.c:796
+#: ../src/gtk-ui/sync-ui.c:797
msgid "Last synced just seconds ago"
msgstr "最近一次同步操作已于几秒前执行"
-#: ../src/gtk-ui/sync-ui.c:799
+#: ../src/gtk-ui/sync-ui.c:800
msgid "Last synced a minute ago"
msgstr "最近一次同步操作于一分钟前执行"
-#: ../src/gtk-ui/sync-ui.c:802
+#: ../src/gtk-ui/sync-ui.c:803
#, c-format
msgid "Last synced %ld minutes ago"
msgstr "最近一次同步操作于%ld分钟前执行"
-#: ../src/gtk-ui/sync-ui.c:805
+#: ../src/gtk-ui/sync-ui.c:806
msgid "Last synced an hour ago"
msgstr "最近一次同步操作于一小时前执行"
-#: ../src/gtk-ui/sync-ui.c:808
+#: ../src/gtk-ui/sync-ui.c:809
#, c-format
msgid "Last synced %ld hours ago"
msgstr "最近一次同步操作于%ld小时前执行"
-#: ../src/gtk-ui/sync-ui.c:811
+#: ../src/gtk-ui/sync-ui.c:812
msgid "Last synced a day ago"
msgstr "最近一次同步操作于一天前进行"
-#: ../src/gtk-ui/sync-ui.c:814
+#: ../src/gtk-ui/sync-ui.c:815
#, c-format
msgid "Last synced %ld days ago"
msgstr "最近一次同步操作于%ld天前进行"
-#: ../src/gtk-ui/sync-ui.c:899
+#: ../src/gtk-ui/sync-ui.c:900
msgid "Sync again"
msgstr "再次同步"
-#: ../src/gtk-ui/sync-ui.c:901 ../src/gtk-ui/ui.glade.h:29
+#: ../src/gtk-ui/sync-ui.c:902 ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
msgstr "现在同步"
-#: ../src/gtk-ui/sync-ui.c:910
+#: ../src/gtk-ui/sync-ui.c:911
msgid "Syncing"
msgstr "正在同步"
-#: ../src/gtk-ui/sync-ui.c:916
+#: ../src/gtk-ui/sync-ui.c:917
msgid "Cancel sync"
msgstr "取消同步"
#. TRANSLATORS: placeholder is a source name, shown with checkboxes in main window
-#: ../src/gtk-ui/sync-ui.c:1260
+#: ../src/gtk-ui/sync-ui.c:1261
#, c-format
msgid "%s (not supported by this service)"
msgstr "%s (不被当前服务所支持)"
-#: ../src/gtk-ui/sync-ui.c:1293
+#: ../src/gtk-ui/sync-ui.c:1294
#, c-format
msgid "There was one remote rejection."
msgid_plural "There were %d remote rejections."
msgstr[0] "出现了一个远端拒绝"
msgstr[1] "出现了%d个远端拒绝"
-#: ../src/gtk-ui/sync-ui.c:1298
+#: ../src/gtk-ui/sync-ui.c:1299
#, c-format
msgid "There was one local rejection."
msgid_plural "There were %d local rejections."
msgstr[0] "出现了一个本地拒绝"
msgstr[1] "出现了%d个本地拒绝"
-#: ../src/gtk-ui/sync-ui.c:1303
+#: ../src/gtk-ui/sync-ui.c:1304
#, c-format
msgid "There were %d local rejections and %d remote rejections."
msgstr "一共出现了%d个本地拒绝和%d个远端拒绝"
-#: ../src/gtk-ui/sync-ui.c:1308
+#: ../src/gtk-ui/sync-ui.c:1309
#, c-format
msgid "Last time: No changes."
msgstr "最近一次: 没有更改"
-#: ../src/gtk-ui/sync-ui.c:1310
+#: ../src/gtk-ui/sync-ui.c:1311
#, c-format
msgid "Last time: Sent one change."
msgid_plural "Last time: Sent %d changes."
msgstr[0] "最近一次: 发送了一个更改"
msgstr[1] "最近一次: 发现了%d个更改"
-#: ../src/gtk-ui/sync-ui.c:1315
+#: ../src/gtk-ui/sync-ui.c:1316
#, c-format
msgid "Last time: Received one change."
msgid_plural "Last time: Received %d changes."
msgstr[0] "最近一次: 收到了一个更改"
msgstr[1] "最近一次: 收到了%d个更改"
-#: ../src/gtk-ui/sync-ui.c:1320
+#: ../src/gtk-ui/sync-ui.c:1321
#, c-format
msgid "Last time: Received %d changes and sent %d changes."
msgstr "最近一次: 收到了%d个更改并发送了%d个更改"
-#: ../src/gtk-ui/sync-ui.c:1412
+#: ../src/gtk-ui/sync-ui.c:1413
msgid "Failed to get server configuration from SyncEvolution"
msgstr "未能从SyncEvolution处取得服务器配置信息"
-#: ../src/gtk-ui/sync-ui.c:1478
+#: ../src/gtk-ui/sync-ui.c:1479
msgid "New service"
msgstr "新服务"
-#: ../src/gtk-ui/sync-ui.c:1519
+#: ../src/gtk-ui/sync-ui.c:1520
msgid "Server URL"
msgstr "服务器的URL"
#. TRANSLATORS: placeholder is a source name in settings window
-#: ../src/gtk-ui/sync-ui.c:1539
+#: ../src/gtk-ui/sync-ui.c:1540
#, c-format
msgid "%s URI"
msgstr "%s URI"
-#: ../src/gtk-ui/sync-ui.c:1674 ../src/gtk-ui/ui.glade.h:17
+#: ../src/gtk-ui/sync-ui.c:1675 ../src/gtk-ui/ui.glade.h:17
msgid "Launch website"
msgstr "打开站点"
-#: ../src/gtk-ui/sync-ui.c:1678
+#: ../src/gtk-ui/sync-ui.c:1679
msgid "Setup and use"
msgstr "配置并使用"
-#: ../src/gtk-ui/sync-ui.c:1724
+#: ../src/gtk-ui/sync-ui.c:1725
msgid "Failed to get list of manually setup services from SyncEvolution"
msgstr "未能从SyncEvolution取得手动设置服务列表"
-#: ../src/gtk-ui/sync-ui.c:1765
+#: ../src/gtk-ui/sync-ui.c:1766
msgid "Failed to get list of supported services from SyncEvolution"
msgstr "未能从SyncEvolution得到支持的服务列表"
#. TODO: this is a hack... SyncEnd should be a signal of it's own,
#. not just hacked on top of the syncevolution error codes
-#: ../src/gtk-ui/sync-ui.c:1926
+#: ../src/gtk-ui/sync-ui.c:1927
msgid "Service configuration not found"
msgstr "服务配置没找到"
-#: ../src/gtk-ui/sync-ui.c:1932
+#: ../src/gtk-ui/sync-ui.c:1933
msgid "Not authorized"
msgstr "未认证"
-#: ../src/gtk-ui/sync-ui.c:1934
+#: ../src/gtk-ui/sync-ui.c:1935
msgid "Forbidden"
msgstr "被禁止"
-#: ../src/gtk-ui/sync-ui.c:1936
+#: ../src/gtk-ui/sync-ui.c:1937
msgid "Not found"
msgstr "没找到"
-#: ../src/gtk-ui/sync-ui.c:1938
+#: ../src/gtk-ui/sync-ui.c:1939
msgid "Fatal database error"
msgstr "严重的数据库错误"
-#: ../src/gtk-ui/sync-ui.c:1940
+#: ../src/gtk-ui/sync-ui.c:1941
msgid "Database error"
msgstr "数据库错误"
-#: ../src/gtk-ui/sync-ui.c:1942
+#: ../src/gtk-ui/sync-ui.c:1943
msgid "No space left"
msgstr "没有剩余空间"
#. TODO identify problem item somehow ?
-#: ../src/gtk-ui/sync-ui.c:1945
+#: ../src/gtk-ui/sync-ui.c:1946
msgid "Failed to process SyncML"
msgstr "处理SyncML失败"
-#: ../src/gtk-ui/sync-ui.c:1947
+#: ../src/gtk-ui/sync-ui.c:1948
msgid "Server authorization failed"
msgstr "服务器认证失败"
-#: ../src/gtk-ui/sync-ui.c:1949
+#: ../src/gtk-ui/sync-ui.c:1950
msgid "Failed to parse configuration file"
msgstr "解析配置文件出错"
-#: ../src/gtk-ui/sync-ui.c:1951
+#: ../src/gtk-ui/sync-ui.c:1952
msgid "Failed to read configuration file"
msgstr "读配置文件时出错"
-#: ../src/gtk-ui/sync-ui.c:1953
+#: ../src/gtk-ui/sync-ui.c:1954
msgid "No configuration found"
msgstr "未找到配置"
-#: ../src/gtk-ui/sync-ui.c:1955
+#: ../src/gtk-ui/sync-ui.c:1956
msgid "No configuration file found"
msgstr "未找到配置文件"
-#: ../src/gtk-ui/sync-ui.c:1957
+#: ../src/gtk-ui/sync-ui.c:1958
msgid "Server sent bad content"
msgstr "服务器发送的内容错误"
-#: ../src/gtk-ui/sync-ui.c:1959
+#: ../src/gtk-ui/sync-ui.c:1960
msgid "Transport failure (no connection?)"
msgstr "传输错误(没建立连接?)"
-#: ../src/gtk-ui/sync-ui.c:1961
+#: ../src/gtk-ui/sync-ui.c:1962
msgid "Connection timed out"
msgstr "连接超时"
-#: ../src/gtk-ui/sync-ui.c:1963
+#: ../src/gtk-ui/sync-ui.c:1964
msgid "Connection certificate has expired"
msgstr "该连接的认证已过期"
-#: ../src/gtk-ui/sync-ui.c:1965
+#: ../src/gtk-ui/sync-ui.c:1966
msgid "Connection certificate is invalid"
msgstr "连接认证不合法"
-#: ../src/gtk-ui/sync-ui.c:1968
+#: ../src/gtk-ui/sync-ui.c:1969
msgid "Connection failed"
msgstr "连接失败"
-#: ../src/gtk-ui/sync-ui.c:1970
+#: ../src/gtk-ui/sync-ui.c:1971
msgid "URL is bad"
msgstr "URL有误"
-#: ../src/gtk-ui/sync-ui.c:1972
+#: ../src/gtk-ui/sync-ui.c:1973
msgid "Server not found"
msgstr "没找到服务器"
-#: ../src/gtk-ui/sync-ui.c:1974
+#: ../src/gtk-ui/sync-ui.c:1975
#, c-format
msgid "Error %d"
msgstr "错误 %d"
-#: ../src/gtk-ui/sync-ui.c:1984
+#: ../src/gtk-ui/sync-ui.c:1985
msgid "Sync D-Bus service exited unexpectedly"
msgstr "Sync的D-Bus服务异常退出"
-#: ../src/gtk-ui/sync-ui.c:1987 ../src/gtk-ui/sync-ui.c:2038
+#: ../src/gtk-ui/sync-ui.c:1988 ../src/gtk-ui/sync-ui.c:2039
msgid "Sync Failed"
msgstr "同步失败"
-#: ../src/gtk-ui/sync-ui.c:2030
+#: ../src/gtk-ui/sync-ui.c:2031
msgid "Sync complete"
msgstr "同步完成"
-#: ../src/gtk-ui/sync-ui.c:2035
+#: ../src/gtk-ui/sync-ui.c:2036
msgid "Sync canceled"
msgstr "同步被取消"
#. NOTE extra1 can be error here
-#: ../src/gtk-ui/sync-ui.c:2053
+#: ../src/gtk-ui/sync-ui.c:2054
msgid "Ending sync"
msgstr "结束同步"
#. TRANSLATORS: placeholder is a source name (e.g. 'Calendar') in a progress text
-#: ../src/gtk-ui/sync-ui.c:2077
+#: ../src/gtk-ui/sync-ui.c:2078
#, c-format
msgid "Preparing '%s'"
msgstr "正在准备 '%s'"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2089
+#: ../src/gtk-ui/sync-ui.c:2090
#, c-format
msgid "Sending '%s'"
msgstr "正在发送 '%s'"
#. TRANSLATORS: placeholder is a source name in a progress text
-#: ../src/gtk-ui/sync-ui.c:2101
+#: ../src/gtk-ui/sync-ui.c:2102
#, c-format
msgid "Receiving '%s'"
msgstr "正在接收 '%s'"
+#: ../src/gtk-ui/sync-ui.c:763
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://moblin.org/projects/syncevolution\n"
-"POT-Creation-Date: 2009-07-22 09:19+0000\n"
+"POT-Creation-Date: 2009-07-29 09:20+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: Glscht_Wen <wen.hsinx.moh@intel.com>\n"
"Language-Team: \n"
#: ../src/gtk-ui/sync-ui.c:703
#, c-format
-msgid "Do you want to delete all local data and replace it with data from %s? This is not usually advised."
+msgid ""
+"Do you want to delete all local data and replace it with data from %s? This "
+"is not usually advised."
msgstr "你要刪除所有本機資料,並以在%s上的資料取代?我們通常不建議這麼做。"
#: ../src/gtk-ui/sync-ui.c:708
#, c-format
-msgid "Do you want to delete all data in %s and replace it with your local data? This is not usually advised."
-msgstr "你要刪除所有在%s上的資料,並以在本機上的資料取代?我們通常不建議這麼做。"
+msgid ""
+"Do you want to delete all data in %s and replace it with your local data? "
+"This is not usually advised."
+msgstr ""
+"你要刪除所有在%s上的資料,並以在本機上的資料取代?我們通常不建議這麼做。"
#: ../src/gtk-ui/sync-ui.c:725
msgid "No, cancel sync"
msgid "Sync again"
msgstr "再次同步"
-#: ../src/gtk-ui/sync-ui.c:902
-#: ../src/gtk-ui/ui.glade.h:29
+#: ../src/gtk-ui/sync-ui.c:902 ../src/gtk-ui/ui.glade.h:29
msgid "Sync now"
msgstr "現在同步"
msgid "%s URI"
msgstr "%s URI"
-#: ../src/gtk-ui/sync-ui.c:1675
-#: ../src/gtk-ui/ui.glade.h:17
+#: ../src/gtk-ui/sync-ui.c:1675 ../src/gtk-ui/ui.glade.h:17
msgid "Launch website"
msgstr "開啟網站"
msgid "Sync D-Bus service exited unexpectedly"
msgstr "同步 D-Bus 服務在沒有預料的情況下離開"
-#: ../src/gtk-ui/sync-ui.c:1988
-#: ../src/gtk-ui/sync-ui.c:2039
+#: ../src/gtk-ui/sync-ui.c:1988 ../src/gtk-ui/sync-ui.c:2039
msgid "Sync Failed"
msgstr "同步失敗"
#: ../src/gtk-ui/ui.glade.h:15
msgid ""
-"If you don't see your service above but know that your sync provider uses SyncML\n"
+"If you don't see your service above but know that your sync provider uses "
+"SyncML\n"
"you can setup a service manually."
msgstr ""
"如果你在上面沒有看到你的服務,但是你知道你的同步提供者使用 SyncML,\n"
msgid "Stop using this service"
msgstr "停止使用此服務"
-#: ../src/gtk-ui/ui.glade.h:28
-#: ../src/gtk-ui/sync.desktop.in.h:1
+#: ../src/gtk-ui/ui.glade.h:28 ../src/gtk-ui/sync.desktop.in.h:1
msgid "Sync"
msgstr "同步"
#: ../src/gtk-ui/ui.glade.h:30
-msgid "Synchronization is not available (D-Bus service does not answer), sorry."
+msgid ""
+"Synchronization is not available (D-Bus service does not answer), sorry."
msgstr "非常抱歉,因為 D-Bus 服務沒有回應,所以不提供同步化。"
#: ../src/gtk-ui/ui.glade.h:31
msgid ""
-"To sync you'll need a network connection and an account with a sync service.\n"
+"To sync you'll need a network connection and an account with a sync "
+"service.\n"
"We support the following services: "
msgstr ""
"要同步,你必須有網路連線和同步服務帳戶。\n"
msgid ""
"You haven't set up a sync service yet. Sync services let you \n"
"synchronize your data between your netbook and a web service."
-msgstr "你尚未設定一個同步服務。同步服務讓你在你的隨身型易網機和網路服務之間同步進行數據。"
+msgstr ""
+"你尚未設定一個同步服務。同步服務讓你在你的隨身型易網機和網路服務之間同步進行"
+"數據。"
#: ../src/gtk-ui/sync.desktop.in.h:2
msgid "Up to date"
#~ msgid "Bring your data with you"
#~ msgstr "請帶攜你的數據"
-
EvolutionSyncSource &source,
int32_t extra1, int32_t extra2, int32_t extra3)
{
- m_progress (g_strdup (source.getName()), type, extra1, extra2, extra3, m_userdata);
+ m_progress (g_strdup (source.getName()), type, extra1, extra2,
+ // Synthesis engine doesn't count locally
+ // deleted items during
+ // refresh-from-server. That's a matter of
+ // taste. In SyncEvolution we'd like these
+ // items to show up, so add it here.
+ (type == sysync::PEV_DSSTATS_L &&
+ source.getFinalSyncMode() == SYNC_REFRESH_FROM_SERVER) ?
+ source.getNumDeleted() :
+ extra3,
+ m_userdata);
EvolutionSyncClient::displaySourceProgress(type, source, extra1, extra2, extra3);
}
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
LoggerBase::instance().setLevel(Logger::DEBUG);
std::string root = std::string("evolution/") + server + "_" + id;
EvolutionSyncConfig config(string(server) + "_" + id);
+ boost::shared_ptr<EvolutionSyncConfig> from = boost::shared_ptr<EvolutionSyncConfig> ();
+
if (!config.exists()) {
// no configuration yet
config.setDefaults();
+ from = EvolutionSyncConfig::createServerTemplate(server);
+ if(from) {
+ set<string> filter;
+ config.copy(*from, &filter);
+ }
config.setDevID(id == "1" ? "sc-api-nat" : "sc-pim-ppc");
}
BOOST_FOREACH(const RegisterSyncSourceTest *test, m_configs) {
sc = config.getSyncSourceConfig(testconfig.sourceName);
CPPUNIT_ASSERT(sc);
sc->setURI(testconfig.uri);
+ if(from && testconfig.sourceNameServerTemplate){
+ boost::shared_ptr<EvolutionSyncSourceConfig> scServerTemplate = from->getSyncSourceConfig(testconfig.sourceNameServerTemplate);
+ sc->setURI(scServerTemplate->getURI());
+ }
sc->setSourceType(testconfig.type);
}
source.setItemStat(EvolutionSyncSource::ITEM_LOCAL,
EvolutionSyncSource::ITEM_REMOVED,
EvolutionSyncSource::ITEM_TOTAL,
+ // Synthesis engine doesn't count locally
+ // deleted items during
+ // refresh-from-server. That's a matter of
+ // taste. In SyncEvolution we'd like these
+ // items to show up, so add it here.
+ source.getFinalSyncMode() == SYNC_REFRESH_FROM_SERVER ?
+ source.getNumDeleted() :
extra3);
break;
case sysync::PEV_DSSTATS_R:
" <logformat>html</logformat>\n"
" <folding>auto</folding>\n"
" <timestamp>yes</timestamp>\n"
- " <timestampall>no</timestampall>\n"
+ " <timestampall>yes</timestampall>\n"
" <timedsessionlognames>no</timedsessionlognames>\n"
" <subthreadmode>suppress</subthreadmode>\n"
" <logsessionstoglobal>yes</logsessionstoglobal>\n"
SyncMLStatus EvolutionSyncSource::deleteItem(SyncItem& item) throw()
{
- return processItem("delete", &EvolutionSyncSource::deleteItemThrow, item, false);
+ SyncMLStatus status = processItem("delete", &EvolutionSyncSource::deleteItemThrow, item, false);
+ if (status == STATUS_OK) {
+ incrementNumDeleted();
+ }
+ return status;
}
SyncMLStatus EvolutionSyncSource::removeAllItems() throw()
item.setKey(key.c_str());
logItem(item, "delete all items");
deleteItemThrow(item);
+ incrementNumDeleted();
m_isModified = true;
}
} catch (...) {
m_deletedItems( *this, "deleted", SyncItem::DELETED ),
m_isModified( false ),
m_modTimeStamp(0),
+ m_numDeleted(0),
m_hasFailed( false )
{
}
va_list args);
/**@}*/
+ long getNumDeleted() { return m_numDeleted; }
+ void setNumDeleted(long num) { m_numDeleted = num; }
+ void incrementNumDeleted() { m_numDeleted++; }
+
protected:
#ifdef HAVE_EDS
/**
/** time stamp of latest database modification, for sleepSinceModification() */
time_t m_modTimeStamp;
+ /**
+ * Counter for items deleted in the source. Has to be incremented
+ * by RemoveAllItems() and DeleteItem(). This counter is used to
+ * update the Synthesis engine counter in those cases where the
+ * engine does not (refresh from server) or cannot
+ * (RemoveAllItems()) count the removals itself.
+ */
+ long m_numDeleted;
+
/** keeps track of failure state */
bool m_hasFailed;
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
" DTSTART = CONVERTTOUSERZONE(DTSTART);\n"
" MAKEALLDAY(DTSTART,DTEND,i);\n"
" }\n"
+"\n"
+" // Make sure that all EXDATE times are in the same timezone as the start\n"
+" // time. Some servers send them as UTC, which is all fine and well, but\n"
+" // only if the timezone definition doesn't change. Also, libical does not\n"
+" // handle such UTC EXDATEs, so let's convert it while the UTC and\n"
+" // time zone definition (hopefully) are in sync.\n"
+" if (TIMEZONE(DTSTART) != \"UTC\" && !ISFLOATING(DTSTART)) {\n"
+" i = 0;\n"
+" timestamp exdate;\n"
+" while (i<SIZE(EXDATES)) {\n"
+" exdate = EXDATES[i];\n"
+" if (!ISDATEONLY(exdate) &&\n"
+" (TIMEZONE(exdate) == \"UTC\" || ISFLOATING(exdate))) {\n"
+" // \"unfloat\" floating time stamps: not sure whether that occcurs\n"
+" // in practice, but it looks as wrong as UTC EXDATEs\n"
+" EXDATES[i] = CONVERTTOZONE(exdate,DTSTART,TRUE);\n"
+" }\n"
+" i=i+1;\n"
+" }\n"
+" }\n"
+"\n"
" // - shape attendees (and make sure ATTENDEES[] is assigned even for empty email addresses)\n"
" i=0;\n"
" while(i<SIZE(ATTENDEES) || i<SIZE(ATTENDEE_CNS)) {\n"
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
g_slice_free (SyncevoAsyncData, data);
}
-static void
+static gboolean
abort_sync_async_error (SyncevoAsyncData *data)
{
GError *error;
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
+
+ return FALSE;
}
void
g_slice_free (SyncevoAsyncData, data);
}
-static void
+static gboolean
get_servers_async_error (SyncevoAsyncData *data)
{
GError *error;
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
+
+ return FALSE;
}
void
g_slice_free (SyncevoAsyncData, data);
}
-static void
+static gboolean
get_templates_async_error (SyncevoAsyncData *data)
{
GError *error;
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
+
+ return FALSE;
}
void syncevo_service_get_templates_async (SyncevoService *service,
g_slice_free (SyncevoAsyncData, data);
}
-static void
+static gboolean
get_template_config_async_error (SyncevoAsyncData *data)
{
GError *error;
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
+
+ return FALSE;
}
void
g_slice_free (SyncevoAsyncData, data);
}
-static void
+static gboolean
get_server_config_async_error (SyncevoAsyncData *data)
{
GError *error;
NULL,
error,
data->userdata);
- g_slice_free (SyncevoAsyncData, data);
+
+ return FALSE;
}
void
g_slice_free (SyncevoAsyncData, data);
}
-static void
+static gboolean
set_server_config_async_error (SyncevoAsyncData *data)
{
GError *error;
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
+
+ return FALSE;
}
void
g_slice_free (SyncevoAsyncData, data);
}
-static void
+static gboolean
remove_server_config_async_error (SyncevoAsyncData *data)
{
GError *error;
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
+
+ return FALSE;
}
void
g_slice_free (SyncevoAsyncData, data);
}
-static void
+static gboolean
get_sync_reports_async_error (SyncevoAsyncData *data)
{
GError *error;
error,
data->userdata);
g_slice_free (SyncevoAsyncData, data);
+
+ return FALSE;
}
void
applicationsdir = $(datadir)/applications
applications_in_files = sync.desktop.in
applications_generated = $(applications_in_files:.desktop.in=.desktop)
-applications_DATA = $(applications_generated)
+applications_DATA = $(GUI_DESKTOP_FILES)
@INTLTOOL_DESKTOP_RULE@
+# would be nicer to have different descriptions and names...
+sync-gtk.desktop sync-moblin.desktop: sync-%.desktop: sync.desktop
+ sed -e 's/Exec=sync-ui/Exec=sync-ui-$*/' $< >$@
+
gladedir = $(datadir)/syncevolution/
glade_DATA = \
ui.xml
ui.xml: ui.glade
$(GTK_BUILDER_CONV) $< $(@F)
-bin_PROGRAMS = \
- sync-ui
-
+# sync-ui: default GUI, could be plain GTK or Moblin UX
+# sync-ui-gtk: GTK GUI
+# sync-ui-moblin: Moblin UX
+#
+# The later two are built when --enable-gui=all was used.
+EXTRA_PROGRAMS = \
+ sync-ui \
+ sync-ui-gtk \
+ sync-ui-moblin
+bin_PROGRAMS = $(GUI_PROGRAMS)
sync_ui_SOURCES = \
main.c sync-ui.c sync-ui.h sync-ui-config.c sync-ui-config.h \
mux-frame.c mux-frame.h mux-window.c mux-window.h mux-icon-button.c mux-icon-button.h
nodist_sync_ui_SOURCES = sync-ui-marshal.c sync-ui-marshal.h
-sync_ui_LDADD = $(GUI_LIBS) $(DBUS_GLIB_LIBS) -L$(top_builddir)/src/dbus -lsyncevo-dbus
-sync_ui_CFLAGS = $(GUI_CFLAGS) $(DBUS_GLIB_CFLAGS) \
- -DGLADEDIR=\""$(gladedir)"\" \
- -DTHEMEDIR=\""$(themercdir)"\" \
- -DLIBEXECDIR=\"@libexecdir@\" \
- -DSYNCEVOLUTION_LOCALEDIR=\"${SYNCEVOLUTION_LOCALEDIR}\"
+sync_ui_LDADD = $(GUI_LIBS) $(DBUS_GLIB_LIBS) $(top_builddir)/src/dbus/libsyncevo-dbus.la
+sync_ui_CFLAGS = $(GUI_CFLAGS) \
+ $(DBUS_GLIB_CFLAGS) \
+ -DGLADEDIR=\""$(gladedir)"\" \
+ -DTHEMEDIR=\""$(themercdir)"\" \
+ -DLIBEXECDIR=\"@libexecdir@\" \
+ -DSYNCEVOLUTION_LOCALEDIR=\"${SYNCEVOLUTION_LOCALEDIR}\"
sync_ui_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I$(top_builddir)/src/dbus -I$(top_srcdir)/src/dbus $(SYNTHESIS_CFLAGS)
+sync_ui_gtk_SOURCES = $(sync_ui_SOURCES)
+nodist_sync_ui_gtk_SOURCES = $(nodist_sync_ui_SOURCES)
+sync_ui_gtk_LDADD = $(sync_ui_LDADD)
+sync_ui_gtk_CFLAGS = $(sync_ui_CFLAGS)
+sync_ui_gtk_CPPFLAGS = $(sync_ui_CPPFLAGS)
+
+sync_ui_moblin_SOURCES = $(sync_ui_SOURCES)
+nodist_sync_ui_moblin_SOURCES = $(nodist_sync_ui_SOURCES)
+sync_ui_moblin_LDADD = $(sync_ui_LDADD)
+sync_ui_moblin_CFLAGS = $(sync_ui_CFLAGS)
+sync_ui_moblin_CPPFLAGS = $(sync_ui_CPPFLAGS) -DUSE_MOBLIN_UX
+
noinst_DATA = sync-ui-marshal.list
if COND_GUI
BUILT_SOURCES = \
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-bin_PROGRAMS = sync-ui$(EXEEXT)
+EXTRA_PROGRAMS = sync-ui$(EXEEXT) sync-ui-gtk$(EXEEXT) \
+ sync-ui-moblin$(EXEEXT)
subdir = src/gtk-ui
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
nodist_sync_ui_OBJECTS = sync_ui-sync-ui-marshal.$(OBJEXT)
sync_ui_OBJECTS = $(am_sync_ui_OBJECTS) $(nodist_sync_ui_OBJECTS)
am__DEPENDENCIES_1 =
-sync_ui_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+sync_ui_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(top_builddir)/src/dbus/libsyncevo-dbus.la
sync_ui_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(sync_ui_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
+am__objects_1 = sync_ui_gtk-main.$(OBJEXT) \
+ sync_ui_gtk-sync-ui.$(OBJEXT) \
+ sync_ui_gtk-sync-ui-config.$(OBJEXT) \
+ sync_ui_gtk-mux-frame.$(OBJEXT) \
+ sync_ui_gtk-mux-window.$(OBJEXT) \
+ sync_ui_gtk-mux-icon-button.$(OBJEXT)
+am_sync_ui_gtk_OBJECTS = $(am__objects_1)
+am__objects_2 = sync_ui_gtk-sync-ui-marshal.$(OBJEXT)
+nodist_sync_ui_gtk_OBJECTS = $(am__objects_2)
+sync_ui_gtk_OBJECTS = $(am_sync_ui_gtk_OBJECTS) \
+ $(nodist_sync_ui_gtk_OBJECTS)
+am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(top_builddir)/src/dbus/libsyncevo-dbus.la
+sync_ui_gtk_DEPENDENCIES = $(am__DEPENDENCIES_2)
+sync_ui_gtk_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(sync_ui_gtk_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_3 = sync_ui_moblin-main.$(OBJEXT) \
+ sync_ui_moblin-sync-ui.$(OBJEXT) \
+ sync_ui_moblin-sync-ui-config.$(OBJEXT) \
+ sync_ui_moblin-mux-frame.$(OBJEXT) \
+ sync_ui_moblin-mux-window.$(OBJEXT) \
+ sync_ui_moblin-mux-icon-button.$(OBJEXT)
+am_sync_ui_moblin_OBJECTS = $(am__objects_3)
+am__objects_4 = sync_ui_moblin-sync-ui-marshal.$(OBJEXT)
+nodist_sync_ui_moblin_OBJECTS = $(am__objects_4)
+sync_ui_moblin_OBJECTS = $(am_sync_ui_moblin_OBJECTS) \
+ $(nodist_sync_ui_moblin_OBJECTS)
+sync_ui_moblin_DEPENDENCIES = $(am__DEPENDENCIES_2)
+sync_ui_moblin_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(sync_ui_moblin_CFLAGS) \
+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(sync_ui_SOURCES) $(nodist_sync_ui_SOURCES)
-DIST_SOURCES = $(sync_ui_SOURCES)
+SOURCES = $(sync_ui_SOURCES) $(nodist_sync_ui_SOURCES) \
+ $(sync_ui_gtk_SOURCES) $(nodist_sync_ui_gtk_SOURCES) \
+ $(sync_ui_moblin_SOURCES) $(nodist_sync_ui_moblin_SOURCES)
+DIST_SOURCES = $(sync_ui_SOURCES) $(sync_ui_gtk_SOURCES) \
+ $(sync_ui_moblin_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
applicationsdir = $(datadir)/applications
applications_in_files = sync.desktop.in
applications_generated = $(applications_in_files:.desktop.in=.desktop)
-applications_DATA = $(applications_generated)
+applications_DATA = $(GUI_DESKTOP_FILES)
gladedir = $(datadir)/syncevolution/
glade_DATA = \
ui.xml
$(applications_in_files) \
$(noinst_DATA)
+bin_PROGRAMS = $(GUI_PROGRAMS)
sync_ui_SOURCES = \
main.c sync-ui.c sync-ui.h sync-ui-config.c sync-ui-config.h \
mux-frame.c mux-frame.h mux-window.c mux-window.h mux-icon-button.c mux-icon-button.h
nodist_sync_ui_SOURCES = sync-ui-marshal.c sync-ui-marshal.h
-sync_ui_LDADD = $(GUI_LIBS) $(DBUS_GLIB_LIBS) -L$(top_builddir)/src/dbus -lsyncevo-dbus
-sync_ui_CFLAGS = $(GUI_CFLAGS) $(DBUS_GLIB_CFLAGS) \
- -DGLADEDIR=\""$(gladedir)"\" \
- -DTHEMEDIR=\""$(themercdir)"\" \
- -DLIBEXECDIR=\"@libexecdir@\" \
- -DSYNCEVOLUTION_LOCALEDIR=\"${SYNCEVOLUTION_LOCALEDIR}\"
+sync_ui_LDADD = $(GUI_LIBS) $(DBUS_GLIB_LIBS) $(top_builddir)/src/dbus/libsyncevo-dbus.la
+sync_ui_CFLAGS = $(GUI_CFLAGS) \
+ $(DBUS_GLIB_CFLAGS) \
+ -DGLADEDIR=\""$(gladedir)"\" \
+ -DTHEMEDIR=\""$(themercdir)"\" \
+ -DLIBEXECDIR=\"@libexecdir@\" \
+ -DSYNCEVOLUTION_LOCALEDIR=\"${SYNCEVOLUTION_LOCALEDIR}\"
sync_ui_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I$(top_builddir)/src/dbus -I$(top_srcdir)/src/dbus $(SYNTHESIS_CFLAGS)
+sync_ui_gtk_SOURCES = $(sync_ui_SOURCES)
+nodist_sync_ui_gtk_SOURCES = $(nodist_sync_ui_SOURCES)
+sync_ui_gtk_LDADD = $(sync_ui_LDADD)
+sync_ui_gtk_CFLAGS = $(sync_ui_CFLAGS)
+sync_ui_gtk_CPPFLAGS = $(sync_ui_CPPFLAGS)
+sync_ui_moblin_SOURCES = $(sync_ui_SOURCES)
+nodist_sync_ui_moblin_SOURCES = $(nodist_sync_ui_SOURCES)
+sync_ui_moblin_LDADD = $(sync_ui_LDADD)
+sync_ui_moblin_CFLAGS = $(sync_ui_CFLAGS)
+sync_ui_moblin_CPPFLAGS = $(sync_ui_CPPFLAGS) -DUSE_MOBLIN_UX
noinst_DATA = sync-ui-marshal.list
@COND_GUI_TRUE@BUILT_SOURCES = \
@COND_GUI_TRUE@ syncevo-bindings.h sync-ui-marshal.c sync-ui-marshal.h
sync-ui$(EXEEXT): $(sync_ui_OBJECTS) $(sync_ui_DEPENDENCIES)
@rm -f sync-ui$(EXEEXT)
$(sync_ui_LINK) $(sync_ui_OBJECTS) $(sync_ui_LDADD) $(LIBS)
+sync-ui-gtk$(EXEEXT): $(sync_ui_gtk_OBJECTS) $(sync_ui_gtk_DEPENDENCIES)
+ @rm -f sync-ui-gtk$(EXEEXT)
+ $(sync_ui_gtk_LINK) $(sync_ui_gtk_OBJECTS) $(sync_ui_gtk_LDADD) $(LIBS)
+sync-ui-moblin$(EXEEXT): $(sync_ui_moblin_OBJECTS) $(sync_ui_moblin_DEPENDENCIES)
+ @rm -f sync-ui-moblin$(EXEEXT)
+ $(sync_ui_moblin_LINK) $(sync_ui_moblin_OBJECTS) $(sync_ui_moblin_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui-sync-ui-config.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui-sync-ui-marshal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui-sync-ui.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_gtk-main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_gtk-mux-frame.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_gtk-mux-icon-button.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_gtk-mux-window.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_gtk-sync-ui-config.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_gtk-sync-ui-marshal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_gtk-sync-ui.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_moblin-main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_moblin-mux-frame.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_moblin-mux-icon-button.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_moblin-mux-window.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_moblin-sync-ui-config.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_moblin-sync-ui-marshal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_ui_moblin-sync-ui.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_CPPFLAGS) $(CPPFLAGS) $(sync_ui_CFLAGS) $(CFLAGS) -c -o sync_ui-sync-ui-marshal.obj `if test -f 'sync-ui-marshal.c'; then $(CYGPATH_W) 'sync-ui-marshal.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-marshal.c'; fi`
+sync_ui_gtk-main.o: main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-main.o -MD -MP -MF $(DEPDIR)/sync_ui_gtk-main.Tpo -c -o sync_ui_gtk-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-main.Tpo $(DEPDIR)/sync_ui_gtk-main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='sync_ui_gtk-main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
+
+sync_ui_gtk-main.obj: main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-main.obj -MD -MP -MF $(DEPDIR)/sync_ui_gtk-main.Tpo -c -o sync_ui_gtk-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-main.Tpo $(DEPDIR)/sync_ui_gtk-main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='sync_ui_gtk-main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
+
+sync_ui_gtk-sync-ui.o: sync-ui.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-sync-ui.o -MD -MP -MF $(DEPDIR)/sync_ui_gtk-sync-ui.Tpo -c -o sync_ui_gtk-sync-ui.o `test -f 'sync-ui.c' || echo '$(srcdir)/'`sync-ui.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-sync-ui.Tpo $(DEPDIR)/sync_ui_gtk-sync-ui.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui.c' object='sync_ui_gtk-sync-ui.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-sync-ui.o `test -f 'sync-ui.c' || echo '$(srcdir)/'`sync-ui.c
+
+sync_ui_gtk-sync-ui.obj: sync-ui.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-sync-ui.obj -MD -MP -MF $(DEPDIR)/sync_ui_gtk-sync-ui.Tpo -c -o sync_ui_gtk-sync-ui.obj `if test -f 'sync-ui.c'; then $(CYGPATH_W) 'sync-ui.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-sync-ui.Tpo $(DEPDIR)/sync_ui_gtk-sync-ui.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui.c' object='sync_ui_gtk-sync-ui.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-sync-ui.obj `if test -f 'sync-ui.c'; then $(CYGPATH_W) 'sync-ui.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui.c'; fi`
+
+sync_ui_gtk-sync-ui-config.o: sync-ui-config.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-sync-ui-config.o -MD -MP -MF $(DEPDIR)/sync_ui_gtk-sync-ui-config.Tpo -c -o sync_ui_gtk-sync-ui-config.o `test -f 'sync-ui-config.c' || echo '$(srcdir)/'`sync-ui-config.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-sync-ui-config.Tpo $(DEPDIR)/sync_ui_gtk-sync-ui-config.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui-config.c' object='sync_ui_gtk-sync-ui-config.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-sync-ui-config.o `test -f 'sync-ui-config.c' || echo '$(srcdir)/'`sync-ui-config.c
+
+sync_ui_gtk-sync-ui-config.obj: sync-ui-config.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-sync-ui-config.obj -MD -MP -MF $(DEPDIR)/sync_ui_gtk-sync-ui-config.Tpo -c -o sync_ui_gtk-sync-ui-config.obj `if test -f 'sync-ui-config.c'; then $(CYGPATH_W) 'sync-ui-config.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-config.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-sync-ui-config.Tpo $(DEPDIR)/sync_ui_gtk-sync-ui-config.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui-config.c' object='sync_ui_gtk-sync-ui-config.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-sync-ui-config.obj `if test -f 'sync-ui-config.c'; then $(CYGPATH_W) 'sync-ui-config.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-config.c'; fi`
+
+sync_ui_gtk-mux-frame.o: mux-frame.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-mux-frame.o -MD -MP -MF $(DEPDIR)/sync_ui_gtk-mux-frame.Tpo -c -o sync_ui_gtk-mux-frame.o `test -f 'mux-frame.c' || echo '$(srcdir)/'`mux-frame.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-mux-frame.Tpo $(DEPDIR)/sync_ui_gtk-mux-frame.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-frame.c' object='sync_ui_gtk-mux-frame.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-mux-frame.o `test -f 'mux-frame.c' || echo '$(srcdir)/'`mux-frame.c
+
+sync_ui_gtk-mux-frame.obj: mux-frame.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-mux-frame.obj -MD -MP -MF $(DEPDIR)/sync_ui_gtk-mux-frame.Tpo -c -o sync_ui_gtk-mux-frame.obj `if test -f 'mux-frame.c'; then $(CYGPATH_W) 'mux-frame.c'; else $(CYGPATH_W) '$(srcdir)/mux-frame.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-mux-frame.Tpo $(DEPDIR)/sync_ui_gtk-mux-frame.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-frame.c' object='sync_ui_gtk-mux-frame.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-mux-frame.obj `if test -f 'mux-frame.c'; then $(CYGPATH_W) 'mux-frame.c'; else $(CYGPATH_W) '$(srcdir)/mux-frame.c'; fi`
+
+sync_ui_gtk-mux-window.o: mux-window.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-mux-window.o -MD -MP -MF $(DEPDIR)/sync_ui_gtk-mux-window.Tpo -c -o sync_ui_gtk-mux-window.o `test -f 'mux-window.c' || echo '$(srcdir)/'`mux-window.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-mux-window.Tpo $(DEPDIR)/sync_ui_gtk-mux-window.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-window.c' object='sync_ui_gtk-mux-window.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-mux-window.o `test -f 'mux-window.c' || echo '$(srcdir)/'`mux-window.c
+
+sync_ui_gtk-mux-window.obj: mux-window.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-mux-window.obj -MD -MP -MF $(DEPDIR)/sync_ui_gtk-mux-window.Tpo -c -o sync_ui_gtk-mux-window.obj `if test -f 'mux-window.c'; then $(CYGPATH_W) 'mux-window.c'; else $(CYGPATH_W) '$(srcdir)/mux-window.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-mux-window.Tpo $(DEPDIR)/sync_ui_gtk-mux-window.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-window.c' object='sync_ui_gtk-mux-window.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-mux-window.obj `if test -f 'mux-window.c'; then $(CYGPATH_W) 'mux-window.c'; else $(CYGPATH_W) '$(srcdir)/mux-window.c'; fi`
+
+sync_ui_gtk-mux-icon-button.o: mux-icon-button.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-mux-icon-button.o -MD -MP -MF $(DEPDIR)/sync_ui_gtk-mux-icon-button.Tpo -c -o sync_ui_gtk-mux-icon-button.o `test -f 'mux-icon-button.c' || echo '$(srcdir)/'`mux-icon-button.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-mux-icon-button.Tpo $(DEPDIR)/sync_ui_gtk-mux-icon-button.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-icon-button.c' object='sync_ui_gtk-mux-icon-button.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-mux-icon-button.o `test -f 'mux-icon-button.c' || echo '$(srcdir)/'`mux-icon-button.c
+
+sync_ui_gtk-mux-icon-button.obj: mux-icon-button.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-mux-icon-button.obj -MD -MP -MF $(DEPDIR)/sync_ui_gtk-mux-icon-button.Tpo -c -o sync_ui_gtk-mux-icon-button.obj `if test -f 'mux-icon-button.c'; then $(CYGPATH_W) 'mux-icon-button.c'; else $(CYGPATH_W) '$(srcdir)/mux-icon-button.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-mux-icon-button.Tpo $(DEPDIR)/sync_ui_gtk-mux-icon-button.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-icon-button.c' object='sync_ui_gtk-mux-icon-button.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-mux-icon-button.obj `if test -f 'mux-icon-button.c'; then $(CYGPATH_W) 'mux-icon-button.c'; else $(CYGPATH_W) '$(srcdir)/mux-icon-button.c'; fi`
+
+sync_ui_gtk-sync-ui-marshal.o: sync-ui-marshal.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-sync-ui-marshal.o -MD -MP -MF $(DEPDIR)/sync_ui_gtk-sync-ui-marshal.Tpo -c -o sync_ui_gtk-sync-ui-marshal.o `test -f 'sync-ui-marshal.c' || echo '$(srcdir)/'`sync-ui-marshal.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-sync-ui-marshal.Tpo $(DEPDIR)/sync_ui_gtk-sync-ui-marshal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui-marshal.c' object='sync_ui_gtk-sync-ui-marshal.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-sync-ui-marshal.o `test -f 'sync-ui-marshal.c' || echo '$(srcdir)/'`sync-ui-marshal.c
+
+sync_ui_gtk-sync-ui-marshal.obj: sync-ui-marshal.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -MT sync_ui_gtk-sync-ui-marshal.obj -MD -MP -MF $(DEPDIR)/sync_ui_gtk-sync-ui-marshal.Tpo -c -o sync_ui_gtk-sync-ui-marshal.obj `if test -f 'sync-ui-marshal.c'; then $(CYGPATH_W) 'sync-ui-marshal.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-marshal.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_gtk-sync-ui-marshal.Tpo $(DEPDIR)/sync_ui_gtk-sync-ui-marshal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui-marshal.c' object='sync_ui_gtk-sync-ui-marshal.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_gtk_CPPFLAGS) $(CPPFLAGS) $(sync_ui_gtk_CFLAGS) $(CFLAGS) -c -o sync_ui_gtk-sync-ui-marshal.obj `if test -f 'sync-ui-marshal.c'; then $(CYGPATH_W) 'sync-ui-marshal.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-marshal.c'; fi`
+
+sync_ui_moblin-main.o: main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-main.o -MD -MP -MF $(DEPDIR)/sync_ui_moblin-main.Tpo -c -o sync_ui_moblin-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-main.Tpo $(DEPDIR)/sync_ui_moblin-main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='sync_ui_moblin-main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
+
+sync_ui_moblin-main.obj: main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-main.obj -MD -MP -MF $(DEPDIR)/sync_ui_moblin-main.Tpo -c -o sync_ui_moblin-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-main.Tpo $(DEPDIR)/sync_ui_moblin-main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='sync_ui_moblin-main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
+
+sync_ui_moblin-sync-ui.o: sync-ui.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-sync-ui.o -MD -MP -MF $(DEPDIR)/sync_ui_moblin-sync-ui.Tpo -c -o sync_ui_moblin-sync-ui.o `test -f 'sync-ui.c' || echo '$(srcdir)/'`sync-ui.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-sync-ui.Tpo $(DEPDIR)/sync_ui_moblin-sync-ui.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui.c' object='sync_ui_moblin-sync-ui.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-sync-ui.o `test -f 'sync-ui.c' || echo '$(srcdir)/'`sync-ui.c
+
+sync_ui_moblin-sync-ui.obj: sync-ui.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-sync-ui.obj -MD -MP -MF $(DEPDIR)/sync_ui_moblin-sync-ui.Tpo -c -o sync_ui_moblin-sync-ui.obj `if test -f 'sync-ui.c'; then $(CYGPATH_W) 'sync-ui.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-sync-ui.Tpo $(DEPDIR)/sync_ui_moblin-sync-ui.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui.c' object='sync_ui_moblin-sync-ui.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-sync-ui.obj `if test -f 'sync-ui.c'; then $(CYGPATH_W) 'sync-ui.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui.c'; fi`
+
+sync_ui_moblin-sync-ui-config.o: sync-ui-config.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-sync-ui-config.o -MD -MP -MF $(DEPDIR)/sync_ui_moblin-sync-ui-config.Tpo -c -o sync_ui_moblin-sync-ui-config.o `test -f 'sync-ui-config.c' || echo '$(srcdir)/'`sync-ui-config.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-sync-ui-config.Tpo $(DEPDIR)/sync_ui_moblin-sync-ui-config.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui-config.c' object='sync_ui_moblin-sync-ui-config.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-sync-ui-config.o `test -f 'sync-ui-config.c' || echo '$(srcdir)/'`sync-ui-config.c
+
+sync_ui_moblin-sync-ui-config.obj: sync-ui-config.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-sync-ui-config.obj -MD -MP -MF $(DEPDIR)/sync_ui_moblin-sync-ui-config.Tpo -c -o sync_ui_moblin-sync-ui-config.obj `if test -f 'sync-ui-config.c'; then $(CYGPATH_W) 'sync-ui-config.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-config.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-sync-ui-config.Tpo $(DEPDIR)/sync_ui_moblin-sync-ui-config.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui-config.c' object='sync_ui_moblin-sync-ui-config.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-sync-ui-config.obj `if test -f 'sync-ui-config.c'; then $(CYGPATH_W) 'sync-ui-config.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-config.c'; fi`
+
+sync_ui_moblin-mux-frame.o: mux-frame.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-mux-frame.o -MD -MP -MF $(DEPDIR)/sync_ui_moblin-mux-frame.Tpo -c -o sync_ui_moblin-mux-frame.o `test -f 'mux-frame.c' || echo '$(srcdir)/'`mux-frame.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-mux-frame.Tpo $(DEPDIR)/sync_ui_moblin-mux-frame.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-frame.c' object='sync_ui_moblin-mux-frame.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-mux-frame.o `test -f 'mux-frame.c' || echo '$(srcdir)/'`mux-frame.c
+
+sync_ui_moblin-mux-frame.obj: mux-frame.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-mux-frame.obj -MD -MP -MF $(DEPDIR)/sync_ui_moblin-mux-frame.Tpo -c -o sync_ui_moblin-mux-frame.obj `if test -f 'mux-frame.c'; then $(CYGPATH_W) 'mux-frame.c'; else $(CYGPATH_W) '$(srcdir)/mux-frame.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-mux-frame.Tpo $(DEPDIR)/sync_ui_moblin-mux-frame.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-frame.c' object='sync_ui_moblin-mux-frame.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-mux-frame.obj `if test -f 'mux-frame.c'; then $(CYGPATH_W) 'mux-frame.c'; else $(CYGPATH_W) '$(srcdir)/mux-frame.c'; fi`
+
+sync_ui_moblin-mux-window.o: mux-window.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-mux-window.o -MD -MP -MF $(DEPDIR)/sync_ui_moblin-mux-window.Tpo -c -o sync_ui_moblin-mux-window.o `test -f 'mux-window.c' || echo '$(srcdir)/'`mux-window.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-mux-window.Tpo $(DEPDIR)/sync_ui_moblin-mux-window.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-window.c' object='sync_ui_moblin-mux-window.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-mux-window.o `test -f 'mux-window.c' || echo '$(srcdir)/'`mux-window.c
+
+sync_ui_moblin-mux-window.obj: mux-window.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-mux-window.obj -MD -MP -MF $(DEPDIR)/sync_ui_moblin-mux-window.Tpo -c -o sync_ui_moblin-mux-window.obj `if test -f 'mux-window.c'; then $(CYGPATH_W) 'mux-window.c'; else $(CYGPATH_W) '$(srcdir)/mux-window.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-mux-window.Tpo $(DEPDIR)/sync_ui_moblin-mux-window.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-window.c' object='sync_ui_moblin-mux-window.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-mux-window.obj `if test -f 'mux-window.c'; then $(CYGPATH_W) 'mux-window.c'; else $(CYGPATH_W) '$(srcdir)/mux-window.c'; fi`
+
+sync_ui_moblin-mux-icon-button.o: mux-icon-button.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-mux-icon-button.o -MD -MP -MF $(DEPDIR)/sync_ui_moblin-mux-icon-button.Tpo -c -o sync_ui_moblin-mux-icon-button.o `test -f 'mux-icon-button.c' || echo '$(srcdir)/'`mux-icon-button.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-mux-icon-button.Tpo $(DEPDIR)/sync_ui_moblin-mux-icon-button.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-icon-button.c' object='sync_ui_moblin-mux-icon-button.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-mux-icon-button.o `test -f 'mux-icon-button.c' || echo '$(srcdir)/'`mux-icon-button.c
+
+sync_ui_moblin-mux-icon-button.obj: mux-icon-button.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-mux-icon-button.obj -MD -MP -MF $(DEPDIR)/sync_ui_moblin-mux-icon-button.Tpo -c -o sync_ui_moblin-mux-icon-button.obj `if test -f 'mux-icon-button.c'; then $(CYGPATH_W) 'mux-icon-button.c'; else $(CYGPATH_W) '$(srcdir)/mux-icon-button.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-mux-icon-button.Tpo $(DEPDIR)/sync_ui_moblin-mux-icon-button.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mux-icon-button.c' object='sync_ui_moblin-mux-icon-button.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-mux-icon-button.obj `if test -f 'mux-icon-button.c'; then $(CYGPATH_W) 'mux-icon-button.c'; else $(CYGPATH_W) '$(srcdir)/mux-icon-button.c'; fi`
+
+sync_ui_moblin-sync-ui-marshal.o: sync-ui-marshal.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-sync-ui-marshal.o -MD -MP -MF $(DEPDIR)/sync_ui_moblin-sync-ui-marshal.Tpo -c -o sync_ui_moblin-sync-ui-marshal.o `test -f 'sync-ui-marshal.c' || echo '$(srcdir)/'`sync-ui-marshal.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-sync-ui-marshal.Tpo $(DEPDIR)/sync_ui_moblin-sync-ui-marshal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui-marshal.c' object='sync_ui_moblin-sync-ui-marshal.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-sync-ui-marshal.o `test -f 'sync-ui-marshal.c' || echo '$(srcdir)/'`sync-ui-marshal.c
+
+sync_ui_moblin-sync-ui-marshal.obj: sync-ui-marshal.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -MT sync_ui_moblin-sync-ui-marshal.obj -MD -MP -MF $(DEPDIR)/sync_ui_moblin-sync-ui-marshal.Tpo -c -o sync_ui_moblin-sync-ui-marshal.obj `if test -f 'sync-ui-marshal.c'; then $(CYGPATH_W) 'sync-ui-marshal.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-marshal.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/sync_ui_moblin-sync-ui-marshal.Tpo $(DEPDIR)/sync_ui_moblin-sync-ui-marshal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sync-ui-marshal.c' object='sync_ui_moblin-sync-ui-marshal.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(sync_ui_moblin_CPPFLAGS) $(CPPFLAGS) $(sync_ui_moblin_CFLAGS) $(CFLAGS) -c -o sync_ui_moblin-sync-ui-marshal.obj `if test -f 'sync-ui-marshal.c'; then $(CYGPATH_W) 'sync-ui-marshal.c'; else $(CYGPATH_W) '$(srcdir)/sync-ui-marshal.c'; fi`
+
mostlyclean-libtool:
-rm -f *.lo
@INTLTOOL_DESKTOP_RULE@
+# would be nicer to have different descriptions and names...
+sync-gtk.desktop sync-moblin.desktop: sync-%.desktop: sync.desktop
+ sed -e 's/Exec=sync-ui/Exec=sync-ui-$*/' $< >$@
+
ui.xml: ui.glade
$(GTK_BUILDER_CONV) $< $(@F)
gtk_widget_hide (data->stop_using_service_btn);
gtk_entry_set_text (GTK_ENTRY (data->username_entry),
- config->username ? config->username : "");
+ (config->username &&
+ strcmp(config->username, "your SyncML server account name")) ?
+ config->username :
+ "");
g_object_set_data (G_OBJECT (data->username_entry), "value", &config->username);
gtk_entry_set_text (GTK_ENTRY (data->password_entry),
}
class "MuxFrame" style "mux-frame"
-# tooltips seem to take their color from the window bg? working around that
-style "mux-tooltip-fix" {
- bg[NORMAL] = "#ffffff"
-}
-widget "gtk-tooltip*" style "mux-tooltip-fix"
-
-
# sync-ui specific rules
style "data-box" {
Icon=sync
Categories=Network;GTK;
Terminal=false
+StartupNotify=true
</child>
</widget>
<packing>
+ <property name="expand">False</property>
<property name="padding">20</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
+ <property name="expand">False</property>
<property name="padding">20</property>
<property name="position">2</property>
</packing>
DTSTART = CONVERTTOUSERZONE(DTSTART);
MAKEALLDAY(DTSTART,DTEND,i);
}
+
+ // Make sure that all EXDATE times are in the same timezone as the start
+ // time. Some servers send them as UTC, which is all fine and well, but
+ // only if the timezone definition doesn't change. Also, libical does not
+ // handle such UTC EXDATEs, so let's convert it while the UTC and
+ // time zone definition (hopefully) are in sync.
+ if (TIMEZONE(DTSTART) != "UTC" && !ISFLOATING(DTSTART)) {
+ i = 0;
+ timestamp exdate;
+ while (i<SIZE(EXDATES)) {
+ exdate = EXDATES[i];
+ if (!ISDATEONLY(exdate) &&
+ (TIMEZONE(exdate) == "UTC" || ISFLOATING(exdate))) {
+ // "unfloat" floating time stamps: not sure whether that occcurs
+ // in practice, but it looks as wrong as UTC EXDATEs
+ EXDATES[i] = CONVERTTOZONE(exdate,DTSTART,TRUE);
+ }
+ i=i+1;
+ }
+ }
+
// - shape attendees (and make sure ATTENDEES[] is assigned even for empty email addresses)
i=0;
while(i<SIZE(ATTENDEES) || i<SIZE(ATTENDEE_CNS)) {
#define SYNCEVO_REPORT_TYPE (dbus_g_type_get_struct ("GValueArray", G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INVALID))
typedef GValueArray SyncevoReport;
-#define SYNCEVO_REPORT_ARRAY_TYPE (dbus_g_type_get_struct ("GValueArray", G_TYPE_INT, dbus_g_type_get_collection ("GPtrArray", SYNCEVO_REPORT_TYPE)))
+#define SYNCEVO_REPORT_ARRAY_TYPE (dbus_g_type_get_struct ("GValueArray", G_TYPE_INT, dbus_g_type_get_collection ("GPtrArray", SYNCEVO_REPORT_TYPE), G_TYPE_INVALID))
typedef GValueArray SyncevoReportArray;
GMainLoop *loop;
gpointer data)
{
char *password = NULL;
- char *server = NULL;
+ const char *server = NULL;
GnomeKeyringResult res;
server = strstr (server_url, "://");
return FALSE;
}
- boost::shared_ptr<EvolutionSyncConfig> from(new EvolutionSyncConfig (string (server)));
+ boost::shared_ptr<EvolutionSyncConfig> from;
+ boost::shared_ptr<EvolutionSyncConfig> config(new EvolutionSyncConfig (string (server)));
/* if config does not exist, create from template */
- if (!from->exists()) {
+ if (!config->exists()) {
from = EvolutionSyncConfig::createServerTemplate( string (server));
if (!from.get()) {
*options = NULL;
"No server or template '%s' found", server);
return FALSE;
}
+ config->copy(*from, NULL);
}
*options = g_ptr_array_new ();
- boost::shared_ptr<EvolutionSyncConfig> config(new EvolutionSyncConfig(string (server)));
- config->copy(*from, NULL);
-
option = syncevo_option_new (NULL, g_strdup ("syncURL"), g_strdup(config->getSyncURL()));
g_ptr_array_add (*options, option);
option = syncevo_option_new (NULL, g_strdup("username"), g_strdup(config->getUsername()));
}
-
-
update_shutdown_timer (obj);
return TRUE;
g_type_init ();
g_thread_init (NULL);
g_set_application_name ("SyncEvolution");
+ dbus_g_thread_init ();
server = (SyncevoDBusServer*)g_object_new (SYNCEVO_TYPE_DBUS_SERVER, NULL);
# Generated by configure. Do no edit.
-# git revision 70f0065aa3b085bdf059830f95e5b5766eecb0bb
-# git tag syncevolution-0-9-beta3
+# git revision a9e10a9900247fefd9e7399b0246d561fe07ffbb
+# git tag libsynthesis_3.0.2.28_at_pr_day+syncevolution-0.9
+
+2009-08-05 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/sysync/engineinterface.cpp:
+
+ TSettingsKeyImpl::SetValueByID: compiler warning about pointer
+ aliasing
+
+2009-08-05 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/sysync/synccommand.cpp:
+
+ TSyncCommand::analyze: compiler warning about uninitialized
+ variable (return code!)
+
+2009-08-05 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/sysync/sysync_utils.cpp:
+
+ appendRFC2047AsUTF8: compiler warning about uninitialized
+ variable
+
+2009-08-05 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/sysync/sysync_utils.cpp:
+
+ compiler warning in generateNonce(): casting char array
+
+2009-07-30 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/sysync/stdlogicds.cpp:
+
+ slow sync: avoid empty anchors, that confuses ScheduleWorld
+
+2009-07-29 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/sysync/vtimezone.cpp:
+
+ timezone parsing: accept \r\n and \r as line ends in addition to
+ \n
+
+2009-07-28 Patrick Ohly <patrick.ohly@intel.com>
+
+ * src/sysync/vtimezone.cpp:
+ * src/sysync/vtimezone.h:
+
+ vtimezone: use const string & instead of string copy
2009-07-21 Patrick Ohly <patrick.ohly@intel.com>
tempInt = *((sInt64 *)aBuffer);
intConv:
// convert integer into native type
- bP = &tempInt; // re-use as temp buffer
+ union {
+ sInt64 buffer64;
+ sInt32 buffer32;
+ sInt16 buffer16;
+ sInt8 buffer8;
+ } buffer;
+ bP = &buffer;
switch (valType) {
case VALTYPE_INT8:
- siz=1; *((sInt8 *)bP) = tempInt;
+ siz=1; buffer.buffer8 = tempInt;
break;
case VALTYPE_INT16:
- siz=2; *((sInt16 *)bP) = tempInt;
+ siz=2; buffer.buffer16 = tempInt;
break;
case VALTYPE_INT32:
- siz=4; *((sInt32 *)bP) = tempInt;
+ siz=4; buffer.buffer32 = tempInt;
break;
case VALTYPE_INT64:
case VALTYPE_TIME64: // native timestamp
- siz=8; *((sInt64 *)bP) = tempInt;
+ siz=8; buffer.buffer64 = tempInt;
break;
default:
// other types (like text) cannot set as integer
PDEBUGPRINTFX(DBG_PROTO,("First time sync or config changed since last sync -> remote should see our devinf"));
fSessionP->remoteMustSeeDevinf();
}
- // empty saved anchors if first time sync (should be empty anyway, but...)
+ // Invalidate saved anchors if first time sync.
+ // Don't just use empty strings, ScheduleWorld didn't like
+ // that.
if (fFirstTimeSync) {
- fLastLocalAnchor.empty();
- fLastRemoteAnchor.empty();
+ fLastLocalAnchor = "no local anchor";
+ fLastRemoteAnchor = "no remote anchor";
}
}
PDEBUGENDBLOCK("MakeAdminReady");
bool TSyncCommand::execute(void)
{
TStatusCommand *statusCmdP=NULL;
- bool queueforlater;
+ bool queueforlater = false;
if (fSyncElementP)
SYSYNC_TRY {
)
{
const char *p,*q,*r,*w;
- char c;
+ char c = 0;
const char *eot = aRFC2047+aSize;
p=aRFC2047;
// - done
md5::Final (digest, &context);
// - make string of first 48 bit of MD5: 48 bits, use 6 bits per char = 8 chars
- uInt64 dig48 = *((uInt32 *)(digest));
+ uInt64 dig48 = ((uInt32)digest[0] << 0) |
+ ((uInt32)digest[1] << 8) |
+ ((uInt32)digest[2] << 16) |
+ ((uInt32)digest[3] << 24);
aNonce.erase();
for (sInt16 k=0; k<8; k++) {
aNonce+=((dig48 & 0x03F) + 0x21);
/*! Create a property string */
-static string Property( string propertyName, string value ) {
+static string Property( const string &propertyName, const string &value ) {
return propertyName + ":" + value + "\n";
} // Property
+/*! Find a Property inside another string. If the property string ends
+ in \n, then that character matches arbitrary line endings (\r, \n,
+ end of string). If the property does not end in \n, a normal string
+ search is done. */
+static string::size_type FindProperty( const string &aText, const string &aProperty, string::size_type aOffset = 0 ) {
+ if (!aProperty.empty() && aProperty[aProperty.size()-1] == '\n') {
+ // ignore trailing \n, check for either \r or \n in aText instead
+ string::size_type offset = aOffset;
+ string::size_type textlen = aProperty.size() - 1;
+ while (true) {
+ string::size_type hit = aText.find(aProperty.c_str(), offset, textlen);
+ if (hit == string::npos)
+ return string::npos;
+
+ // prefix match, now must check for line end
+ if (hit + textlen >= aText.size()) {
+ // end of string is okay
+ return hit;
+ }
+
+ char eol = aText[hit + textlen];
+ switch (eol) {
+ case '\r':
+ case '\n':
+ // found it
+ return hit;
+ }
+ // keep searching
+ offset = hit + 1;
+ }
+ } else {
+ // normal string search
+ return aText.find(aProperty, aOffset);
+ }
+} // FindProperty
+
+/*! Find last instance of Property inside another string. If the
+ property string ends in \n, then that character matches arbitrary
+ line endings (\r, \n, end of string). If the property does not end
+ in \n, a normal string search is done. */
+static string::size_type RfindProperty( const string &aText, const string &aProperty, string::size_type aOffset = string::npos ) {
+ if (!aProperty.empty() && aProperty[aProperty.size()-1] == '\n') {
+ // ignore trailing \n, check for either \r or \n in aText instead
+ string::size_type offset = aOffset;
+ string::size_type textlen = aProperty.size() - 1;
+ while (true) {
+ string::size_type hit = aText.rfind(aProperty.c_str(), offset, textlen);
+ if (hit == string::npos)
+ return string::npos;
+
+ // prefix match, now must check for line end
+ if (hit + textlen >= aText.size()) {
+ // end of string is okay
+ return hit;
+ }
+
+ char eol = aText[hit + textlen];
+ switch (eol) {
+ case '\r':
+ case '\n':
+ // found it
+ return hit;
+ }
+ // keep searching, if possible
+ if (hit == 0)
+ return string::npos;
+ offset = hit - 1;
+ }
+ } else {
+ // normal reversed string search
+ return aText.rfind(aProperty, aOffset);
+ }
+} // RfindProperty
/*! Check, if "BEGIN:value" is available only once */
static int PMulti( string &aText, string value )
{
string p= Property( VTZ_BEGIN, value );
- string::size_type
- n= aText.find( p, 0 ); if (n==string::npos) return 0;
- n= aText.find( p, n+1 ); if (n==string::npos) return 1;
+ string::size_type n;
+ n= FindProperty( aText, p ); if (n==string::npos) return 0;
+ n= FindProperty( aText, p, n+1 ); if (n==string::npos) return 1;
/* else */ return 2;
} // PMulti
// -----------------------------------------------------------------------------------------
-// Get sequence between <bv> and <ev>
-static string PeeledStr( string aStr, string bv, string ev, sInt32 aNth )
+// Get sequence between <bv> and <ev>. If these strings end in \n, then that character
+// matches arbitrary line endings (in other words, \n, \r, end of string).
+static string PeeledStr( const string &aStr, const string &bv, const string &ev, sInt32 aNth )
{
string::size_type bp= 0;
if (aNth==-1) {
- bp= aStr.rfind( bv, aStr.length() ); if (bp==string::npos) return "";
+ bp= RfindProperty( aStr, bv ); if (bp==string::npos) return "";
}
else {
sInt32 i= 1;
while (true) {
- bp= aStr.find( bv, bp ); if (bp==string::npos) return "";
+ bp= FindProperty( aStr, bv, bp ); if (bp==string::npos) return "";
if (i>=aNth) break;
i++; bp++;
} // while
} // if
//string::size_type bp= aStr.find( bv, 0 ); if (bp==string::npos) return "";
- string::size_type ep= aStr.find( ev,bp ); if (ep==string::npos) return "";
+ string::size_type ep= FindProperty( aStr, ev, bp ); if (ep==string::npos) return "";
string::size_type bpl= bp + bv.length();
return aStr.substr( bpl, ep - bpl );
} // PeeledStr
-// Get the string between "BEGIN:<value>\n" and "END:<value>\n"
-string VStr( string aStr, string value, sInt32 aNth ) {
+// Get the string between "BEGIN:<value>[line end]" and "END:<value>[line end]"
+string VStr( const string &aStr, const string &value, sInt32 aNth ) {
return PeeledStr( aStr, Property( VTZ_BEGIN, value ),
Property( VTZ_END, value ), aNth );
} // VStr
// Get the value string between "<field>:" and "\r?\n"
-string VValue( string aStr, string key ) {
+string VValue( const string &aStr, const string &key ) {
string res = PeeledStr( aStr, key + ":", "\n", 1 );
// strip optional trailing \r
* Get the string between "BEGIN:<value>\n" and "END:<value>\n"
* Default: First occurance
*/
-string VStr( string aStr, string value, sInt32 aNth= 1 );
+string VStr( const string &aStr, const string &value, sInt32 aNth= 1 );
/*! <aStr> parsing:
* Get the value between "<key>:" and "\n"
*/
-string VValue( string aStr, string key );
+string VValue( const string &aStr, const string &key );
/*! Get the hour/minute string of <bias> */
ADD_TEST(SyncTests, testDelete);
ADD_TEST(SyncTests, testAddUpdate);
ADD_TEST(SyncTests, testManyItems);
+ ADD_TEST(SyncTests, testSlowSyncSemantic);
+ ADD_TEST(SyncTests, testComplexRefreshFromServerSemantic);
if (config.updateItem) {
ADD_TEST(SyncTests, testUpdate);
compareDatabases();
}
+/**
+ * - get client A, server, client B in sync with one item
+ * - force slow sync in A: must not duplicate items, but may update it locally
+ * - refresh client B (in case that the item was updated)
+ * - delete item in B and server via two-way sync
+ * - refresh-from-server in B to check that item is gone
+ * - two-way in A: must delete the item
+ */
+void SyncTests::testSlowSyncSemantic()
+{
+ // set up one item everywhere
+ doCopy();
+
+ // slow in A
+ doSync("slow",
+ SyncOptions(SYNC_SLOW,
+ CheckSyncReport(0,-1,0, -1,-1,0, true, SYNC_SLOW)));
+
+ // refresh B, delete item
+ accessClientB->doSync("refresh",
+ SyncOptions(SYNC_TWO_WAY,
+ CheckSyncReport(0,-1,0, 0,0,0, true, SYNC_TWO_WAY)));
+ BOOST_FOREACH(source_array_t::value_type &source_pair, accessClientB->sources) {
+ source_pair.second->deleteAll(source_pair.second->createSourceA);
+ }
+ accessClientB->doSync("delete",
+ SyncOptions(SYNC_TWO_WAY,
+ CheckSyncReport(0,0,0, 0,0,1, true, SYNC_TWO_WAY)));
+ accessClientB->doSync("check",
+ SyncOptions(SYNC_REFRESH_FROM_SERVER,
+ CheckSyncReport(0,0,0, 0,0,0, true, SYNC_REFRESH_FROM_SERVER)));
+
+ // now the item should also be deleted on A
+ doSync("delete",
+ SyncOptions(SYNC_TWO_WAY,
+ CheckSyncReport(0,0,1, 0,0,0, true, SYNC_TWO_WAY)));
+}
+
+/**
+ * check that refresh-from-server works correctly:
+ * - create the same item on A, server, B via testCopy()
+ * - refresh B (one item deleted, one created)
+ * - delete item on A and server
+ * - refresh B (one item deleted)
+ */
+void SyncTests::testComplexRefreshFromServerSemantic()
+{
+ testCopy();
+
+ // check refresh with one item on server
+ accessClientB->doSync("refresh-one",
+ SyncOptions(SYNC_REFRESH_FROM_SERVER,
+ CheckSyncReport(1,0,1, 0,0,0, true, SYNC_REFRESH_FROM_SERVER)));
+
+ // delete that item via A, check again
+ BOOST_FOREACH(source_array_t::value_type &source_pair, sources) {
+ source_pair.second->deleteAll(source_pair.second->createSourceA);
+ }
+ doSync("delete-item",
+ SyncOptions(SYNC_TWO_WAY,
+ CheckSyncReport(0,0,0, 0,0,1, true, SYNC_TWO_WAY)));
+ accessClientB->doSync("refresh-none",
+ SyncOptions(SYNC_REFRESH_FROM_SERVER,
+ CheckSyncReport(0,0,1, 0,0,0, true, SYNC_REFRESH_FROM_SERVER)));
+}
/**
* implements testMaxMsg(), testLargeObject(), testLargeObjectEncoded()
setenv("CLIENT_TEST_RIGHT_NAME", fileB, 1);
setenv("CLIENT_TEST_REMOVED", "only in left file", 1);
setenv("CLIENT_TEST_ADDED", "only in right file", 1);
+ const char* compareLog = getenv("CLIENT_TEST_COMPARE_LOG");
+ if(compareLog && strlen(compareLog))
+ {
+ string tmpfile = "____compare.log";
+ cmdstr =string("bash -c 'set -o pipefail;") + cmdstr;
+ cmdstr += " 2>&1|tee " +tmpfile+"'";
+ }
bool success = system(cmdstr.c_str()) == 0;
if (!success) {
printf("failed: env CLIENT_TEST_SERVER=%s PATH=.:$PATH synccompare %s %s\n",
if (!strcmp(type, "vcard30")) {
config.sourceName = "vcard30";
+ config.sourceNameServerTemplate = "addressbook";
config.uri = "card3"; // ScheduleWorld
config.type = "text/vcard";
config.insertItem =
config.testcases = "testcases/vcard30.vcf";
} else if (!strcmp(type, "vcard21")) {
config.sourceName = "vcard21";
+ config.sourceNameServerTemplate = "addressbook";
config.uri = "card"; // Funambol
config.type = "text/x-vcard";
config.insertItem =
config.testcases = "testcases/vcard21.vcf";
} else if(!strcmp(type, "ical20")) {
config.sourceName = "ical20";
+ config.sourceNameServerTemplate = "calendar";
config.uri = "cal2"; // ScheduleWorld
config.type = "text/x-vcalendar";
config.insertItem =
config.testcases = "testcases/ical20.ics";
} if(!strcmp(type, "vcal10")) {
config.sourceName = "vcal10";
+ config.sourceNameServerTemplate = "calendar";
config.uri = "cal"; // Funambol 3.0
config.type = "text/x-vcalendar";
config.insertItem =
config.testcases = "testcases/vcal10.ics";
} else if(!strcmp(type, "itodo20")) {
config.sourceName = "itodo20";
+ config.sourceNameServerTemplate = "todo";
config.uri = "task2"; // ScheduleWorld
config.type = "text/x-vcalendar";
config.insertItem =
// the test data in that format, see EvolutionMemoSource
// for an example.
config.uri = "note"; // ScheduleWorld
+ config.sourceNameServerTemplate = "memo";
config.type = "memo";
config.itemType = "text/calendar";
config.insertItem =
const char *uri;
/**
+ * A corresponding source name in the default server template,
+ * this is used to copy corresponding uri set in the server template
+ * instead of the uri field above (which is the same for all servers).
+ */
+ const char *sourceNameServerTemplate;
+
+ /**
* A member function of a subclass which is called to create a
* sync source referencing the data. This is used in tests of
* the SyncSource API itself as well as in tests which need to
protected:
/** list with all local test classes for manipulating the sources and their index in the client */
- std::vector< std::pair<int, LocalTests *> > sources;
- typedef std::vector< std::pair<int, LocalTests *> >::iterator source_it;
+ typedef std::vector< std::pair<int, LocalTests *> > source_array_t;
+ source_array_t sources;
+ typedef source_array_t::iterator source_it;
/**
* Stack of log file prefixes which are to be appended to the base name,
}
virtual void testManyItems();
+ virtual void testSlowSyncSemantic();
+ virtual void testComplexRefreshFromServerSemantic();
virtual void doInterruptResume(int changes,
boost::shared_ptr<TransportWrapper> wrapper);
GREP = @GREP@
GTK_BUILDER_CONV = @GTK_BUILDER_CONV@
GUI_CFLAGS = @GUI_CFLAGS@
+GUI_DESKTOP_FILES = @GUI_DESKTOP_FILES@
GUI_LIBS = @GUI_LIBS@
+GUI_PROGRAMS = @GUI_PROGRAMS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
SyncEvolution::LoggerBase::popLogger();
m_logger.reset();
+ string logfile = m_currentTest + ".log";
+ simplifyFilename(logfile);
+
+ const char* compareLog = getenv("CLIENT_TEST_COMPARE_LOG");
+ if(compareLog && strlen(compareLog)) {
+ FILE *fd = fopen ("____compare.log","r");
+ if (fd != NULL) {
+ fclose(fd);
+ system ((string("cat ____compare.log >>")+logfile).c_str());
+ }
+ }
+
cerr << " " << result << "\n";
if (!failure.empty()) {
cerr << failure << "\n";