From 60f0443f58bc845a8f3d4a43deafa7f8fb8298ee Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Fri, 28 Jun 2013 11:35:58 +0000 Subject: [PATCH] Imported Upstream version 0.9 --- ChangeLog | 316 +++++++++++++++++++++++++++ Makefile-gen.am | 11 +- Makefile.am | 11 +- Makefile.in | 12 +- NEWS | 218 +++++++++++++++++- configure | 98 +++++---- configure-pre.in | 17 +- configure.in | 17 +- po/es.po | 96 ++++---- po/fi.po | 161 +++++++------- po/fr.po | 9 +- po/ko.po | 159 +++++++------- po/pl.po | 65 +++--- po/pt_BR.po | 150 ++++++------- po/sv.po | 158 +++++++------- po/zh_CN.po | 150 ++++++------- po/zh_TW.po | 40 ++-- src/DBusSyncClient.cpp | 12 +- src/Makefile.in | 2 + src/backends/addressbook/Makefile.in | 2 + src/backends/evolution/Makefile.in | 2 + src/backends/file/Makefile.in | 2 + src/backends/sqlite/Makefile.in | 2 + src/client-test-app.cpp | 11 + src/core/EvolutionSyncClient.cpp | 9 +- src/core/EvolutionSyncSource.cpp | 7 +- src/core/EvolutionSyncSource.h | 14 ++ src/core/Makefile.in | 2 + src/core/SyncEvolutionXML.c | 21 ++ src/dbus/Makefile.in | 2 + src/dbus/interfaces/Makefile.in | 2 + src/dbus/syncevo-dbus.c | 33 ++- src/gtk-ui/Makefile.am | 44 +++- src/gtk-ui/Makefile.in | 293 ++++++++++++++++++++++++- src/gtk-ui/sync-ui.c | 5 +- src/gtk-ui/sync-ui.rc | 7 - src/gtk-ui/sync.desktop.in | 1 + src/gtk-ui/ui.glade | 2 + src/syncclient_sample_config.xml | 21 ++ src/syncevo-dbus-server.cpp | 16 +- src/synthesis/ChangeLog | 51 ++++- src/synthesis/src/sysync/engineinterface.cpp | 16 +- src/synthesis/src/sysync/stdlogicds.cpp | 8 +- src/synthesis/src/sysync/synccommand.cpp | 2 +- src/synthesis/src/sysync/sysync_utils.cpp | 7 +- src/synthesis/src/sysync/vtimezone.cpp | 98 ++++++++- src/synthesis/src/sysync/vtimezone.h | 4 +- test/ClientTest.cpp | 80 +++++++ test/ClientTest.h | 14 +- test/Makefile.in | 2 + test/client-test-main.cpp | 12 + 51 files changed, 1856 insertions(+), 638 deletions(-) diff --git a/ChangeLog b/ChangeLog index 16defe3..91daa92 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,321 @@ # Generated by configure. Do no edit. +2009-08-12 Patrick Ohly + + * Makefile-gen.am: + + build: pick right name when copying rpm + +2009-08-12 Patrick Ohly + + + Merge commit 'origin/moblin-transifex' + +2009-08-12 Patrick Ohly + + * NEWS: + * configure-pre.in: + + updated NEWS for 0.9 and bumped version to 0.9 + +2009-08-12 Patrick Ohly + + * NEWS: + + NEWS: list GUI fixes 0.9 beta 3 -> final + +2009-08-12 Jussi Kukkonen + + * src/gtk-ui/ui.glade: + + dbus client: minor layout fix for fatal error situation + +2009-08-11 Jussi Kukkonen + + * src/dbus/syncevo-dbus.c: + + dbus client lib: fix error functions + +2009-08-11 Jussi Kukkonen + + * src/syncevo-dbus-server.cpp: + + dbus server: copy template configuration in a sane way + +2009-08-11 Jussi Kukkonen + + * src/gtk-ui/sync-ui.rc: + + remove workaround for invisible tooltips + +2009-08-03 Jussi Kukkonen + + * src/gtk-ui/sync.desktop.in: + + add StartupNotify to desktop file + +2009-08-11 Patrick Ohly + + * configure-pre.in: + + version bumped to 0.8.1+0.9+beta3+20090811 + +2009-08-11 Patrick Ohly + + * NEWS: + * test/README.scheduleworld: + + NEWS + README.scheduleworld: updated for 0.9 + +2009-08-07 Patrick Ohly + + * Makefile-gen.am: + + autotools: must include m4-repo in search path (Bugzilla #5061) + +2009-08-11 Patrick Ohly + + * Makefile-gen.am: + + build: fixed RPM creation + +2009-08-05 Patrick Ohly + + * NEWS: + + NEWS: remember to write about https + +2009-08-05 Patrick Ohly + + * test/README.scheduleworld: + + README.scheduleworld: removed section on delete/update conflicts + +2009-08-08 auke + + * po/nl.po: + + Updates to Dutch (Flemish) (nl) translation + +2009-08-04 Chen Congwu + + * src/client-test-app.cpp: + * test/ClientTest.cpp: + * test/ClientTest.h: + + Testing: use server default configuration when init test configs. + +2009-08-05 auke + + * po/nl.po: + + Dutch + +2009-08-05 Patrick Ohly + + * src/syncevo-dbus-server.cpp: + + compiler error: constness and strstr (Bugzilla #5061) + +2009-07-31 GLSJPN_Yukari + + * po/sv.po: + + Updates to Swedish (sv) translation + +2009-07-31 Patrick Ohly + + * test/README.scheduleworld: + + README.scheduleworld: updated remark about client delete/server + update conflict (Bugzilla #4369) + +2009-07-30 GLSJPN_Yukari + + * po/fr.po: + + Updates to French (fr) translation + +2009-07-30 GLSJPN_Yukari + + * po/zh_TW.po: + + Updates to Chinese (Taiwan) (zh_TW) translation + +2009-07-30 GLSJPN_Yukari + + * po/es.po: + + Updates to Spanish (Castilian) (es) translation + +2009-07-30 Patrick Ohly + + * configure-pre.in: + + bumped version to 0.8.1+0.9+beta3+20090730 + +2009-07-30 Patrick Ohly + + * 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 + + * src/syncevo-dbus-server.cpp: + + D-Bus server: added dbus_g_thread_init() + +2009-07-30 Patrick Ohly + + * src/syncevo-dbus-server.cpp: + + D-Bus server: avoid potential crash in type handling (Bugzilla + #4921) + +2009-07-30 Patrick Ohly + + * src/dbus/syncevo-dbus.c: + + GTK-UI: crash due to use-after-free in error case (Bugzilla + #4919) + +2009-07-30 Patrick Ohly + + * src/gtk-ui/Makefile.am: + + GTK-UI Makefile: use libsyncevo-dbus.la instead of -lsyncevo-dbus + +2009-07-30 Patrick Ohly + + + Merge commit 'origin/moblin-transifex' + +2009-07-30 Patrick Ohly + + * test/client-test-main.cpp: + + Testing: keep synccompare error output (____compare.log) around + +2009-07-24 Chen Congwu + + * test/ClientTest.cpp: + * test/client-test-main.cpp: + + Testing: let synccompare error output go to corresponding case + log file. + +2009-07-29 Patrick Ohly + + * src/syncclient_sample_config.xml: + + calendar support: sanitize incoming EXDATEs (Bugzilla #4457) + +2009-07-29 GLSJPN_Yukari + + * po/pl.po: + + Updates to Polish (pl) translation + +2009-07-28 Patrick Ohly + + * 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 + + * src/core/EvolutionSyncClient.cpp: + + logging: enable time stamping for all log entries + +2009-07-28 ZhuYanhai + + * po/zh_CN.po: + + Updates to Chinese (China) (zh_CN) translation + +2009-07-28 GLSJPN_Yukari + + * po/fi.po: + + Updates to Finnish (fi) translation + +2009-07-27 GLSJPN_Yukari + + * po/sv.po: + + Updates to Swedish (sv) translation + +2009-07-27 GLSJPN_Yukari + + * po/pt_BR.po: + + Updates to Brazilian Portuguese (pt_BR) translation + +2009-07-27 Patrick Ohly + + * configure-pre.in: + + bumped version to 0.8.1+0.9+beta3+20090727 + +2009-07-27 Patrick Ohly + + + Merge commit 'origin/moblin-transifex' + +2009-07-27 Patrick Ohly + + * Makefile-gen.am: + + packaging: don't include development files in binary packages + (Bugzilla #4754) + +2009-07-27 Patrick Ohly + + * configure-pre.in: + * src/gtk-ui/Makefile.am: + + build: --enable-gui=all (Bugzilla #4753) + +2009-07-27 Patrick Ohly + + * test/README.scheduleworld: + + testing: document known issues with ScheduleWorld (#4369) + +2009-07-26 GLSJPN_Yukari + + * po/fi.po: + + Updates to Finnish (fi) translation + +2009-07-25 Patrick Ohly + + * test/ClientTest.cpp: + * test/ClientTest.h: + + testing: added testSlowSyncSemantic + +2009-07-25 tomasgalicia + + * po/es.po: + + Updates to Spanish (Castilian) (es) translation + +2009-07-24 GLSJPN_Yukari + + * po/ko.po: + + Updates to Korean (ko) translation + 2009-07-24 Patrick Ohly diff --git a/Makefile-gen.am b/Makefile-gen.am index cb576e3..ae68d2b 100644 --- a/Makefile-gen.am +++ b/Makefile-gen.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -ACLOCAL_AMFLAGS = -I m4 +ACLOCAL_AMFLAGS = -I m4 -I m4-repo SUBDIRS = src po test @@ -20,6 +20,8 @@ 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 + # binary distribution as .tar.gz if COND_DBUS # when building with D-Bus, we have no choice: the service has to go into /usr @@ -29,7 +31,7 @@ distbin : README NEWS COPYING $(TEST_README_FILES) INSTALL-tar-gz all @ [ "$(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 @@ -42,6 +44,7 @@ distbin : README NEWS COPYING all @ [ "$(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) @@ -113,13 +116,13 @@ deb rpm : dist/$(distdir) dist/debian/control doc-pak description-pak --pkgaltsource='http://www.estamos.de/projects/SyncML/' \ --pkggroup='gnome' \ --docdir=":$$docdir" cp -r `pwd`/$ 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 --------------------------------------------------------- @@ -166,7 +382,7 @@ minor client/server incompatibilities and for vCard 2.1 support. 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. diff --git a/configure b/configure index 18a51eb..ac4517c 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /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. @@ -726,8 +726,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # 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. @@ -919,6 +919,8 @@ POSUB MKINSTALLDIRS SYNCEVOLUTION_LOCALEDIR GETTEXT_PACKAGE +GUI_PROGRAMS +GUI_DESKTOP_FILES CXX CXXFLAGS ac_ct_CXX @@ -1521,7 +1523,7 @@ if test "$ac_init_help" = "long"; then # 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]... @@ -1591,7 +1593,7 @@ fi 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 @@ -1619,9 +1621,10 @@ Optional Features: --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 @@ -1802,7 +1805,7 @@ fi 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, @@ -1816,7 +1819,7 @@ cat >config.log <<_ACEOF 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 $@ @@ -2506,7 +2509,7 @@ fi # Define the identity of the package. PACKAGE='syncevolution' - VERSION='0.8.1+0.9+beta3+20090723' + VERSION='0.9' cat >>confdefs.h <<_ACEOF @@ -5256,6 +5259,8 @@ if test "${enable_gui+set}" = set; then 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;} @@ -5600,6 +5605,17 @@ cat >>confdefs.h <<_ACEOF _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" @@ -8046,6 +8062,8 @@ fi + + # 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. @@ -11240,7 +11258,7 @@ ia64-*-hpux*) ;; *-*-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=$? @@ -13345,11 +13363,11 @@ else -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. @@ -13635,11 +13653,11 @@ else -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. @@ -13739,11 +13757,11 @@ else -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 @@ -16116,7 +16134,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&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. @@ -18721,11 +18739,11 @@ else -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 @@ -20319,11 +20337,11 @@ else -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. @@ -20423,11 +20441,11 @@ else -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 @@ -22643,11 +22661,11 @@ else -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. @@ -22933,11 +22951,11 @@ else -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. @@ -23037,11 +23055,11 @@ else -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 @@ -26435,7 +26453,7 @@ exec 6>&1 # 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 @@ -26488,7 +26506,7 @@ Report bugs to ." _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'`\\" @@ -26876,6 +26894,8 @@ POSUB!$POSUB$ac_delim 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 @@ -26915,8 +26935,6 @@ build!$build$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 @@ -26958,6 +26976,8 @@ _ACEOF 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 @@ -26980,7 +27000,7 @@ LIBOBJS!$LIBOBJS$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 diff --git a/configure-pre.in b/configure-pre.in index 09164ad..d0ecf89 100644 --- a/configure-pre.in +++ b/configure-pre.in @@ -1,7 +1,7 @@ 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], []) @@ -209,7 +209,7 @@ AC_PATH_PROG(XSLT, xsltproc) 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.]), @@ -221,6 +221,8 @@ AC_ARG_ENABLE(gui, 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 @@ -270,6 +272,15 @@ DBUS_SERVICES_DIR="${datadir}/dbus-1/services" 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" @@ -296,6 +307,8 @@ AC_SUBST(SYNCEVOLUTION_LOCALEDIR) 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 diff --git a/configure.in b/configure.in index 594e374..257a6bb 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ 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], []) @@ -209,7 +209,7 @@ AC_PATH_PROG(XSLT, xsltproc) 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.]), @@ -221,6 +221,8 @@ AC_ARG_ENABLE(gui, 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 @@ -270,6 +272,15 @@ DBUS_SERVICES_DIR="${datadir}/dbus-1/services" 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" @@ -296,6 +307,8 @@ AC_SUBST(SYNCEVOLUTION_LOCALEDIR) 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 diff --git a/po/es.po b/po/es.po index e80bcd0..df72093 100644 --- a/po/es.po +++ b/po/es.po @@ -1,11 +1,10 @@ -#: ../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 \n" +"Last-Translator: Gonzalo Velasquez \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -35,8 +34,7 @@ msgstr "Nota" # 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 @@ -46,8 +44,7 @@ msgstr "Error al guardar la configuración del servicio en SyncEvolution" # 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 @@ -61,8 +58,7 @@ msgstr "El servicio debe llamarse de alguna manera y tener una URL" #. 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 @@ -81,21 +77,13 @@ msgstr "Estamos intentando cancelar la sincronizació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 "" -"¿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" @@ -108,9 +96,7 @@ msgstr "Sí, borrar y reemplazar" # 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 @@ -123,7 +109,7 @@ msgstr "Error al iniciar la sincronización" #: ../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 @@ -165,16 +151,17 @@ msgstr "La última sincronización tuvo lugar hace %ld días" #: ../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" @@ -252,7 +239,8 @@ msgid "%s URI" 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" @@ -264,9 +252,7 @@ msgstr "Configurar y usar" # 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" @@ -383,22 +369,23 @@ msgstr "Error: %d" 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 @@ -446,7 +433,7 @@ msgstr "Servicios compatibles" #: ../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" @@ -457,7 +444,7 @@ msgid "" "Change sync\n" "service" msgstr "" -"Cambiar servicio\n" +"Cambiar el servicio\n" "de sincronización" #: ../src/gtk-ui/ui.glade.h:11 @@ -479,13 +466,11 @@ msgstr "Editar la configuración del servicio" #: ../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)" @@ -515,7 +500,7 @@ msgstr "Nombre del servicio" # 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 @@ -530,26 +515,22 @@ msgstr "" 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" @@ -570,3 +551,4 @@ msgstr "Al día" #~ msgid "Bring your data with you" #~ msgstr "Llévate tus datos" + diff --git a/po/fi.po b/po/fi.po index 4b80ca5..6ad7e8c 100644 --- a/po/fi.po +++ b/po/fi.po @@ -2,9 +2,9 @@ msgid "" 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 \n" +"Last-Translator: GLS \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,327 +45,327 @@ msgstr "Palvelun määritysten saanti SyncEvolutionista epäonnistui" 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" @@ -478,7 +478,7 @@ msgid "Stop using this service" 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" @@ -506,7 +506,10 @@ msgstr "" "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" diff --git a/po/fr.po b/po/fr.po index 056d33b..d87c0a3 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2,9 +2,9 @@ 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: Loïc Dufresne de Virel \n" +"Last-Translator: glsfra_Sophie \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -135,10 +135,11 @@ msgstr "Dernière synchro il y a %ld jours" 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" @@ -387,7 +388,7 @@ msgstr "Configuration manuelle" #: ../src/gtk-ui/ui.glade.h:6 msgid "Supported services" -msgstr "Sservices pris en charge" +msgstr "Services pris en charge" # "New" for lack of space #: ../src/gtk-ui/ui.glade.h:7 diff --git a/po/ko.po b/po/ko.po index f1bf4b6..681f39c 100644 --- a/po/ko.po +++ b/po/ko.po @@ -2,16 +2,16 @@ msgid "" 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 \n" +"Last-Translator: GLSKOR_Sook \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" @@ -45,321 +45,321 @@ msgstr "SyncEvolution으로 부터 구성 서비스를 불러오기를 실패했 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' 받는중" @@ -469,7 +469,7 @@ msgid "Stop using this service" 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 "동기화" @@ -497,7 +497,10 @@ 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 "귀하의 데이타를 가져오십시오." diff --git a/po/pl.po b/po/pl.po index 48935bf..0726200 100644 --- a/po/pl.po +++ b/po/pl.po @@ -3,20 +3,18 @@ # This file is distributed under the same license as the syncevolution package. # Andrzej Zaborowski , 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 \n" +"Last-Translator: GLSJPN_Yukari \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" @@ -85,21 +83,13 @@ msgstr "Trwa próba anulowania synchronizacji" #: ../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" @@ -112,9 +102,7 @@ msgstr "Tak, usuń i zastąp" # 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 @@ -143,7 +131,7 @@ msgstr "Ostatnio synchronizowano minutę temu" #: ../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 @@ -154,7 +142,7 @@ msgstr "Ostatnio synchronizowano godzinę temu" #: ../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 @@ -171,7 +159,8 @@ msgstr "Ostatnio synchronizowano %ld dni temu" 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" @@ -210,8 +199,7 @@ msgstr[2] "Odrzucono %d elementów" #: ../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 @@ -261,7 +249,8 @@ msgid "%s URI" 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" @@ -390,9 +379,10 @@ msgstr "Błąd %d" 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" @@ -486,12 +476,10 @@ msgstr "Edycja ustawień usługi" #: ../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 @@ -537,23 +525,21 @@ msgstr "" 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 @@ -572,3 +558,4 @@ msgstr "" #: ../src/gtk-ui/sync.desktop.in.h:2 msgid "Up to date" msgstr "Aktualny" + diff --git a/po/pt_BR.po b/po/pt_BR.po index bf703c7..53d7dc9 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -2,9 +2,9 @@ msgid "" 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 \n" +"Last-Translator: williane \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,321 +45,321 @@ msgstr "Falha ao buscar a configuração de serviço do SyncEvolution" 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'" diff --git a/po/sv.po b/po/sv.po index 44e9f3a..acd6cfd 100644 --- a/po/sv.po +++ b/po/sv.po @@ -2,7 +2,7 @@ msgid "" 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 \n" "Language-Team: \n" @@ -23,7 +23,7 @@ msgstr "Kalender" #: ../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" @@ -45,321 +45,321 @@ msgstr "Misslyckades med att hämta tjänstkonfiguration från SyncEvolution" 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'" diff --git a/po/zh_CN.po b/po/zh_CN.po index 1f1650d..0cda7b1 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # Zhu Yanhai , 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 \n" "Language-Team: zh_CN \n" "Language-Team: \n" @@ -68,13 +69,18 @@ msgstr "正在嘗試取消同步" #: ../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" @@ -135,8 +141,7 @@ msgstr "最後一次同步是在%ld天以前" 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 "現在同步" @@ -215,8 +220,7 @@ msgstr "伺服器 URL" 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 "開啟網站" @@ -328,8 +332,7 @@ msgstr "錯誤 %d" 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 "同步失敗" @@ -420,7 +423,8 @@ 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" @@ -466,18 +470,19 @@ msgstr "" 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" @@ -491,7 +496,9 @@ msgstr "使用者名稱" 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" @@ -499,4 +506,3 @@ msgstr "最新" #~ msgid "Bring your data with you" #~ msgstr "請帶攜你的數據" - diff --git a/src/DBusSyncClient.cpp b/src/DBusSyncClient.cpp index 65687a6..aa5d471 100644 --- a/src/DBusSyncClient.cpp +++ b/src/DBusSyncClient.cpp @@ -89,7 +89,17 @@ void DBusSyncClient::displaySourceProgress(sysync::TProgressEventEnum type, 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); } diff --git a/src/Makefile.in b/src/Makefile.in index 163213a..17a2d22 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -290,7 +290,9 @@ GMSGFMT = @GMSGFMT@ 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@ diff --git a/src/backends/addressbook/Makefile.in b/src/backends/addressbook/Makefile.in index 8d281f4..80ebc4a 100644 --- a/src/backends/addressbook/Makefile.in +++ b/src/backends/addressbook/Makefile.in @@ -152,7 +152,9 @@ GMSGFMT = @GMSGFMT@ 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@ diff --git a/src/backends/evolution/Makefile.in b/src/backends/evolution/Makefile.in index f0f7b40..85d6c61 100644 --- a/src/backends/evolution/Makefile.in +++ b/src/backends/evolution/Makefile.in @@ -174,7 +174,9 @@ GMSGFMT = @GMSGFMT@ 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@ diff --git a/src/backends/file/Makefile.in b/src/backends/file/Makefile.in index f8b934a..322a740 100644 --- a/src/backends/file/Makefile.in +++ b/src/backends/file/Makefile.in @@ -150,7 +150,9 @@ GMSGFMT = @GMSGFMT@ 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@ diff --git a/src/backends/sqlite/Makefile.in b/src/backends/sqlite/Makefile.in index 9d247c4..31e459c 100644 --- a/src/backends/sqlite/Makefile.in +++ b/src/backends/sqlite/Makefile.in @@ -151,7 +151,9 @@ GMSGFMT = @GMSGFMT@ 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@ diff --git a/src/client-test-app.cpp b/src/client-test-app.cpp index ef7d15d..00e94d1 100644 --- a/src/client-test-app.cpp +++ b/src/client-test-app.cpp @@ -256,9 +256,16 @@ public: LoggerBase::instance().setLevel(Logger::DEBUG); std::string root = std::string("evolution/") + server + "_" + id; EvolutionSyncConfig config(string(server) + "_" + id); + boost::shared_ptr from = boost::shared_ptr (); + if (!config.exists()) { // no configuration yet config.setDefaults(); + from = EvolutionSyncConfig::createServerTemplate(server); + if(from) { + set filter; + config.copy(*from, &filter); + } config.setDevID(id == "1" ? "sc-api-nat" : "sc-pim-ppc"); } BOOST_FOREACH(const RegisterSyncSourceTest *test, m_configs) { @@ -273,6 +280,10 @@ public: sc = config.getSyncSourceConfig(testconfig.sourceName); CPPUNIT_ASSERT(sc); sc->setURI(testconfig.uri); + if(from && testconfig.sourceNameServerTemplate){ + boost::shared_ptr scServerTemplate = from->getSyncSourceConfig(testconfig.sourceNameServerTemplate); + sc->setURI(scServerTemplate->getURI()); + } sc->setSourceType(testconfig.type); } diff --git a/src/core/EvolutionSyncClient.cpp b/src/core/EvolutionSyncClient.cpp index 0a5e911..ec78fa1 100644 --- a/src/core/EvolutionSyncClient.cpp +++ b/src/core/EvolutionSyncClient.cpp @@ -926,6 +926,13 @@ void EvolutionSyncClient::displaySourceProgress(sysync::TProgressEventEnum 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: @@ -1251,7 +1258,7 @@ void EvolutionSyncClient::getConfigXML(string &xml, string &configname) " html\n" " auto\n" " yes\n" - " no\n" + " yes\n" " no\n" " suppress\n" " yes\n" diff --git a/src/core/EvolutionSyncSource.cpp b/src/core/EvolutionSyncSource.cpp index 1384bba..ef01ef4 100644 --- a/src/core/EvolutionSyncSource.cpp +++ b/src/core/EvolutionSyncSource.cpp @@ -505,7 +505,11 @@ SyncMLStatus EvolutionSyncSource::updateItem(SyncItem& item) throw() 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() @@ -518,6 +522,7 @@ SyncMLStatus EvolutionSyncSource::removeAllItems() throw() item.setKey(key.c_str()); logItem(item, "delete all items"); deleteItemThrow(item); + incrementNumDeleted(); m_isModified = true; } } catch (...) { diff --git a/src/core/EvolutionSyncSource.h b/src/core/EvolutionSyncSource.h index ed4c9bb..32b96d8 100644 --- a/src/core/EvolutionSyncSource.h +++ b/src/core/EvolutionSyncSource.h @@ -352,6 +352,7 @@ class EvolutionSyncSource : public EvolutionSyncSourceConfig, public LoggerBase, m_deletedItems( *this, "deleted", SyncItem::DELETED ), m_isModified( false ), m_modTimeStamp(0), + m_numDeleted(0), m_hasFailed( false ) { } @@ -722,6 +723,10 @@ class EvolutionSyncSource : public EvolutionSyncSourceConfig, public LoggerBase, va_list args); /**@}*/ + long getNumDeleted() { return m_numDeleted; } + void setNumDeleted(long num) { m_numDeleted = num; } + void incrementNumDeleted() { m_numDeleted++; } + protected: #ifdef HAVE_EDS /** @@ -856,6 +861,15 @@ class EvolutionSyncSource : public EvolutionSyncSourceConfig, public LoggerBase, /** 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; diff --git a/src/core/Makefile.in b/src/core/Makefile.in index a48b6af..252ff0e 100644 --- a/src/core/Makefile.in +++ b/src/core/Makefile.in @@ -177,7 +177,9 @@ GMSGFMT = @GMSGFMT@ 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@ diff --git a/src/core/SyncEvolutionXML.c b/src/core/SyncEvolutionXML.c index 284b7ba..bf9dccb 100644 --- a/src/core/SyncEvolutionXML.c +++ b/src/core/SyncEvolutionXML.c @@ -67,6 +67,27 @@ const char *SyncEvolutionXML = " 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 (iuserdata); g_slice_free (SyncevoAsyncData, data); + + return FALSE; } void @@ -420,7 +422,7 @@ get_servers_async_callback (DBusGProxy *proxy, g_slice_free (SyncevoAsyncData, data); } -static void +static gboolean get_servers_async_error (SyncevoAsyncData *data) { GError *error; @@ -433,6 +435,8 @@ get_servers_async_error (SyncevoAsyncData *data) error, data->userdata); g_slice_free (SyncevoAsyncData, data); + + return FALSE; } void @@ -496,7 +500,7 @@ get_templates_async_callback (DBusGProxy *proxy, g_slice_free (SyncevoAsyncData, data); } -static void +static gboolean get_templates_async_error (SyncevoAsyncData *data) { GError *error; @@ -509,6 +513,8 @@ get_templates_async_error (SyncevoAsyncData *data) error, data->userdata); g_slice_free (SyncevoAsyncData, data); + + return FALSE; } void syncevo_service_get_templates_async (SyncevoService *service, @@ -573,7 +579,7 @@ get_template_config_async_callback (DBusGProxy *proxy, g_slice_free (SyncevoAsyncData, data); } -static void +static gboolean get_template_config_async_error (SyncevoAsyncData *data) { GError *error; @@ -586,6 +592,8 @@ get_template_config_async_error (SyncevoAsyncData *data) error, data->userdata); g_slice_free (SyncevoAsyncData, data); + + return FALSE; } void @@ -653,7 +661,7 @@ get_server_config_async_callback (DBusGProxy *proxy, g_slice_free (SyncevoAsyncData, data); } -static void +static gboolean get_server_config_async_error (SyncevoAsyncData *data) { GError *error; @@ -665,7 +673,8 @@ get_server_config_async_error (SyncevoAsyncData *data) NULL, error, data->userdata); - g_slice_free (SyncevoAsyncData, data); + + return FALSE; } void @@ -732,7 +741,7 @@ set_server_config_async_callback (DBusGProxy *proxy, g_slice_free (SyncevoAsyncData, data); } -static void +static gboolean set_server_config_async_error (SyncevoAsyncData *data) { GError *error; @@ -744,6 +753,8 @@ set_server_config_async_error (SyncevoAsyncData *data) error, data->userdata); g_slice_free (SyncevoAsyncData, data); + + return FALSE; } void @@ -810,7 +821,7 @@ remove_server_config_async_callback (DBusGProxy *proxy, g_slice_free (SyncevoAsyncData, data); } -static void +static gboolean remove_server_config_async_error (SyncevoAsyncData *data) { GError *error; @@ -822,6 +833,8 @@ remove_server_config_async_error (SyncevoAsyncData *data) error, data->userdata); g_slice_free (SyncevoAsyncData, data); + + return FALSE; } void @@ -893,7 +906,7 @@ get_sync_reports_async_callback (DBusGProxy *proxy, g_slice_free (SyncevoAsyncData, data); } -static void +static gboolean get_sync_reports_async_error (SyncevoAsyncData *data) { GError *error; @@ -906,6 +919,8 @@ get_sync_reports_async_error (SyncevoAsyncData *data) error, data->userdata); g_slice_free (SyncevoAsyncData, data); + + return FALSE; } void diff --git a/src/gtk-ui/Makefile.am b/src/gtk-ui/Makefile.am index 3d527f2..cdfd3d0 100644 --- a/src/gtk-ui/Makefile.am +++ b/src/gtk-ui/Makefile.am @@ -1,9 +1,13 @@ 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 @@ -25,22 +29,42 @@ EXTRA_DIST = \ 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 = \ diff --git a/src/gtk-ui/Makefile.in b/src/gtk-ui/Makefile.in index ab2b0b6..17cb007 100644 --- a/src/gtk-ui/Makefile.in +++ b/src/gtk-ui/Makefile.in @@ -33,7 +33,8 @@ PRE_UNINSTALL = : 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 @@ -54,10 +55,43 @@ am_sync_ui_OBJECTS = sync_ui-main.$(OBJEXT) sync_ui-sync-ui.$(OBJEXT) \ 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 @@ -70,8 +104,11 @@ CCLD = $(CC) 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/||"`;; \ @@ -149,7 +186,9 @@ GMSGFMT = @GMSGFMT@ 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@ @@ -274,7 +313,7 @@ top_srcdir = @top_srcdir@ 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 @@ -292,19 +331,31 @@ EXTRA_DIST = \ $(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 @@ -378,6 +429,12 @@ clean-binPROGRAMS: 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) @@ -392,6 +449,20 @@ distclean-compile: @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 $@ $< @@ -512,6 +583,202 @@ sync_ui-sync-ui-marshal.obj: sync-ui-marshal.c @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 @@ -757,6 +1024,10 @@ uninstall-am: uninstall-applicationsDATA uninstall-binPROGRAMS \ @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) diff --git a/src/gtk-ui/sync-ui.c b/src/gtk-ui/sync-ui.c index c8e27a7..136da46 100644 --- a/src/gtk-ui/sync-ui.c +++ b/src/gtk-ui/sync-ui.c @@ -1510,7 +1510,10 @@ show_settings_window (app_data *data, server_config *config) 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), diff --git a/src/gtk-ui/sync-ui.rc b/src/gtk-ui/sync-ui.rc index 2e47e63..362e29e 100644 --- a/src/gtk-ui/sync-ui.rc +++ b/src/gtk-ui/sync-ui.rc @@ -16,13 +16,6 @@ style "mux-frame" { } 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" { diff --git a/src/gtk-ui/sync.desktop.in b/src/gtk-ui/sync.desktop.in index 0f81c34..377e0f7 100644 --- a/src/gtk-ui/sync.desktop.in +++ b/src/gtk-ui/sync.desktop.in @@ -7,3 +7,4 @@ Exec=sync-ui Icon=sync Categories=Network;GTK; Terminal=false +StartupNotify=true diff --git a/src/gtk-ui/ui.glade b/src/gtk-ui/ui.glade index 97ef590..03bccc7 100644 --- a/src/gtk-ui/ui.glade +++ b/src/gtk-ui/ui.glade @@ -383,6 +383,7 @@ synchronize your data between your netbook and a web service. + False 20 1 @@ -442,6 +443,7 @@ synchronize your data between your netbook and a web service. + False 20 2 diff --git a/src/syncclient_sample_config.xml b/src/syncclient_sample_config.xml index 44eed81..0addbd8 100644 --- a/src/syncclient_sample_config.xml +++ b/src/syncclient_sample_config.xml @@ -66,6 +66,27 @@ 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 from(new EvolutionSyncConfig (string (server))); + boost::shared_ptr from; + boost::shared_ptr 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; @@ -801,12 +802,10 @@ syncevo_get_server_config (SyncevoDBusServer *obj, "No server or template '%s' found", server); return FALSE; } + config->copy(*from, NULL); } *options = g_ptr_array_new (); - boost::shared_ptr 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())); @@ -857,8 +856,6 @@ syncevo_get_server_config (SyncevoDBusServer *obj, } - - update_shutdown_timer (obj); return TRUE; @@ -1147,6 +1144,7 @@ int main() 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); diff --git a/src/synthesis/ChangeLog b/src/synthesis/ChangeLog index 9096ad5..454a5d3 100644 --- a/src/synthesis/ChangeLog +++ b/src/synthesis/ChangeLog @@ -1,6 +1,53 @@ # 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 + + * src/sysync/engineinterface.cpp: + + TSettingsKeyImpl::SetValueByID: compiler warning about pointer + aliasing + +2009-08-05 Patrick Ohly + + * src/sysync/synccommand.cpp: + + TSyncCommand::analyze: compiler warning about uninitialized + variable (return code!) + +2009-08-05 Patrick Ohly + + * src/sysync/sysync_utils.cpp: + + appendRFC2047AsUTF8: compiler warning about uninitialized + variable + +2009-08-05 Patrick Ohly + + * src/sysync/sysync_utils.cpp: + + compiler warning in generateNonce(): casting char array + +2009-07-30 Patrick Ohly + + * src/sysync/stdlogicds.cpp: + + slow sync: avoid empty anchors, that confuses ScheduleWorld + +2009-07-29 Patrick Ohly + + * src/sysync/vtimezone.cpp: + + timezone parsing: accept \r\n and \r as line ends in addition to + \n + +2009-07-28 Patrick Ohly + + * src/sysync/vtimezone.cpp: + * src/sysync/vtimezone.h: + + vtimezone: use const string & instead of string copy 2009-07-21 Patrick Ohly diff --git a/src/synthesis/src/sysync/engineinterface.cpp b/src/synthesis/src/sysync/engineinterface.cpp index e6a85fd..7fefed9 100644 --- a/src/synthesis/src/sysync/engineinterface.cpp +++ b/src/synthesis/src/sysync/engineinterface.cpp @@ -486,20 +486,26 @@ TSyError TSettingsKeyImpl::SetValueByID( 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 diff --git a/src/synthesis/src/sysync/stdlogicds.cpp b/src/synthesis/src/sysync/stdlogicds.cpp index cbfafe2..f67ad0f 100755 --- a/src/synthesis/src/sysync/stdlogicds.cpp +++ b/src/synthesis/src/sysync/stdlogicds.cpp @@ -130,10 +130,12 @@ localstatus TStdLogicDS::logicMakeAdminReady(cAppCharP aDataStoreURI, cAppCharP 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"); diff --git a/src/synthesis/src/sysync/synccommand.cpp b/src/synthesis/src/sysync/synccommand.cpp index cccad4b..cc8b4f6 100755 --- a/src/synthesis/src/sysync/synccommand.cpp +++ b/src/synthesis/src/sysync/synccommand.cpp @@ -807,7 +807,7 @@ bool TSyncCommand::analyze(TPackageStates aPackageState) bool TSyncCommand::execute(void) { TStatusCommand *statusCmdP=NULL; - bool queueforlater; + bool queueforlater = false; if (fSyncElementP) SYSYNC_TRY { diff --git a/src/synthesis/src/sysync/sysync_utils.cpp b/src/synthesis/src/sysync/sysync_utils.cpp index 8b3ce52..47fd48f 100755 --- a/src/synthesis/src/sysync/sysync_utils.cpp +++ b/src/synthesis/src/sysync/sysync_utils.cpp @@ -549,7 +549,7 @@ const char *appendRFC2047AsUTF8( ) { const char *p,*q,*r,*w; - char c; + char c = 0; const char *eot = aRFC2047+aSize; p=aRFC2047; @@ -2831,7 +2831,10 @@ void generateNonce(string &aNonce, const char *aDevStaticString, sInt32 aSession // - 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); diff --git a/src/synthesis/src/sysync/vtimezone.cpp b/src/synthesis/src/sysync/vtimezone.cpp index c7b3fd9..8093d0e 100644 --- a/src/synthesis/src/sysync/vtimezone.cpp +++ b/src/synthesis/src/sysync/vtimezone.cpp @@ -292,18 +292,91 @@ static bool GetTZInfo( cAppCharP aText, /*! 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 @@ -797,41 +870,42 @@ bool ContextToTzDaylight( timecontext_t aContext, // ----------------------------------------------------------------------------------------- -// Get sequence between and -static string PeeledStr( string aStr, string bv, string ev, sInt32 aNth ) +// Get sequence between and . 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:\n" and "END:\n" -string VStr( string aStr, string value, sInt32 aNth ) { +// Get the string between "BEGIN:[line end]" and "END:[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 ":" 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 diff --git a/src/synthesis/src/sysync/vtimezone.h b/src/synthesis/src/sysync/vtimezone.h index 008d6bf..5115772 100755 --- a/src/synthesis/src/sysync/vtimezone.h +++ b/src/synthesis/src/sysync/vtimezone.h @@ -75,13 +75,13 @@ bool ContextToTzDaylight( timecontext_t aContext, * Get the string between "BEGIN:\n" and "END:\n" * Default: First occurance */ -string VStr( string aStr, string value, sInt32 aNth= 1 ); +string VStr( const string &aStr, const string &value, sInt32 aNth= 1 ); /*! parsing: * Get the value between ":" and "\n" */ -string VValue( string aStr, string key ); +string VValue( const string &aStr, const string &key ); /*! Get the hour/minute string of */ diff --git a/test/ClientTest.cpp b/test/ClientTest.cpp index b5eb5da..48254cf 100644 --- a/test/ClientTest.cpp +++ b/test/ClientTest.cpp @@ -1652,6 +1652,8 @@ void SyncTests::addTests() { 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); @@ -2635,6 +2637,71 @@ void SyncTests::testManyItems() { 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() @@ -3300,6 +3367,13 @@ bool ClientTest::compare(ClientTest &client, const char *fileA, const char *file 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", @@ -3354,6 +3428,7 @@ void ClientTest::getTestData(const char *type, Config &config) if (!strcmp(type, "vcard30")) { config.sourceName = "vcard30"; + config.sourceNameServerTemplate = "addressbook"; config.uri = "card3"; // ScheduleWorld config.type = "text/vcard"; config.insertItem = @@ -3420,6 +3495,7 @@ void ClientTest::getTestData(const char *type, Config &config) 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 = @@ -3482,6 +3558,7 @@ void ClientTest::getTestData(const char *type, Config &config) 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 = @@ -3618,6 +3695,7 @@ void ClientTest::getTestData(const char *type, Config &config) 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 = @@ -3675,6 +3753,7 @@ void ClientTest::getTestData(const char *type, Config &config) 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 = @@ -3754,6 +3833,7 @@ void ClientTest::getTestData(const char *type, Config &config) // 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 = diff --git a/test/ClientTest.h b/test/ClientTest.h index 0207060..a85094a 100644 --- a/test/ClientTest.h +++ b/test/ClientTest.h @@ -308,6 +308,13 @@ class ClientTest { 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 @@ -782,8 +789,9 @@ public: protected: /** list with all local test classes for manipulating the sources and their index in the client */ - std::vector< std::pair > sources; - typedef std::vector< std::pair >::iterator source_it; + typedef std::vector< std::pair > 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, @@ -906,6 +914,8 @@ protected: } virtual void testManyItems(); + virtual void testSlowSyncSemantic(); + virtual void testComplexRefreshFromServerSemantic(); virtual void doInterruptResume(int changes, boost::shared_ptr wrapper); diff --git a/test/Makefile.in b/test/Makefile.in index 9dd22d3..826374e 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -107,7 +107,9 @@ GMSGFMT = @GMSGFMT@ 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@ diff --git a/test/client-test-main.cpp b/test/client-test-main.cpp index 2c2dd9d..a906c1f 100644 --- a/test/client-test-main.cpp +++ b/test/client-test-main.cpp @@ -175,6 +175,18 @@ public: 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"; -- 2.7.4