summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@gnome-db.org>2013-09-25 10:10:12 +0200
committerRodrigo Moya <rodrigo@gnome-db.org>2013-09-25 10:10:12 +0200
commit12910eb18f18d33ae57240d7a5b8b39ce8f60129 (patch)
treed3e57f566c7319369690a714130bcedcc2ee0a3a
parent73500c8cb18cdc9f0e2b08ce6189280d240c570a (diff)
parentf707b604734f787692cf94a7daffb4edf349a476 (diff)
Merge branch 'master' into wip/arbitrary-field-interfacewip/arbitrary-field-interface
-rw-r--r--Makefile.am2
-rw-r--r--NEWS43
-rw-r--r--backends/eds/lib/Makefile.am44
-rw-r--r--backends/libsocialweb/lib/Makefile.am40
-rw-r--r--backends/telepathy/lib/Makefile.am55
-rw-r--r--backends/telepathy/lib/tpf-persona-store.vala2
-rw-r--r--backends/telepathy/lib/tpf-persona.vala70
-rw-r--r--backends/tracker/lib/Makefile.am40
-rw-r--r--configure.ac10
-rw-r--r--folks/folks-generics.vapi1
-rw-r--r--folks/individual-aggregator.vala99
-rw-r--r--folks/individual.vala4
-rw-r--r--folks/location-details.vala20
-rw-r--r--folks/phone-details.vala5
-rw-r--r--folks/presence-details.vala2
-rw-r--r--folks/small-set.c1
-rw-r--r--po/LINGUAS1
-rw-r--r--po/eu.po170
-rw-r--r--po/fi.po683
-rw-r--r--po/zh_CN.po134
-rw-r--r--tests/eds/add-contacts-stress-test.vala2
-rw-r--r--tests/eds/add-persona.vala2
-rw-r--r--tests/eds/anti-linking.vala4
-rw-r--r--tests/eds/avatar-details.vala2
-rw-r--r--tests/eds/create-remove-stores.vala2
-rw-r--r--tests/eds/email-details.vala2
-rw-r--r--tests/eds/enable-disable-stores.vala2
-rw-r--r--tests/eds/helper-prepare-aggregator.vala2
-rw-r--r--tests/eds/im-details.vala2
-rw-r--r--tests/eds/individual-retrieval.vala2
-rw-r--r--tests/eds/link-personas-diff-stores.vala2
-rw-r--r--tests/eds/link-personas.vala2
-rw-r--r--tests/eds/linkable-properties.vala2
-rw-r--r--tests/eds/name-details.vala2
-rw-r--r--tests/eds/perf.vala2
-rw-r--r--tests/eds/phone-details.vala2
-rw-r--r--tests/eds/postal-address-details.vala2
-rw-r--r--tests/eds/remove-persona.vala2
-rw-r--r--tests/eds/removing-contacts.vala2
-rw-r--r--tests/eds/set-avatar.vala4
-rw-r--r--tests/eds/set-birthday.vala2
-rw-r--r--tests/eds/set-emails.vala2
-rw-r--r--tests/eds/set-gender.vala2
-rw-r--r--tests/eds/set-im-addresses.vala2
-rw-r--r--tests/eds/set-is-favourite.vala2
-rw-r--r--tests/eds/set-names.vala2
-rw-r--r--tests/eds/set-notes.vala2
-rw-r--r--tests/eds/set-phones.vala2
-rw-r--r--tests/eds/set-postal-addresses.vala2
-rw-r--r--tests/eds/set-properties-race.vala2
-rw-r--r--tests/eds/set-roles.vala2
-rw-r--r--tests/eds/set-structured-name.vala2
-rw-r--r--tests/eds/set-urls.vala2
-rw-r--r--tests/eds/store-removed.vala2
-rw-r--r--tests/eds/updating-contacts.vala2
-rw-r--r--tests/folks/Makefile.am5
-rw-r--r--tests/folks/aggregation.vala18
-rw-r--r--tests/folks/init.vala4
-rw-r--r--tests/folks/phone-field-details.vala66
-rw-r--r--tests/key-file/individual-retrieval.vala20
-rw-r--r--tests/lib/telepathy/contactlist/Makefile.am5
-rw-r--r--tests/libsocialweb/aggregation.vala2
-rw-r--r--tests/libsocialweb/dummy-lsw.vala2
-rw-r--r--tests/telepathy/fake-tp-backend.vala2
-rw-r--r--tests/telepathy/individual-properties.vala8
-rw-r--r--tests/telepathy/individual-retrieval.vala4
-rw-r--r--tests/telepathy/individual-zeitgeist.vala2
-rw-r--r--tests/telepathy/init.vala2
-rw-r--r--tests/tracker/add-contact.vala2
-rw-r--r--tests/tracker/add-persona.vala2
-rw-r--r--tests/tracker/additional-names-updates.vala2
-rw-r--r--tests/tracker/avatar-details-interface.vala2
-rw-r--r--tests/tracker/avatar-updates.vala2
-rw-r--r--tests/tracker/birthday-details-interface.vala2
-rw-r--r--tests/tracker/birthday-updates.vala2
-rw-r--r--tests/tracker/default-contact.vala2
-rw-r--r--tests/tracker/duplicated-emails.vala2
-rw-r--r--tests/tracker/duplicated-phones.vala2
-rw-r--r--tests/tracker/email-details-interface.vala2
-rw-r--r--tests/tracker/emails-updates.vala2
-rw-r--r--tests/tracker/family-name-updates.vala2
-rw-r--r--tests/tracker/favourite-details-interface.vala2
-rw-r--r--tests/tracker/favourite-updates.vala2
-rw-r--r--tests/tracker/fullname-updates.vala2
-rw-r--r--tests/tracker/gender-details-interface.vala2
-rw-r--r--tests/tracker/given-name-updates.vala2
-rw-r--r--tests/tracker/im-details-interface.vala2
-rw-r--r--tests/tracker/imaddresses-updates.vala2
-rw-r--r--tests/tracker/individual-retrieval.vala2
-rw-r--r--tests/tracker/link-personas-via-local-ids.vala2
-rw-r--r--tests/tracker/link-personas.vala2
-rw-r--r--tests/tracker/match-all.vala2
-rw-r--r--tests/tracker/match-email-addresses.vala2
-rw-r--r--tests/tracker/match-im-addresses.vala2
-rw-r--r--tests/tracker/match-known-emails.vala2
-rw-r--r--tests/tracker/match-name.vala2
-rw-r--r--tests/tracker/match-phone-number.vala2
-rw-r--r--tests/tracker/name-details-interface.vala2
-rw-r--r--tests/tracker/nickname-updates.vala2
-rw-r--r--tests/tracker/note-details-interface.vala2
-rw-r--r--tests/tracker/phone-details-interface.vala2
-rw-r--r--tests/tracker/phones-updates.vala2
-rw-r--r--tests/tracker/postal-address-details-interface.vala2
-rw-r--r--tests/tracker/prefix-name-updates.vala2
-rw-r--r--tests/tracker/remove-contact.vala2
-rw-r--r--tests/tracker/remove-persona.vala2
-rw-r--r--tests/tracker/role-details-interface.vala2
-rw-r--r--tests/tracker/set-avatar.vala2
-rw-r--r--tests/tracker/set-birthday.vala2
-rw-r--r--tests/tracker/set-duplicate-email.vala2
-rw-r--r--tests/tracker/set-emails.vala2
-rw-r--r--tests/tracker/set-favourite.vala2
-rw-r--r--tests/tracker/set-full-name.vala2
-rw-r--r--tests/tracker/set-gender.vala2
-rw-r--r--tests/tracker/set-im-addresses.vala2
-rw-r--r--tests/tracker/set-nickname.vala2
-rw-r--r--tests/tracker/set-notes.vala2
-rw-r--r--tests/tracker/set-null-avatar.vala2
-rw-r--r--tests/tracker/set-phones.vala2
-rw-r--r--tests/tracker/set-postal-addresses.vala2
-rw-r--r--tests/tracker/set-roles.vala2
-rw-r--r--tests/tracker/set-structured-name.vala2
-rw-r--r--tests/tracker/set-urls.vala2
-rw-r--r--tests/tracker/suffix-name-updates.vala2
-rw-r--r--tests/tracker/url-details-interface.vala2
-rw-r--r--tests/tracker/website-updates.vala2
-rw-r--r--tools/import.vala2
-rw-r--r--tools/inspect/inspect.vala2
128 files changed, 1273 insertions, 487 deletions
diff --git a/Makefile.am b/Makefile.am
index a07828e1..c72fb373 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-ACLOCAL_AMFLAGS = -I m4
+ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = \
folks \
diff --git a/NEWS b/NEWS
index 8c97d3e5..d2668af1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,48 @@
+Overview of changes from libfolks 0.9.5 to libfolks 0.9.6
+=========================================================
+
+Dependencies:
+
+Major changes:
+
+Bugs fixed:
+• Bug 706683 — fails to build with Vala 0.20
+• Bug 706826 — build fails due to missing IT_PROG_INTLTOOL macro
+• Made docs buildable again (work around bgo#706857)
+• Bug 705608 — FolksTelepathy: tpf_persona_get_contact: return value: Missing
+ (transfer) annotation
+
+API changes:
+
+Overview of changes from libfolks 0.9.4 to libfolks 0.9.5
+=========================================================
+
+Dependencies:
+
+Major changes:
+• Multiple IndividualAggregator instances are now not officially supported.
+Clients should use the new IndividualAggregator.dup constructor to retrieve
+the default aggregator singleton. The default IndividualAggregator constructor
+and IndividualAggregator.with_backend_store are now deprecated.
+
+Bugs fixed:
+• Bug 705289 — Crash when removing an individual with 2 aggregators instantiated
+• Bug 706532 — folks_small_set_copy() does not always return value
+
+API changes:
+• Add IndividualAggregator.dup constructor
+• Add IndividualAggregator.dup_with_backend_store constructor
+
Overview of changes from libfolks 0.9.3 to libfolks 0.9.4
=========================================================
Dependencies:
+• libebook-1.2 ≥ 3.9.1
+• libebook-contacts ≥ 3.9.1
Major changes:
• Fatal warnings are now turned off when distchecking
+• EDS dependency has been bumped to ≥ 3.9.1 to fix a Vala binding issue
Bugs fixed:
• Bug 699865 — Folks needs to expose chat/VoIP service client types
@@ -14,6 +52,11 @@ Bugs fixed:
• Bug 703709 — can't compile folks. fails at GISCAN TpLowlevel-0.6.gir
• Bug 703830 — build: distcheck fails trying to delete
libfolks_telepathy_la_vala.stamp
+• Bug 704922 — key-file: do not use deprecated loop_run_with_non_fatal_timeout()
+• Bug 705196 — Linking a favorite TP contact with a EDS one unfavorite it
+• Bug 703516 — Build failing with EDS backend
+• Bug 701850 — folks-DEBUG: phone-details.vala:160:
+ [PhoneDetails.get_normalised] unknown digit: +
API changes:
• Add PresenceDetails.client_types
diff --git a/backends/eds/lib/Makefile.am b/backends/eds/lib/Makefile.am
index e37a7cc0..536cb38e 100644
--- a/backends/eds/lib/Makefile.am
+++ b/backends/eds/lib/Makefile.am
@@ -49,6 +49,8 @@ libfolks_eds_la_VALAFLAGS = \
--pkg libedataserver-1.2 \
--pkg libxml-2.0 \
--includedir folks \
+ --gir FolksEds-$(API_VERSION_DOT).gir \
+ --library folks-eds \
--vapi folks-eds.vapi \
-H folks/folks-eds.h \
$(NULL)
@@ -125,46 +127,20 @@ INTROSPECTION_COMPILER_ARGS = \
--includedir=$(abs_top_builddir)/folks \
$(NULL)
-EDSF_GIR = FolksEds-$(API_VERSION_DOT).gir
-$(EDSF_GIR): libfolks-eds.la
-
-FolksEds_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_CFLAGS = \
- $(EBOOK_CFLAGS) \
- $(EDATASERVER_CFLAGS) \
- $(NULL)
-FolksEds_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_INCLUDES = \
- Gee-0.8 \
- Gio-2.0 \
- Folks-$(API_VERSION_DOT) \
- EBook-1.2 \
- EBookContacts-1.2 \
- EDataServer-1.2 \
- $(NULL)
-FolksEds_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_LIBS = \
- libfolks-eds.la \
- $(top_builddir)/folks/libfolks.la \
- $(NULL)
-FolksEds_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_FILES = \
-$(libfolks_eds_la_SOURCES) \
- folks/folks-eds.h \
- $(NULL)
-FolksEds_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_NAMESPACE = FolksEds
-FolksEds_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_SCANNERFLAGS = --identifier-prefix=Edsf
-INTROSPECTION_GIRS = $(EDSF_GIR)
-
-libfolks_eds_la_VALAFLAGS += \
- --gir $(EDSF_GIR) \
- --girdir=$(abs_builddir) \
- $(NULL)
+if HAVE_INTROSPECTION
+FolksEds-$(API_VERSION_DOT).gir: libfolks-eds.la
+GIRS = FolksEds-$(API_VERSION_DOT).gir
girdir = $(datadir)/gir-1.0
-dist_gir_DATA = $(INTROSPECTION_GIRS)
+dist_gir_DATA = $(GIRS)
+
+MAINTAINERCLEANFILES += $(dist_gir_DATA)
typelibdir = $(libdir)/girepository-1.0
-nodist_typelib_DATA = $(dist_gir_DATA:.gir=.typelib)
+nodist_typelib_DATA = $(GIRS:.gir=.typelib)
CLEANFILES += $(nodist_typelib_DATA)
-MAINTAINERCLEANFILES += $(dist_gir_DATA)
+endif
##################################################################
# Common
diff --git a/backends/libsocialweb/lib/Makefile.am b/backends/libsocialweb/lib/Makefile.am
index bf9fffd2..edeea09d 100644
--- a/backends/libsocialweb/lib/Makefile.am
+++ b/backends/libsocialweb/lib/Makefile.am
@@ -44,6 +44,7 @@ libfolks_libsocialweb_la_VALAFLAGS = \
--pkg gee-0.8 \
--pkg libsocialweb-client \
--includedir folks \
+ --gir FolksLibsocialweb-$(API_VERSION_DOT).gir \
--library folks-libsocialweb \
--vapi folks-libsocialweb.vapi \
-H folks/folks-libsocialweb.h \
@@ -112,43 +113,20 @@ INTROSPECTION_COMPILER_ARGS = \
--includedir=$(abs_top_builddir)/folks \
$(NULL)
-SWF_GIR = FolksLibsocialweb-$(API_VERSION_DOT).gir
-$(SWF_GIR): libfolks-libsocialweb.la
-
-FolksLibsocialweb_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_CFLAGS = \
- $(SW_CLIENT_CFLAGS) \
- $(NULL)
-FolksLibsocialweb_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_INCLUDES = \
- Gee-0.8 \
- Gio-2.0 \
- Folks-$(API_VERSION_DOT) \
- SocialWebClient-0.25 \
- $(NULL)
-FolksLibsocialweb_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_LIBS = \
- libfolks-libsocialweb.la \
- $(top_builddir)/folks/libfolks.la \
- $(NULL)
-FolksLibsocialweb_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_FILES = \
-$(libfolks_libsocialweb_la_SOURCES) \
- folks/folks-libsocialweb.h \
- $(NULL)
-FolksLibsocialweb_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_NAMESPACE = FolksLibsocialweb
-FolksLibsocialweb_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_SCANNERFLAGS = --identifier-prefix=Swf
-INTROSPECTION_GIRS = $(SWF_GIR)
-
-libfolks_libsocialweb_la_VALAFLAGS += \
- --gir $(SWF_GIR) \
- --girdir=$(abs_builddir) \
- $(NULL)
+if HAVE_INTROSPECTION
+FolksLibsocialweb-$(API_VERSION_DOT).gir: libfolks-libsocialweb.la
+GIRS = FolksLibsocialweb-$(API_VERSION_DOT).gir
girdir = $(datadir)/gir-1.0
-dist_gir_DATA = $(INTROSPECTION_GIRS)
+dist_gir_DATA = $(GIRS)
+
+MAINTAINERCLEANFILES += $(dist_gir_DATA)
typelibdir = $(libdir)/girepository-1.0
-nodist_typelib_DATA = $(dist_gir_DATA:.gir=.typelib)
+nodist_typelib_DATA = $(GIRS:.gir=.typelib)
CLEANFILES += $(nodist_typelib_DATA)
-MAINTAINERCLEANFILES += $(dist_gir_DATA)
+endif
##################################################################
# Common
diff --git a/backends/telepathy/lib/Makefile.am b/backends/telepathy/lib/Makefile.am
index 15def221..0d32f81f 100644
--- a/backends/telepathy/lib/Makefile.am
+++ b/backends/telepathy/lib/Makefile.am
@@ -213,6 +213,7 @@ libfolks_telepathy_la_SOURCES = \
libfolks_telepathy_la_VALAFLAGS = \
$(AM_VALAFLAGS) \
$(ERROR_VALAFLAGS) \
+ --gir=FolksTelepathy-$(API_VERSION_DOT).gir \
--library=folks-telepathy \
--vapidir=$(abs_srcdir) \
--vapidir=$(abs_builddir) \
@@ -347,59 +348,21 @@ TpLowlevel-$(API_VERSION_DOT).gir: libtp-lowlevel.la
#------------------------------------
# Folks Telepathy
#------------------------------------
-TPF_GIR = FolksTelepathy-$(API_VERSION_DOT).gir
-$(TPF_GIR): libfolks-telepathy.la
-
-FolksTelepathy_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_CFLAGS = $(TP_GLIB_CFLAGS)
-# Note that we don't actually include TpLowlevel*.gir because we don't want to
-# make it a public dependency
-FolksTelepathy_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_INCLUDES = \
- Gee-0.8 \
- Gio-2.0 \
- Folks-$(API_VERSION_DOT) \
- TelepathyGLib-0.12 \
- $(NULL)
-FolksTelepathy_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_LIBS = \
- libfolks-telepathy.la \
- $(top_builddir)/folks/libfolks.la \
- $(NULL)
-FolksTelepathy_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_FILES = \
- $(libfolks_telepathy_la_SOURCES) \
- folks/folks-telepathy.h \
- $(NULL)
-FolksTelepathy_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_NAMESPACE = FolksTelepathy
-FolksTelepathy_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_SCANNERFLAGS = --identifier-prefix=Tpf
-INTROSPECTION_GIRS += $(TPF_GIR)
-if ENABLE_ZEITGEIST
-FolksTelepathy_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_LIBS += libtp-zeitgeist.la
-else
-FolksTelepathy_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_LIBS += libtp-zeitgeist-dummy.la
-endif
-
-libfolks_telepathy_la_VALAFLAGS += \
- --gir=$(TPF_GIR) \
- --girdir=$(abs_builddir) \
- $(NULL)
+if HAVE_INTROSPECTION
+FolksTelepathy-$(API_VERSION_DOT).gir: libfolks-telepathy.la
+GIRS = FolksTelepathy-$(API_VERSION_DOT).gir
-#------------------------------------
-# General
-#------------------------------------
girdir = $(datadir)/gir-1.0
-dist_noinst_DATA += \
- TpLowlevel-$(API_VERSION_DOT).gir \
- TpLowlevel-$(API_VERSION_DOT).typelib \
- $(NULL)
-dist_gir_DATA = $(filter-out TpLowlevel-$(API_VERSION_DOT).gir,$(INTROSPECTION_GIRS))
+dist_gir_DATA = $(GIRS)
+
+MAINTAINERCLEANFILES += $(dist_gir_DATA)
typelibdir = $(libdir)/girepository-1.0
-nodist_typelib_DATA = $(dist_gir_DATA:.gir=.typelib)
+nodist_typelib_DATA = $(GIRS:.gir=.typelib)
CLEANFILES += $(nodist_typelib_DATA)
-MAINTAINERCLEANFILES += \
- $(dist_gir_DATA) \
- $(gir_dist_noinst_DATA) \
- $(NULL)
+endif
##################################################################
# Common
diff --git a/backends/telepathy/lib/tpf-persona-store.vala b/backends/telepathy/lib/tpf-persona-store.vala
index 1e04efc9..2514a68f 100644
--- a/backends/telepathy/lib/tpf-persona-store.vala
+++ b/backends/telepathy/lib/tpf-persona-store.vala
@@ -1104,6 +1104,8 @@ public class Tpf.PersonaStore : Folks.PersonaStore
return;
}
+ persona._contact_weak_notify ();
+
if (this._remove_persona (persona))
{
/* This should never happen because TpConnection keeps a ref on
diff --git a/backends/telepathy/lib/tpf-persona.vala b/backends/telepathy/lib/tpf-persona.vala
index 299a86ce..6a3cf550 100644
--- a/backends/telepathy/lib/tpf-persona.vala
+++ b/backends/telepathy/lib/tpf-persona.vala
@@ -254,7 +254,7 @@ public class Tpf.Persona : Folks.Persona,
*
* See {@link Folks.PresenceDetails.client_types}.
*
- * @since UNRELEASED
+ * @since 0.9.5
*/
public string[] client_types { get; set; }
@@ -498,7 +498,7 @@ public class Tpf.Persona : Folks.Persona,
{
/* Ensure we have a strong ref to the contact for the duration of the
* operation. */
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
if (contact == null)
{
@@ -571,7 +571,7 @@ public class Tpf.Persona : Folks.Persona,
*/
public async void change_groups (Set<string> groups) throws PropertyError
{
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
if (contact == null)
{
@@ -597,23 +597,22 @@ public class Tpf.Persona : Folks.Persona,
/* The change will be notified when we receive changes from the store. */
}
- /* This has to be weak since, in general, we can't force any TpContacts to
- * remain alive if we want to solve bgo#665376.
- * As per bgo#680335, we have to use a WeakRef rather than a
- * ‘weak Contact?’ to avoid races when clearing the pointer. We still have
- * to use a weak ref. notifier as well, though, in order to be able to emit
- * a property change notification for ::contact.
+ /* We handle the weak ref ourself to be able to notify the "contact" property.
+ * It is TpfPersonaStore who weak_ref() the TpContact and calls
+ * _contact_weak_notify() on the persona.
*
- * FIXME: Once bgo#554344 is fixed, _contact could be changed back to
- * being a 'weak Contact?', assuming Vala implements weak references using
- * GWeakRef. */
- private GLib.WeakRef _contact = GLib.WeakRef (null);
+ * This isn't as easy as it seems, see bgo#702165 */
+ private unowned Contact? _contact;
- private void _contact_weak_notify_cb (Object obj)
+ internal void _contact_weak_notify ()
{
+ if (this._contact == null)
+ return;
+
debug ("TpContact %p destroyed; setting ._contact = null in Persona %p",
- obj, this);
- /* _contact is cleared automatically as it's a WeakRef. */
+ this._contact, this);
+
+ this._contact = null;
this.notify_property ("contact");
}
@@ -636,25 +635,12 @@ public class Tpf.Persona : Folks.Persona,
* pointer which is returned might be invalidated before reaching the
* caller. Probably not a problem in practice since folks won't be
* run multi-threaded. */
- Contact? contact = (Contact?) this._contact.get ();
- if (contact == null)
- {
- return null;
- }
-
- /* FIXME: I'm so very, very sorry. This is to cause Vala to forget
- * we have a strong ref on 'contact' and not transfer it out. */
- return (Contact) ((void*) contact);
+ return this._contact;
}
construct
{
- if (value != null)
- {
- value.weak_ref (this._contact_weak_notify_cb);
- }
-
- this._contact.set (value);
+ this._contact = value;
}
}
@@ -794,7 +780,7 @@ public class Tpf.Persona : Folks.Persona,
/* Contact can be null if we've been created from the cache. All the code
* below this point is for non-cached personas. */
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
if (contact == null)
{
@@ -806,7 +792,7 @@ public class Tpf.Persona : Folks.Persona,
contact.notify["alias"].connect ((s, p) =>
{
- var c = (Contact?) this._contact.get ();
+ var c = (Contact?) this._contact;
assert (c != null); /* should never be called while cached */
/* Tp guarantees that aliases are always non-null. */
@@ -968,7 +954,7 @@ public class Tpf.Persona : Folks.Persona,
this._phone_numbers_ro = this._phone_numbers.read_only_view;
}
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
if (contact == null)
{
/* If operating from the cache, bail out early. */
@@ -1249,24 +1235,18 @@ public class Tpf.Persona : Folks.Persona,
~Persona ()
{
debug ("Destroying Tpf.Persona '%s': %p", this.uid, this);
-
- var contact = (Contact?) this._contact.get ();
- if (contact != null)
- {
- contact.weak_unref (this._contact_weak_notify_cb);
- }
}
private void _contact_notify_presence_message ()
{
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
assert (contact != null); /* should never be called while cached */
this.presence_message = contact.get_presence_message ();
}
private void _contact_notify_presence_type ()
{
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
assert (contact != null); /* should never be called while cached */
this.presence_type = Tpf.Persona._folks_presence_type_from_tp (
contact.get_presence_type ());
@@ -1274,14 +1254,14 @@ public class Tpf.Persona : Folks.Persona,
private void _contact_notify_client_types ()
{
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
assert (contact != null); /* should never be called while cached */
this.client_types = contact.get_client_types ();
}
private void _contact_notify_presence_status ()
{
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
assert (contact != null); /* should never be called while cached */
this.presence_status = contact.get_presence_status ();
}
@@ -1316,7 +1296,7 @@ public class Tpf.Persona : Folks.Persona,
private void _contact_notify_avatar ()
{
- var contact = (Contact?) this._contact.get ();
+ var contact = (Contact?) this._contact;
assert (contact != null); /* should never be called while cached */
var file = contact.avatar_file;
diff --git a/backends/tracker/lib/Makefile.am b/backends/tracker/lib/Makefile.am
index d7ec293b..064c06df 100644
--- a/backends/tracker/lib/Makefile.am
+++ b/backends/tracker/lib/Makefile.am
@@ -27,6 +27,7 @@ libfolks_tracker_la_VALAFLAGS = \
--pkg gee-0.8 \
--pkg tracker-sparql-$(TRACKER_SPARQL_MAJOR) \
--includedir folks \
+ --gir FolksTracker-$(API_VERSION_DOT).gir \
--library folks-tracker \
--vapi folks-tracker.vapi \
-H folks/folks-tracker.h \
@@ -108,43 +109,20 @@ INTROSPECTION_COMPILER_ARGS = \
--includedir=$(abs_top_builddir)/folks \
$(NULL)
-TRF_GIR = FolksTracker-$(API_VERSION_DOT).gir
-$(TRF_GIR): libfolks-tracker.la
-
-FolksTracker_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_CFLAGS = \
- $(SW_CLIENT_CFLAGS) \
- $(NULL)
-FolksTracker_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_INCLUDES = \
- Gee-0.8 \
- Gio-2.0 \
- Folks-$(API_VERSION_DOT) \
- Tracker-$(TRACKER_SPARQL_MAJOR) \
- $(NULL)
-FolksTracker_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_LIBS = \
- libfolks-tracker.la \
- $(top_builddir)/folks/libfolks.la \
- $(NULL)
-FolksTracker_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_FILES = \
-$(libfolks_tracker_la_SOURCES) \
- folks/folks-tracker.h \
- $(NULL)
-FolksTracker_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_NAMESPACE = FolksTracker
-FolksTracker_@API_VERSION_MAJOR@_@API_VERSION_MINOR@_gir_SCANNERFLAGS = --identifier-prefix=Trf
-INTROSPECTION_GIRS = $(TRF_GIR)
-
-libfolks_tracker_la_VALAFLAGS += \
- --gir $(TRF_GIR) \
- --girdir=$(abs_builddir) \
- $(NULL)
+if HAVE_INTROSPECTION
+FolksTracker-$(API_VERSION_DOT).gir: libfolks-tracker.la
+GIRS = FolksTracker-$(API_VERSION_DOT).gir
girdir = $(datadir)/gir-1.0
-dist_gir_DATA = $(INTROSPECTION_GIRS)
+dist_gir_DATA = $(GIRS)
+
+MAINTAINERCLEANFILES += $(dist_gir_DATA)
typelibdir = $(libdir)/girepository-1.0
-nodist_typelib_DATA = $(dist_gir_DATA:.gir=.typelib)
+nodist_typelib_DATA = $(GIRS:.gir=.typelib)
CLEANFILES += $(nodist_typelib_DATA)
-MAINTAINERCLEANFILES += $(dist_gir_DATA)
+endif
##################################################################
# Common
diff --git a/configure.ac b/configure.ac
index d0178222..cfeeaabe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ m4_define([folks_released], [0])
m4_define([folks_major_version], [0])
m4_define([folks_minor_version], [9])
-m4_define([folks_micro_version], [3])
+m4_define([folks_micro_version], [5])
m4_define([folks_nano_version], [1])
# If library source has changed since last release, increment revision
@@ -11,9 +11,9 @@ m4_define([folks_nano_version], [1])
# increment current and set revision to 0
# If public symbols have been added since last release, increment age
# If public symbols have been removed since last release, set age to 0
-m4_define([folks_lt_current], [39])
-m4_define([folks_lt_revision], [1])
-m4_define([folks_lt_age], [14])
+m4_define([folks_lt_current], [41])
+m4_define([folks_lt_revision], [0])
+m4_define([folks_lt_age], [16])
# Display the nano_version only if it's not '0'
m4_define([folks_base_version],
@@ -192,7 +192,7 @@ VALA_REQUIRED=0.17.6
VALADOC_REQUIRED=0.3.1
TRACKER_SPARQL_MAJOR=0.16
TRACKER_SPARQL_REQUIRED=0.15.2
-EBOOK_REQUIRED=3.8.1
+EBOOK_REQUIRED=3.9.1
EDATASERVER_REQUIRED=3.5.3.1
ZEITGEIST_REQUIRED=0.9.14
GEE_REQUIRED=0.8.4
diff --git a/folks/folks-generics.vapi b/folks/folks-generics.vapi
index 867257f0..0f55c989 100644
--- a/folks/folks-generics.vapi
+++ b/folks/folks-generics.vapi
@@ -26,6 +26,7 @@
* GIR to Vala loses the generic types. FIXME: GNOME #639908 would
* make it possible to go via GIR like tests/lib/telepathy/contactlist does. */
+[CCode (gir_namespace = "Folks", gir_version = "0.6")]
namespace Folks
{
[CCode (cheader_filename = "folks/small-set.h")]
diff --git a/folks/individual-aggregator.vala b/folks/individual-aggregator.vala
index 8313e3d8..f8594919 100644
--- a/folks/individual-aggregator.vala
+++ b/folks/individual-aggregator.vala
@@ -113,9 +113,17 @@ public errordomain Folks.IndividualAggregatorError
* be linked together. There is no API to directly link the individuals
* themselves, as conceptually folks links {@link Persona}s, not
* {@link Individual}s.
+ *
+ * Folks does not support having more than one IndividualAggregator
+ * instantiated at the same time. Most clients should use
+ * {@link IndividualAggregator.dup} to retrieve the IndividualAggregator
+ * singleton.
+ *
*/
public class Folks.IndividualAggregator : Object
{
+ private static weak IndividualAggregator? _instance = null; /* needs to be locked */
+
private BackendStore _backend_store;
private HashMap<string, PersonaStore> _stores;
private unowned PersonaStore? _primary_store = null;
@@ -312,7 +320,38 @@ public class Folks.IndividualAggregator : Object
public signal void individuals_changed_detailed (
MultiMap<Individual?, Individual?> changes);
- /* FIXME: make this a singleton? */
+ /**
+ * Create or return the singleton {@link IndividualAggregator} class instance.
+ * If the instance doesn't exist already, it will be created with the
+ * default {@link BackendStore}.
+ *
+ * This function is thread-safe.
+ *
+ * @return Singleton {@link IndividualAggregator} instance
+ * @since 0.9.5
+ */
+ public static IndividualAggregator dup ()
+ {
+ lock (IndividualAggregator._instance)
+ {
+ IndividualAggregator? _retval = IndividualAggregator._instance;
+ IndividualAggregator retval;
+
+ if (_retval == null)
+ {
+ /* use an intermediate variable to force a strong reference */
+ retval = new IndividualAggregator ();
+ IndividualAggregator._instance = retval;
+ }
+ else
+ {
+ retval = (!) _retval;
+ }
+
+ return retval;
+ }
+ }
+
/**
* Create a new IndividualAggregator.
*
@@ -328,13 +367,61 @@ public class Folks.IndividualAggregator : Object
* agg.individuals_changed_detailed.connect (individuals_changed_cb);
* agg.prepare ();
* }}}
+ *
+ * Folks does not support having more than one IndividualAggregator
+ * instantiated at the same time. So it's recommended to use
+ * {@link IndividualAggregator.dup} instead.
*/
+ [Deprecated (since = "0.9.5",
+ replacement = "IndividualAggregator.dup")]
public IndividualAggregator ()
{
Object ();
this._backend_store = BackendStore.dup ();
}
-
+
+ /**
+ * Create or return the singleton {@link IndividualAggregator} class instance
+ * with a custom {@link BackendStore}.
+ * If the instance doesn't exist already, it will be created with
+ * the given {@link BackendStore} rather than the default one.
+ * If the instance already exists but is using another {@link BackendStore}
+ * then a warning is raised and null is returned.
+ *
+ * This function is thread-safe.
+ *
+ * @param store the {@link BackendStore} to use instead of the default one.
+
+ * @return Singleton {@link IndividualAggregator} instance, or null
+ * @since 0.9.5
+ */
+ public static IndividualAggregator? dup_with_backend_store (BackendStore store)
+ {
+ lock (IndividualAggregator._instance)
+ {
+ IndividualAggregator? _retval = IndividualAggregator._instance;
+ IndividualAggregator retval;
+
+ if (_retval == null)
+ {
+ /* use an intermediate variable to force a strong reference */
+ retval = new IndividualAggregator.with_backend_store (store);
+ IndividualAggregator._instance = retval;
+ }
+ else if (_retval._backend_store != store)
+ {
+ warning ("An aggregator already exists using another backend store");
+ return null;
+ }
+ else
+ {
+ retval = (!) _retval;
+ }
+
+ return retval;
+ }
+ }
+
/**
* Create a new IndividualAggregator with a custom {@link BackendStore}.
*
@@ -346,6 +433,8 @@ public class Folks.IndividualAggregator : Object
*
* @since 0.9.0
*/
+ [Deprecated (since = "0.9.5",
+ replacement = "IndividualAggregator.dup_with_backend_store")]
public IndividualAggregator.with_backend_store (BackendStore store)
{
Object ();
@@ -434,6 +523,12 @@ public class Folks.IndividualAggregator : Object
this._backend_available_cb);
this._debug.print_status.disconnect (this._debug_print_status);
+
+ /* Manually clear the singleton _instance */
+ lock (IndividualAggregator._instance)
+ {
+ IndividualAggregator._instance = null;
+ }
}
private void _configure_primary_store (string store_config_ids)
diff --git a/folks/individual.vala b/folks/individual.vala
index 5b88dbaa..77c5f6de 100644
--- a/folks/individual.vala
+++ b/folks/individual.vala
@@ -242,7 +242,7 @@ public class Folks.Individual : Object,
/**
* {@inheritDoc}
*
- * @since UNRELEASED
+ * @since 0.9.5
*/
public string[] client_types { get; set; }
@@ -1697,7 +1697,7 @@ public class Folks.Individual : Object,
{
this._update_single_valued_property (typeof (FavouriteDetails), (p) =>
{
- return true;
+ return ((FavouriteDetails) p).is_favourite;
}, (a, b) =>
{
var a_is_favourite = ((FavouriteDetails) a).is_favourite;
diff --git a/folks/location-details.vala b/folks/location-details.vala
index f9c5a5b3..f4d41b28 100644
--- a/folks/location-details.vala
+++ b/folks/location-details.vala
@@ -24,7 +24,7 @@ using GLib;
* A location. Typically latitude and longitude will
* be based on WGS84. However, folks often has no
* way of verifying that and just has to assume
- * that.
+ * it's true.
*
* @since 0.9.2
*/
@@ -86,20 +86,23 @@ public class Folks.Location : Object
/**
* Location of a contact. folks tries to keep track of
- * the current location and thus favors live data (say,
+* the current location and thus favors live data (say,
* as advertised by a chat service) over static data (from
- * an address book).
+ * an address book). Static addresses, such as a contact's home or work address,
+ * should be presented using the {@link PostalAddressDetails} interface.
+ * {@link LocationDetails} is purely for exposing the contact's current or
+ * recent location.
*
* Backends are expected to report only relevant changes
* in a persona's location. For storage backends like EDS,
- * all changes must have been triggered by a person and thus
- * all are relevant.
+ * all changes must have been triggered by a person (e.g.
+ * editing the contact) and thus all are relevant.
*
* A backend pulling in live data, for example from a GPS,
* is expected to filter the data to minimize noise.
*
- * The folks itself then will apply all changes coming
- * from backends, without further filtering.
+ * folks itself will then apply all changes coming
+ * from backends without further filtering.
*
* @since 0.9.2
*/
@@ -108,6 +111,8 @@ public interface Folks.LocationDetails : Object
/**
* The current location of the contact. Null if the contact’s
* current location isn’t known, or they’re keeping it private.
+ *
+ * @since 0.9.2
*/
public abstract Location? location { get; set; }
@@ -121,6 +126,7 @@ public interface Folks.LocationDetails : Object
*
* @param location the contact's location, null to remove the information
* @throws PropertyError if setting the location failed
+ * @since 0.9.2
*/
public virtual async void change_location (Location? location) throws PropertyError
{
diff --git a/folks/phone-details.vala b/folks/phone-details.vala
index fcdd0d96..f9069900 100644
--- a/folks/phone-details.vala
+++ b/folks/phone-details.vala
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2011 Collabora Ltd.
- * Copyright (C) 2011 Philip Withnall
+ * Copyright (C) 2011, 2013 Philip Withnall
*
* This library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -146,7 +146,8 @@ public class Folks.PhoneFieldDetails : AbstractFieldDetails<string>
var digit = this.value.slice (i, i + 1);
if (digit in PhoneFieldDetails._extension_chars ||
- digit in PhoneFieldDetails._valid_digits)
+ digit in PhoneFieldDetails._valid_digits ||
+ (i == 0 && digit == "+"))
{
/* lets keep valid digits */
normalised_number += digit;
diff --git a/folks/presence-details.vala b/folks/presence-details.vala
index dd27ddea..138c8f93 100644
--- a/folks/presence-details.vala
+++ b/folks/presence-details.vala
@@ -108,7 +108,7 @@ public interface Folks.PresenceDetails : Object
* The client types are represented in strings, using the values
* [[http://xmpp.org/registrar/disco-categories.html#client|documented by the XMPP registrar]]
*
- * @since UNRELEASED
+ * @since 0.9.5
*/
public abstract string[] client_types { get; set; }
diff --git a/folks/small-set.c b/folks/small-set.c
index 28ad754a..09fe77ab 100644
--- a/folks/small-set.c
+++ b/folks/small-set.c
@@ -417,6 +417,7 @@ folks_small_set_copy (GeeIterable *iterable,
}
}
}
+ return self;
}
enum {
diff --git a/po/LINGUAS b/po/LINGUAS
index d5b0e17d..f0d70ff7 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -15,6 +15,7 @@ eo
es
eu
fa
+fi
fr
gl
gu
diff --git a/po/eu.po b/po/eu.po
index 6aa5128b..aaf040ad 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -5,12 +5,11 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=folks&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-02-25 23:25+0000\n"
-"PO-Revision-Date: 2013-03-31 11:42+0200\n"
-"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n"
-"Language-Team: Basque <itzulpena@euskalgnu.org>\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-09-22 11:35+0200\n"
+"PO-Revision-Date: 2013-09-21 22:16+0200\n"
+"Last-Translator: \n"
+"Language-Team: Basque <librezale@librezale.org>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,7 +27,7 @@ msgstr ""
#. * the msgid to the msgstr unchanged).
#: ../backends/eds/lib/edsf-persona-store.vala:65
msgid "Starred in Android"
-msgstr ""
+msgstr "Gogokoa Android-en"
#. Translators: the first parameter is an address book
#. * URI and the second is a persona UID.
@@ -143,7 +142,7 @@ msgid "E-mail addresses are not writeable on this contact."
msgstr "Helbide elektronikoak ez dira idazgarriak kontaktu honetan."
#: ../backends/eds/lib/edsf-persona-store.vala:1696
-#: ../folks/phone-details.vala:224
+#: ../folks/phone-details.vala:225
msgid "Phone numbers are not writeable on this contact."
msgstr "Telefono zenbakiak ez dira idazgarriak kontaktu honetan."
@@ -207,14 +206,14 @@ msgid "Anti-links are not writeable on this contact."
msgstr "Anti-estekak ez dira idazgarriak kontaktu honetan."
#: ../backends/eds/lib/edsf-persona-store.vala:2262
-#: ../folks/location-details.vala:129
+#: ../folks/location-details.vala:135
msgid "Location is not writeable on this contact."
msgstr "Kokalekua ez da idazgarria kontaktu honetan."
#. Translators: the first parameter is a non-human-readable
#. * property name and the second parameter is an error
#. * message.
-#: ../backends/eds/lib/edsf-persona-store.vala:2439
+#: ../backends/eds/lib/edsf-persona-store.vala:2575
#, c-format
msgid "Property ‘%s’ is not writeable: %s"
msgstr "'%s' propietatea ez da idazgarria: %s"
@@ -222,14 +221,14 @@ msgstr "'%s' propietatea ez da idazgarria: %s"
#. Translators: the first parameter is a non-human-readable
#. * property name and the second parameter is an error
#. * message.
-#: ../backends/eds/lib/edsf-persona-store.vala:2448
+#: ../backends/eds/lib/edsf-persona-store.vala:2584
#, c-format
msgid "Invalid value for property ‘%s’: %s"
msgstr "'%s' propietatearen balioa baliogabea: %s"
#. Translators: the first parameter is a non-human-readable
#. * property name and the second parameter is an error message.
-#: ../backends/eds/lib/edsf-persona-store.vala:2474
+#: ../backends/eds/lib/edsf-persona-store.vala:2610
#, c-format
msgid "Unknown error setting property ‘%s’: %s"
msgstr "Errore ezezaguna '%s' propietatearen ezartzean: %s"
@@ -301,7 +300,7 @@ msgstr "Errorea kontaktuen ikuspegia irekitzean."
#. Translators: the first parameter is the display name for
#. * the Telepathy account, and the second is an error
#. * message.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:814
+#: ../backends/telepathy/lib/tpf-persona-store.vala:811
#, c-format
msgid ""
"Failed to determine whether we can set aliases on Telepathy account '%s': %s"
@@ -309,20 +308,20 @@ msgstr ""
"Huts egin du Telepathy-ko '%s' kontuaren aliasak ezar ditzakegun edo ez "
"zehaztean: %s"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1278
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1275
msgid "Telepathy contacts representing the local user may not be removed."
msgstr ""
-"Lokaleko erabiltzaileak adierazten dituzten Telepathy-ko "
-"kontaktuak ez dira kenduko."
+"Lokaleko erabiltzaileak adierazten dituzten Telepathy-ko kontaktuak ez dira "
+"kenduko."
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1289
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1286
#, c-format
msgid "Failed to remove a persona from store: %s"
msgstr "Huts egin du pertsona bat biltegitik kentzean: %s"
#. Translators: the first two parameters are store identifiers and
#. * the third is a contact identifier.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1324
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1321
#, c-format
msgid ""
"Persona store (%s, %s) requires the following details:\n"
@@ -331,69 +330,69 @@ msgstr ""
"Pertsonaren bildumak (%s, %s) honako xehetasunak eskatzen ditu:\n"
" kontaktua (emandakoa: '%s')\n"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1339
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1336
msgid "Cannot create a new Telepathy contact while offline."
msgstr "Ezin da Telepathy-ko kontaktu berria sortu lineaz kanpo dagoenean."
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1357
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1354
#, c-format
msgid "Failed to add a persona from details: %s"
msgstr "Huts egin du xehetasunetatik pertsona bat gehitzean: %s"
#. Translators: "telepathy-logger" is the name of an application,
#. * and should not be translated.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1377
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1374
msgid ""
"Failed to change favorite without a connection to the telepathy-logger "
"service."
msgstr ""
-"Huts egin du 'telepathy-logger' zerbitzuarekin konektatu gabe "
-"gogokoa aldatzean."
+"Huts egin du 'telepathy-logger' zerbitzuarekin konektatu gabe gogokoa "
+"aldatzean."
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1383
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1380
msgid ""
"Failed to change favorite status of Telepathy Persona because it has no "
"attached TpContact."
msgstr ""
-"Huts egin du Telepathy-ko pertsonaren gogokoaren egoera aldatzean "
-"ez baitago TpContact-era atxikituta."
+"Huts egin du Telepathy-ko pertsonaren gogokoaren egoera aldatzean ez baitago "
+"TpContact-era atxikituta."
#. Translators: the parameter is a contact identifier.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1401
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1398
#, c-format
msgid "Failed to change favorite status for Telepathy contact ‘%s’."
msgstr ""
"Huts egin du Telepathy-ko '%s' kontaktuaren gogokoaren egoera aldatzean."
#. Translators: the parameter is an error message.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1433
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1430
#, c-format
msgid "Failed to change contact's alias: %s"
msgstr "Huts egin du kontaktuaren aliasa aldatzean: %s"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1513
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1511
msgid "Extended information may only be set on the user's Telepathy contact."
msgstr ""
-"Informazio hedatua soilik erabiltzailearen Telepathy-ko kontaktuan "
-"ezar daiteke."
+"Informazio hedatua soilik erabiltzailearen Telepathy-ko kontaktuan ezar "
+"daiteke."
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1542
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1540
msgid ""
"Extended information cannot be written because the store is disconnected."
msgstr "Informazio hedatua ezin da idatzi biltegia deskonektatuta dagoelako."
-#: ../backends/telepathy/lib/tpf-persona.vala:499
-#: ../backends/telepathy/lib/tpf-persona.vala:520
-#: ../backends/telepathy/lib/tpf-persona.vala:572
-#: ../backends/telepathy/lib/tpf-persona.vala:586
+#: ../backends/telepathy/lib/tpf-persona.vala:507
+#: ../backends/telepathy/lib/tpf-persona.vala:528
+#: ../backends/telepathy/lib/tpf-persona.vala:580
+#: ../backends/telepathy/lib/tpf-persona.vala:594
#, c-format
msgid "Failed to change group membership: %s"
msgstr "Huts egin du taldearen kideak aldatzean: %s"
#. Translators: "account" refers to an instant messaging
#. * account.
-#: ../backends/telepathy/lib/tpf-persona.vala:502
-#: ../backends/telepathy/lib/tpf-persona.vala:575
+#: ../backends/telepathy/lib/tpf-persona.vala:510
+#: ../backends/telepathy/lib/tpf-persona.vala:583
msgid "Account is offline."
msgstr "Kontua lineaz kanpo dago."
@@ -411,19 +410,19 @@ msgstr "Aliasa ez da idazgarria kontaktu honetan."
#. Translators: the first parameter is a folder path and the second
#. * is an error message.
-#: ../folks/backend-store.vala:609
+#: ../folks/backend-store.vala:627
#, c-format
msgid "Error listing contents of folder '%s': %s"
msgstr "Errorea '%s' karpetaren edukia zerrendatzean: %s"
#. Translators: the parameter is a filename.
-#: ../folks/backend-store.vala:739
+#: ../folks/backend-store.vala:762
#, c-format
msgid "File or directory '%s' does not exist."
msgstr "'%s' fitxategi edo direktorioa ez da existitzen."
#. Translators: the parameter is a filename.
-#: ../folks/backend-store.vala:745
+#: ../folks/backend-store.vala:768
#, c-format
msgid "Failed to get content type for '%s'."
msgstr "Huts egin du '%s'(r)en eduki mota eskuratzean."
@@ -445,65 +444,65 @@ msgstr "Ezin izan da '%s' BMren helbidea ulertu."
#. Translators: the first parameter is a persona store identifier
#. * and the second is an error message.
-#: ../folks/individual-aggregator.vala:921
+#: ../folks/individual-aggregator.vala:1033
#, c-format
msgid "Error preparing persona store '%s': %s"
msgstr "Errorea '%s' pertsonaren biltegia prestatzean: %s"
#. Translators: the parameter is a property name.
-#: ../folks/individual-aggregator.vala:1142
-#: ../folks/individual-aggregator.vala:1368
+#: ../folks/individual-aggregator.vala:1258
+#: ../folks/individual-aggregator.vala:1513
#, c-format
msgid "Unknown property '%s' in linkable property list."
msgstr "'%s' propietate ezezaguna propietateen zerrenda estekagarrian."
#. Translators: the first parameter is a store identifier
#. * and the second parameter is an error message.
-#: ../folks/individual-aggregator.vala:1830
+#: ../folks/individual-aggregator.vala:1999
#, c-format
msgid "Failed to add contact for persona store ID '%s': %s"
msgstr "Huts egin du '%s' pertsonaren biltegiaren kontaktua gehitzean: %s"
-#: ../folks/individual-aggregator.vala:1931
+#: ../folks/individual-aggregator.vala:2096
msgid "Can’t link personas with no primary store."
msgstr "Ezin dira biltegi nagusirik gabeko pertsonak estekatu."
-#: ../folks/individual-aggregator.vala:1932
-#: ../folks/individual-aggregator.vala:2276
+#: ../folks/individual-aggregator.vala:2097
+#: ../folks/individual-aggregator.vala:2428
#, c-format
msgid ""
"Persona store ‘%s:%s’ is configured as primary, but could not be found or "
"failed to load."
msgstr ""
-"'%s:%s' pertsonaren biltegia nagusi gisa konfiguratuta dago, "
-"baina ezin izan da aurkitu edo huts egin du kargatzean."
+"'%s:%s' pertsonaren biltegia nagusi gisa konfiguratuta dago, baina ezin izan "
+"da aurkitu edo huts egin du kargatzean."
-#: ../folks/individual-aggregator.vala:1933
-#: ../folks/individual-aggregator.vala:2277
+#: ../folks/individual-aggregator.vala:2098
+#: ../folks/individual-aggregator.vala:2429
#, c-format
msgid ""
"Check the relevant service is running, or change the default store in that "
"service or using the “%s” GSettings key."
msgstr ""
-"Egiaztatu dagokion zerbitzua exekutatzen ari dela, edo aldatu "
-"zerbitzu horren biltegi lehenetsia edo '%s' GSettings gakoa erabiliz."
+"Egiaztatu dagokion zerbitzua exekutatzen ari dela, edo aldatu zerbitzu "
+"horren biltegi lehenetsia edo '%s' GSettings gakoa erabiliz."
-#: ../folks/individual-aggregator.vala:1965
+#: ../folks/individual-aggregator.vala:2130
msgid "Anti-links can't be removed between personas being linked."
msgstr "Anti-estekak ezin dira kendu pertsonak konektatuta dauden bitartean."
-#: ../folks/individual-aggregator.vala:2275
+#: ../folks/individual-aggregator.vala:2427
msgid "Can’t add personas with no primary store."
msgstr "Ezin dira biltegi nagusirik gabeko pertsonak gehitu."
-#: ../folks/individual-aggregator.vala:2286
+#: ../folks/individual-aggregator.vala:2438
#, c-format
msgid "Can't write to requested property (“%s”) of the writeable store."
msgstr "Ezin da biltegi idazgarriaren eskatutako propietatea ('%s') idatzi."
-#: ../folks/individual.vala:217 ../folks/individual.vala:370
-#: ../folks/individual.vala:479 ../folks/individual.vala:730
-#: ../folks/individual.vala:808
+#: ../folks/individual.vala:216 ../folks/individual.vala:376
+#: ../folks/individual.vala:485 ../folks/individual.vala:736
+#: ../folks/individual.vala:814
#, c-format
msgid "Failed to change property ‘%s’: No suitable personas were found."
msgstr ""
@@ -519,45 +518,45 @@ msgid ""
"linking data in). The type ID of the store may optionally be prepended, "
"separated by a colon. For example: “eds:system-address-book” or “key-file”."
msgstr ""
-"Pertsonaren biltegiaren IDa lagunek nagusi gisa erabiltzeko "
-"(adibidez, bertan estekatutako datuak gordetzeko). Biltegiaren ID mota "
-"aurrizkiarekin jar daiteke koma batez bereiztuta. Adibidez: "
-"\"eds:system-address-book” edo “key-file”."
+"Pertsonaren biltegiaren IDa lagunek nagusi gisa erabiltzeko (adibidez, "
+"bertan estekatutako datuak gordetzeko). Biltegiaren ID mota aurrizkiarekin "
+"jar daiteke koma batez bereiztuta. Adibidez: \"eds:system-address-book” edo "
+"“key-file”."
#: ../folks/postal-address-details.vala:231
#, c-format
msgid "%s, %s, %s, %s, %s, %s, %s"
msgstr "%s, %s, %s, %s, %s, %s, %s"
-#: ../folks/presence-details.vala:159
+#: ../folks/presence-details.vala:171
msgid "Unknown status"
msgstr "Egoera ezezaguna"
-#: ../folks/presence-details.vala:161
+#: ../folks/presence-details.vala:173
msgid "Offline"
msgstr "Lineaz kanpo"
-#: ../folks/presence-details.vala:165
+#: ../folks/presence-details.vala:177
msgid "Error"
msgstr "Errorea"
-#: ../folks/presence-details.vala:167
+#: ../folks/presence-details.vala:179
msgid "Available"
msgstr "Erabilgarri"
-#: ../folks/presence-details.vala:169
+#: ../folks/presence-details.vala:181
msgid "Away"
msgstr "Kanpoan"
-#: ../folks/presence-details.vala:171
+#: ../folks/presence-details.vala:183
msgid "Extended away"
msgstr "Kanpoan luzarorako"
-#: ../folks/presence-details.vala:173
+#: ../folks/presence-details.vala:185
msgid "Busy"
msgstr "Lanpetuta"
-#: ../folks/presence-details.vala:175
+#: ../folks/presence-details.vala:187
msgid "Hidden"
msgstr "Ezkutatuta"
@@ -598,8 +597,8 @@ msgid ""
"The Pidgin buddy list file ‘%s’ could not be loaded: the root element could "
"not be found or was not recognized."
msgstr ""
-"Ezin izan da Pidgin-eko lagunen zerrendaren '%s' fitxategia kargatu: "
-"ezin izan da erroko elementua aurkitu edo ez ezagutu."
+"Ezin izan da Pidgin-eko lagunen zerrendaren '%s' fitxategia kargatu: ezin "
+"izan da erroko elementua aurkitu edo ez ezagutu."
#. Translators: the first parameter is the number of buddies which
#. * were successfully imported, and the second is a filename.
@@ -660,59 +659,58 @@ msgid "Source filename (default: specific to source backend)"
msgstr ""
"Iturburuaren fitxategi-izena (lehenetsia: iturburuko motorrarekiko zehatza)"
-#: ../tools/import.vala:57
+#: ../tools/import.vala:58
msgid "— import meta-contact information to libfolks"
msgstr "— inportatu meta-kontaktuaren informazioa 'libfolks'-era"
#. Translators: the parameter is an error message.
-#: ../tools/import.vala:67
+#: ../tools/import.vala:68
#, c-format
msgid "Couldn't parse command line options: %s"
msgstr "Ezin izan dira komando-lerroko aukerak analizatu: %s"
#. Translators: the parameter is an error message.
-#: ../tools/import.vala:108
+#: ../tools/import.vala:109
#, c-format
msgid "Couldn't load the backends: %s"
msgstr "Ezin izan dira motorrak kargatu: %s"
#. Translators: the parameter is a backend identifier.
-#: ../tools/import.vala:119
+#: ../tools/import.vala:120
#, c-format
msgid "Couldn't load the ‘%s’ backend."
msgstr "Ezin izan da '%s' motorra kargatu."
#. Translators: the first parameter is a backend identifier and the
#. * second parameter is an error message.
-#: ../tools/import.vala:132
+#: ../tools/import.vala:133
#, c-format
msgid "Couldn't prepare the ‘%s’ backend: %s"
msgstr "Ezin izan da '%s' motorra prestatu: %s"
#. Translators: the parameter is a backend identifier.
-#: ../tools/import.vala:145
+#: ../tools/import.vala:146
#, c-format
msgid "Couldn't load the ‘%s’ backend's persona store."
msgstr "Ezin izan da '%s' motorraren pertsonaren biltegia kargatu."
-#: ../tools/import.vala:166
+#: ../tools/import.vala:167
#, c-format
msgid "Couldn't prepare the ‘%s’ backend's persona store: %s"
msgstr "Ezin izan da '%s' motorraren pertsonaren biltegia prestatu: %s"
#. Translators: the parameter is an error message.
-#: ../tools/import.vala:184
+#: ../tools/import.vala:185
#, c-format
msgid "Error importing contacts: %s"
msgstr "Errorea kontaktuak inportatzean: %s"
#. Translators: both parameters are identifiers for backends.
-#: ../tools/import.vala:198
+#: ../tools/import.vala:199
#, c-format
msgid ""
"Unrecognized source backend name ‘%s’. ‘%s’ is currently the only supported "
"source backend."
msgstr ""
-"Iturburuko motorraren '%s' izena ezezaguna. Unean '%s' da onartuta "
-"dagoen iturburuko motor bakarra."
-
+"Iturburuko motorraren '%s' izena ezezaguna. Unean '%s' da onartuta dagoen "
+"iturburuko motor bakarra."
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 00000000..4fe65fdf
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,683 @@
+# Finnish translation for folks.
+# Copyright (C) 2013 folks's COPYRIGHT HOLDER
+# This file is distributed under the same license as the folks package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# Jiri Grönroos <jiri.gronroos+l10n@iki.fi>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: folks master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
+"product=folks&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2013-09-05 03:13+0000\n"
+"PO-Revision-Date: 2013-09-16 22:34+0300\n"
+"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
+"Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n"
+"Language: fi\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-Generator: Gtranslator 2.91.6\n"
+
+#. The timeout after which we consider a property change to have failed if we
+#. * haven't received a property change notification for it.
+#. seconds
+#. Translators: This should be translated to the name of the “Starred in
+#. * Android” group in Google Contacts for your language. If Google have not
+#. * localised the group for your language, or Google Contacts isn't available
+#. * in your language, please *do not* translate this string (i.e. just copy
+#. * the msgid to the msgstr unchanged).
+#: ../backends/eds/lib/edsf-persona-store.vala:65
+msgid "Starred in Android"
+msgstr ""
+
+#. Translators: the first parameter is an address book
+#. * URI and the second is a persona UID.
+#: ../backends/eds/lib/edsf-persona-store.vala:671
+#, c-format
+msgid "Address book ‘%s’ is offline, so contact ‘%s’ cannot be removed."
+msgstr ""
+
+#. Translators: the first parameter is an address book
+#. * URI and the second is an error message.
+#: ../backends/eds/lib/edsf-persona-store.vala:677
+#, c-format
+msgid "Permission denied to remove contact ‘%s’: %s"
+msgstr ""
+
+#. Translators: the parameter is an error message.
+#: ../backends/eds/lib/edsf-persona-store.vala:682
+#, c-format
+msgid "Removing contacts isn't supported by this persona store: %s"
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:711
+#, c-format
+msgid "Can't remove contact ‘%s’: %s"
+msgstr ""
+
+#. Translators: the parameter is an address book
+#. * URI.
+#: ../backends/eds/lib/edsf-persona-store.vala:801
+#: ../backends/eds/lib/edsf-persona-store.vala:992
+#, c-format
+msgid "Address book ‘%s’ is offline."
+msgstr "Osoitekirja \"%s\" ei ole yhteydessä verkkoon."
+
+#. Translators: the first parameter is an address
+#. * book URI and the second is an error message.
+#: ../backends/eds/lib/edsf-persona-store.vala:806
+#: ../backends/eds/lib/edsf-persona-store.vala:997
+#, c-format
+msgid "Permission denied to open address book ‘%s’: %s"
+msgstr "Käyttöoikeudet eivät riitä osoitekirjan \"%s\" avaamiseen: %s"
+
+#. Translators: the first parameter is an address book URI
+#. * and the second is an error message.
+#: ../backends/eds/lib/edsf-persona-store.vala:839
+#, c-format
+msgid "Couldn't open address book ‘%s’: %s"
+msgstr "Osoitekirjan \"%s\" avaaminen ei onnistunut: %s"
+
+#. Translators: the parameteter is an error message.
+#: ../backends/eds/lib/edsf-persona-store.vala:905
+#: ../backends/eds/lib/edsf-persona-store.vala:935
+#, c-format
+msgid "Couldn't get address book capabilities: %s"
+msgstr ""
+
+#. Translators: the parameter is an address book URI.
+#: ../backends/eds/lib/edsf-persona-store.vala:951
+#, c-format
+msgid "Couldn't get view for address book ‘%s’."
+msgstr ""
+
+#. Translators: the first parameter is an address book URI
+#. * and the second is an error message.
+#: ../backends/eds/lib/edsf-persona-store.vala:1030
+#, c-format
+msgid "Couldn't get view for address book ‘%s’: %s"
+msgstr ""
+
+#. Translators: the parameter is the name of a property on a
+#. * contact, formatted in the normal GObject style (e.g.
+#. * lowercase with hyphens to separate words).
+#: ../backends/eds/lib/edsf-persona-store.vala:1390
+#, c-format
+msgid "Changing the ‘%s’ property failed due to reaching the timeout."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1428
+#: ../folks/avatar-details.vala:63
+msgid "Avatar is not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1449
+#: ../folks/web-service-details.vala:123
+msgid "Web service addresses are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1485
+#: ../folks/url-details.vala:152
+msgid "URLs are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1566
+#: ../folks/local-id-details.vala:64
+msgid "Local IDs are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1595
+msgid "The contact cannot be marked as favourite."
+msgstr ""
+
+#. Translators: the parameter is an error message.
+#: ../backends/eds/lib/edsf-persona-store.vala:1667
+#, c-format
+msgid "Can't update avatar: %s"
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1678
+#: ../folks/email-details.vala:120
+msgid "E-mail addresses are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1696
+#: ../folks/phone-details.vala:225
+msgid "Phone numbers are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1714
+#: ../folks/postal-address-details.vala:361
+msgid "Postal addresses are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1785
+#: ../folks/name-details.vala:283
+msgid "Full name is not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1807
+#: ../folks/name-details.vala:321
+msgid "Nickname is not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1829
+#: ../folks/note-details.vala:138
+msgid "Notes are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1861
+#: ../folks/birthday-details.vala:62
+msgid "Birthday is not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:1905
+#: ../folks/role-details.vala:279
+msgid "Roles are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:2006
+#: ../folks/name-details.vala:246
+msgid "Structured name is not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:2045
+#: ../folks/im-details.vala:136
+msgid "IM addresses are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:2095
+#: ../folks/group-details.vala:174
+msgid "Groups are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:2110
+msgid "My Contacts is only available for Google Contacts"
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:2181
+#: ../folks/gender-details.vala:79
+msgid "Gender is not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:2219
+#: ../folks/anti-linkable.vala:81
+msgid "Anti-links are not writeable on this contact."
+msgstr ""
+
+#: ../backends/eds/lib/edsf-persona-store.vala:2262
+#: ../folks/location-details.vala:135
+msgid "Location is not writeable on this contact."
+msgstr ""
+
+#. Translators: the first parameter is a non-human-readable
+#. * property name and the second parameter is an error
+#. * message.
+#: ../backends/eds/lib/edsf-persona-store.vala:2575
+#, c-format
+msgid "Property ‘%s’ is not writeable: %s"
+msgstr "Ominaisuus \"%s\" ei ole kirjoitettavissa: %s"
+
+#. Translators: the first parameter is a non-human-readable
+#. * property name and the second parameter is an error
+#. * message.
+#: ../backends/eds/lib/edsf-persona-store.vala:2584
+#, c-format
+msgid "Invalid value for property ‘%s’: %s"
+msgstr "Virheellinen arvo ominaisuudelle \"%s\": %s"
+
+#. Translators: the first parameter is a non-human-readable
+#. * property name and the second parameter is an error message.
+#: ../backends/eds/lib/edsf-persona-store.vala:2610
+#, c-format
+msgid "Unknown error setting property ‘%s’: %s"
+msgstr "Tuntematon virhe asettaessa ominaisuutta \"%s\": %s"
+
+#. Translators: the first parameter is a filename, and
+#. * the second is an error message.
+#: ../backends/key-file/kf-persona-store.vala:233
+#, c-format
+msgid "The relationship key file '%s' could not be loaded: %s"
+msgstr ""
+
+#. Translators: the first parameter is a path, and the
+#. * second is an error message.
+#: ../backends/key-file/kf-persona-store.vala:255
+#, c-format
+msgid "The relationship key file directory '%s' could not be created: %s"
+msgstr ""
+
+#. Translators: the first parameter is a filename, and
+#. * the second is an error message.
+#: ../backends/key-file/kf-persona-store.vala:279
+#, c-format
+msgid "The relationship key file '%s' could not be created: %s"
+msgstr ""
+
+#. Translators: the first parameter is a filename, the second is
+#. * an error message.
+#: ../backends/key-file/kf-persona-store.vala:470
+#, c-format
+msgid "Could not write updated key file '%s': %s"
+msgstr ""
+
+#. Translators: this is an error message for if the user
+#. * provides an invalid IM address. The first parameter is
+#. * an IM address (e.g. “foo@jabber.org”), the second is
+#. * the name of a protocol (e.g. “jabber”) and the third is
+#. * an error message.
+#: ../backends/key-file/kf-persona.vala:172
+#, c-format
+msgid "Invalid IM address ‘%s’ for protocol ‘%s’: %s"
+msgstr ""
+
+#. Translators: the parameter is an error message.
+#: ../backends/key-file/kf-persona.vala:430
+#, c-format
+msgid "Couldn't load data from key file: %s"
+msgstr ""
+
+#. Translators: the parameter is an error message.
+#: ../backends/libsocialweb/lib/swf-persona-store.vala:349
+#: ../backends/libsocialweb/lib/swf-persona-store.vala:371
+#: ../backends/libsocialweb/lib/swf-persona-store.vala:392
+#, c-format
+msgid "Couldn’t prepare libsocialweb service: %s"
+msgstr "libsocialweb-palvelun valmistelu ei onnistunut: %s"
+
+#: ../backends/libsocialweb/lib/swf-persona-store.vala:350
+msgid "No capabilities were found."
+msgstr ""
+
+#: ../backends/libsocialweb/lib/swf-persona-store.vala:372
+msgid "No contacts capability was found."
+msgstr ""
+
+#: ../backends/libsocialweb/lib/swf-persona-store.vala:393
+msgid "Error opening contacts view."
+msgstr ""
+
+#. Translators: the first parameter is the display name for
+#. * the Telepathy account, and the second is an error
+#. * message.
+#: ../backends/telepathy/lib/tpf-persona-store.vala:811
+#, c-format
+msgid ""
+"Failed to determine whether we can set aliases on Telepathy account '%s': %s"
+msgstr ""
+
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1275
+msgid "Telepathy contacts representing the local user may not be removed."
+msgstr ""
+
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1286
+#, c-format
+msgid "Failed to remove a persona from store: %s"
+msgstr ""
+
+#. Translators: the first two parameters are store identifiers and
+#. * the third is a contact identifier.
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1321
+#, c-format
+msgid ""
+"Persona store (%s, %s) requires the following details:\n"
+" contact (provided: '%s')\n"
+msgstr ""
+
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1336
+msgid "Cannot create a new Telepathy contact while offline."
+msgstr ""
+
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1354
+#, c-format
+msgid "Failed to add a persona from details: %s"
+msgstr ""
+
+#. Translators: "telepathy-logger" is the name of an application,
+#. * and should not be translated.
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1374
+msgid ""
+"Failed to change favorite without a connection to the telepathy-logger "
+"service."
+msgstr ""
+
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1380
+msgid ""
+"Failed to change favorite status of Telepathy Persona because it has no "
+"attached TpContact."
+msgstr ""
+
+#. Translators: the parameter is a contact identifier.
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1398
+#, c-format
+msgid "Failed to change favorite status for Telepathy contact ‘%s’."
+msgstr ""
+
+#. Translators: the parameter is an error message.
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1430
+#, c-format
+msgid "Failed to change contact's alias: %s"
+msgstr ""
+
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1511
+msgid "Extended information may only be set on the user's Telepathy contact."
+msgstr ""
+
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1540
+msgid ""
+"Extended information cannot be written because the store is disconnected."
+msgstr ""
+
+#: ../backends/telepathy/lib/tpf-persona.vala:507
+#: ../backends/telepathy/lib/tpf-persona.vala:528
+#: ../backends/telepathy/lib/tpf-persona.vala:580
+#: ../backends/telepathy/lib/tpf-persona.vala:594
+#, c-format
+msgid "Failed to change group membership: %s"
+msgstr ""
+
+#. Translators: "account" refers to an instant messaging
+#. * account.
+#: ../backends/telepathy/lib/tpf-persona.vala:510
+#: ../backends/telepathy/lib/tpf-persona.vala:583
+msgid "Account is offline."
+msgstr "Tili ei ole yhteydessä verkkoon."
+
+#. Translators: the first parameter is the unknown key that
+#. * was received with the details params, and the second
+#. * identifies the persona store.
+#: ../backends/tracker/lib/trf-persona-store.vala:742
+#, c-format
+msgid "Unrecognized parameter '%s' passed to persona store '%s'."
+msgstr ""
+
+#: ../folks/alias-details.vala:61
+msgid "Alias is not writeable on this contact."
+msgstr ""
+
+#. Translators: the first parameter is a folder path and the second
+#. * is an error message.
+#: ../folks/backend-store.vala:627
+#, c-format
+msgid "Error listing contents of folder '%s': %s"
+msgstr ""
+
+#. Translators: the parameter is a filename.
+#: ../folks/backend-store.vala:762
+#, c-format
+msgid "File or directory '%s' does not exist."
+msgstr "Tiedostoa tai kansiota \"%s\" ei ole olemassa."
+
+#. Translators: the parameter is a filename.
+#: ../folks/backend-store.vala:768
+#, c-format
+msgid "Failed to get content type for '%s'."
+msgstr ""
+
+#: ../folks/birthday-details.vala:93
+msgid "Birthday event ID is not writeable on this contact."
+msgstr ""
+
+#: ../folks/favourite-details.vala:58
+msgid "Favorite status is not writeable on this contact."
+msgstr ""
+
+#. Translators: the parameter is an IM address.
+#: ../folks/im-details.vala:178 ../folks/im-details.vala:192
+#: ../folks/im-details.vala:214 ../folks/im-details.vala:241
+#, c-format
+msgid "The IM address '%s' could not be understood."
+msgstr ""
+
+#. Translators: the first parameter is a persona store identifier
+#. * and the second is an error message.
+#: ../folks/individual-aggregator.vala:1033
+#, c-format
+msgid "Error preparing persona store '%s': %s"
+msgstr ""
+
+#. Translators: the parameter is a property name.
+#: ../folks/individual-aggregator.vala:1258
+#: ../folks/individual-aggregator.vala:1513
+#, c-format
+msgid "Unknown property '%s' in linkable property list."
+msgstr ""
+
+#. Translators: the first parameter is a store identifier
+#. * and the second parameter is an error message.
+#: ../folks/individual-aggregator.vala:1999
+#, c-format
+msgid "Failed to add contact for persona store ID '%s': %s"
+msgstr ""
+
+#: ../folks/individual-aggregator.vala:2096
+msgid "Can’t link personas with no primary store."
+msgstr ""
+
+#: ../folks/individual-aggregator.vala:2097
+#: ../folks/individual-aggregator.vala:2428
+#, c-format
+msgid ""
+"Persona store ‘%s:%s’ is configured as primary, but could not be found or "
+"failed to load."
+msgstr ""
+
+#: ../folks/individual-aggregator.vala:2098
+#: ../folks/individual-aggregator.vala:2429
+#, c-format
+msgid ""
+"Check the relevant service is running, or change the default store in that "
+"service or using the “%s” GSettings key."
+msgstr ""
+
+#: ../folks/individual-aggregator.vala:2130
+msgid "Anti-links can't be removed between personas being linked."
+msgstr ""
+
+#: ../folks/individual-aggregator.vala:2427
+msgid "Can’t add personas with no primary store."
+msgstr ""
+
+#: ../folks/individual-aggregator.vala:2438
+#, c-format
+msgid "Can't write to requested property (“%s”) of the writeable store."
+msgstr ""
+
+#: ../folks/individual.vala:216 ../folks/individual.vala:376
+#: ../folks/individual.vala:485 ../folks/individual.vala:736
+#: ../folks/individual.vala:814
+#, c-format
+msgid "Failed to change property ‘%s’: No suitable personas were found."
+msgstr ""
+
+#: ../folks/org.freedesktop.folks.gschema.xml.in.h:1
+msgid "Primary store ID"
+msgstr ""
+
+#: ../folks/org.freedesktop.folks.gschema.xml.in.h:2
+msgid ""
+"The ID of the persona store which folks should use as primary (i.e. to store "
+"linking data in). The type ID of the store may optionally be prepended, "
+"separated by a colon. For example: “eds:system-address-book” or “key-file”."
+msgstr ""
+
+#: ../folks/postal-address-details.vala:231
+#, c-format
+msgid "%s, %s, %s, %s, %s, %s, %s"
+msgstr "%s, %s, %s, %s, %s, %s, %s"
+
+#: ../folks/presence-details.vala:171
+msgid "Unknown status"
+msgstr "Tuntematon tila"
+
+#: ../folks/presence-details.vala:173
+msgid "Offline"
+msgstr ""
+
+#: ../folks/presence-details.vala:177
+msgid "Error"
+msgstr "Virhe"
+
+#: ../folks/presence-details.vala:179
+msgid "Available"
+msgstr ""
+
+#: ../folks/presence-details.vala:181
+msgid "Away"
+msgstr ""
+
+#: ../folks/presence-details.vala:183
+msgid "Extended away"
+msgstr ""
+
+#: ../folks/presence-details.vala:185
+msgid "Busy"
+msgstr ""
+
+#: ../folks/presence-details.vala:187
+msgid "Hidden"
+msgstr ""
+
+#: ../folks/role-details.vala:150
+#, c-format
+msgid "Title: %s, Organisation: %s, Role: %s"
+msgstr ""
+
+#. Translators: the parameter is a filename.
+#: ../tools/import-pidgin.vala:49
+#, c-format
+msgid "File %s does not exist."
+msgstr ""
+
+#. Translators: the first parameter is a filename, and the second
+#. * is an error message.
+#: ../tools/import-pidgin.vala:65
+#, c-format
+msgid "Failed to get information about file %s: %s"
+msgstr ""
+
+#. Translators: the parameter is a filename.
+#: ../tools/import-pidgin.vala:72
+#, c-format
+msgid "File %s is not readable."
+msgstr "Tiedosto %s ei ole luettavissa."
+
+#. Translators: the parameter is a filename.
+#: ../tools/import-pidgin.vala:82
+#, c-format
+msgid "The Pidgin buddy list file '%s' could not be loaded."
+msgstr ""
+
+#. Translators: the parameter is a filename.
+#: ../tools/import-pidgin.vala:97
+#, c-format
+msgid ""
+"The Pidgin buddy list file ‘%s’ could not be loaded: the root element could "
+"not be found or was not recognized."
+msgstr ""
+
+#. Translators: the first parameter is the number of buddies which
+#. * were successfully imported, and the second is a filename.
+#: ../tools/import-pidgin.vala:117
+#, c-format
+msgid "Imported %u buddy from '%s'."
+msgid_plural "Imported %u buddies from '%s'."
+msgstr[0] ""
+msgstr[1] ""
+
+#. Translators: the first parameter is a persona identifier,
+#. * and the second is an error message.
+#: ../tools/import-pidgin.vala:164
+#, c-format
+msgid "Error changing group of contact ‘%s’: %s"
+msgstr ""
+
+#. Translators: the parameter is the buddy's IM address.
+#: ../tools/import-pidgin.vala:221
+#, c-format
+msgid ""
+"Ignoring buddy with no alias and only one IM address:\n"
+"%s"
+msgstr ""
+
+#: ../tools/import-pidgin.vala:244
+#, c-format
+msgid ""
+"Failed to create new contact for buddy with alias ‘%s’ and IM addresses:\n"
+"%s\n"
+"Error: %s\n"
+msgstr ""
+
+#. Translators: the first parameter is a persona identifier, the
+#. * second is an alias for the persona, and the third is a set of IM
+#. * addresses each on a new line.
+#: ../tools/import-pidgin.vala:258
+#, c-format
+msgid ""
+"Created contact ‘%s’ for buddy with alias ‘%s’ and IM addresses:\n"
+"%s"
+msgstr ""
+
+#: ../tools/import.vala:44
+msgid "Source backend name (default: 'pidgin')"
+msgstr ""
+
+#: ../tools/import.vala:47
+msgid "Source filename (default: specific to source backend)"
+msgstr ""
+
+#: ../tools/import.vala:58
+msgid "— import meta-contact information to libfolks"
+msgstr ""
+
+#. Translators: the parameter is an error message.
+#: ../tools/import.vala:68
+#, c-format
+msgid "Couldn't parse command line options: %s"
+msgstr ""
+
+#. Translators: the parameter is an error message.
+#: ../tools/import.vala:109
+#, c-format
+msgid "Couldn't load the backends: %s"
+msgstr "Taustaosia ei voitu ladata: %s"
+
+#. Translators: the parameter is a backend identifier.
+#: ../tools/import.vala:120
+#, c-format
+msgid "Couldn't load the ‘%s’ backend."
+msgstr "\"%s\"-taustaosaa ei voitu ladata."
+
+#. Translators: the first parameter is a backend identifier and the
+#. * second parameter is an error message.
+#: ../tools/import.vala:133
+#, c-format
+msgid "Couldn't prepare the ‘%s’ backend: %s"
+msgstr ""
+
+#. Translators: the parameter is a backend identifier.
+#: ../tools/import.vala:146
+#, c-format
+msgid "Couldn't load the ‘%s’ backend's persona store."
+msgstr ""
+
+#: ../tools/import.vala:167
+#, c-format
+msgid "Couldn't prepare the ‘%s’ backend's persona store: %s"
+msgstr ""
+
+#. Translators: the parameter is an error message.
+#: ../tools/import.vala:185
+#, c-format
+msgid "Error importing contacts: %s"
+msgstr "Virhe tuodessa yhteystietoja: %s"
+
+#. Translators: both parameters are identifiers for backends.
+#: ../tools/import.vala:199
+#, c-format
+msgid ""
+"Unrecognized source backend name ‘%s’. ‘%s’ is currently the only supported "
+"source backend."
+msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index b84779af..9636e76f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -2,7 +2,7 @@
# Copyright (C) 2011 folks's COPYRIGHT HOLDER
# This file is distributed under the same license as the folks package.
# Wylmer Wang <wantinghard@gmail.com>, 2011, 2012.
-#
+#
# 注:Persona store 疑为用于存储联系人的数据结构,如何翻译待讨论
#
msgid ""
@@ -10,15 +10,17 @@ msgstr ""
"Project-Id-Version: folks master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=folks&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-04-04 14:13+0000\n"
-"PO-Revision-Date: 2012-02-16 19:55+0800\n"
-"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n"
+"POT-Creation-Date: 2013-08-02 08:03+0000\n"
+"PO-Revision-Date: 2013-07-07 22:43+0800\n"
+"Last-Translator: 甘露(Gan Lu) <rhythm.gan@gmail.com>\n"
"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-DamnedLies-Scope: partial\n"
+"X-Generator: Poedit 1.5.5\n"
#. The timeout after which we consider a property change to have failed if we
#. * haven't received a property change notification for it.
@@ -48,7 +50,7 @@ msgstr "移除联系人“%s”的权限不足:%s"
#. Translators: the parameter is an error message.
#: ../backends/eds/lib/edsf-persona-store.vala:682
-#, fuzzy, c-format
+#, c-format
msgid "Removing contacts isn't supported by this persona store: %s"
msgstr "此 persona 仓库不支持移除联系人:%s"
@@ -63,7 +65,7 @@ msgstr "无法移除联系人“%s”:%s"
#: ../backends/eds/lib/edsf-persona-store.vala:992
#, c-format
msgid "Address book ‘%s’ is offline."
-msgstr "地址簿“%s”离线。"
+msgstr "地址簿“%s”为离线。"
#. Translators: the first parameter is an address
#. * book URI and the second is an error message.
@@ -144,7 +146,7 @@ msgid "E-mail addresses are not writeable on this contact."
msgstr "此联系人的电子邮箱地址不可写。"
#: ../backends/eds/lib/edsf-persona-store.vala:1696
-#: ../folks/phone-details.vala:224
+#: ../folks/phone-details.vala:225
msgid "Phone numbers are not writeable on this contact."
msgstr "此联系人的电话号码不可写。"
@@ -180,9 +182,8 @@ msgstr "此联系人的身份不可写。"
#: ../backends/eds/lib/edsf-persona-store.vala:2006
#: ../folks/name-details.vala:246
-#, fuzzy
msgid "Structured name is not writeable on this contact."
-msgstr "此联系人的正式姓名不可写。"
+msgstr "此联系人的姓名不可写。"
#: ../backends/eds/lib/edsf-persona-store.vala:2045
#: ../folks/im-details.vala:136
@@ -205,7 +206,6 @@ msgstr "此联系人的性别不可写。"
#: ../backends/eds/lib/edsf-persona-store.vala:2219
#: ../folks/anti-linkable.vala:81
-#, fuzzy
msgid "Anti-links are not writeable on this contact."
msgstr "此联系人的 Anti-links 不可写。"
@@ -304,91 +304,88 @@ msgstr "打开联系人视图出错。"
#. Translators: the first parameter is the display name for
#. * the Telepathy account, and the second is an error
#. * message.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:814
+#: ../backends/telepathy/lib/tpf-persona-store.vala:811
#, c-format
msgid ""
"Failed to determine whether we can set aliases on Telepathy account '%s': %s"
-msgstr "确定是否有设置 Telepathy 账户“%s”别名的权限失败:%s"
+msgstr "无法确定是否能对 Telepathy 账户“%s”设定别名:%s"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1278
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1275
msgid "Telepathy contacts representing the local user may not be removed."
msgstr "不能移除代表本地用户的 Telepathy 联系人。"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1289
-#, fuzzy, c-format
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1286
+#, c-format
msgid "Failed to remove a persona from store: %s"
-msgstr "从仓库中移除一条 persona 失败:%s"
+msgstr "无法从仓库中移除一条 persona:%s"
#. Translators: the first two parameters are store identifiers and
#. * the third is a contact identifier.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1324
-#, fuzzy, c-format
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1321
+#, c-format
msgid ""
"Persona store (%s, %s) requires the following details:\n"
" contact (provided: '%s')\n"
msgstr ""
"Persona 仓库(%s,%s)要求提供以下细节:\n"
-" 联系人(提供了:“%s”)\n"
+" 联系人(提供:“%s”)\n"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1339
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1336
msgid "Cannot create a new Telepathy contact while offline."
msgstr "离线时无法创建新的 Telepathy 联系人。"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1357
-#, fuzzy, c-format
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1354
+#, c-format
msgid "Failed to add a persona from details: %s"
msgstr "由详情添加一条 persona 失败:%s"
#. Translators: "telepathy-logger" is the name of an application,
#. * and should not be translated.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1377
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1374
msgid ""
"Failed to change favorite without a connection to the telepathy-logger "
"service."
msgstr "没有与 telepathy-logger 服务连接,更改关注失败。"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1383
-#, fuzzy
-#| msgid "Failed to change favorite status for Telepathy contact ‘%s’."
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1380
msgid ""
"Failed to change favorite status of Telepathy Persona because it has no "
"attached TpContact."
-msgstr "更改 Telepathy Persona 收藏失败,因为它没有附加的 TpContact。"
+msgstr "更改 Telepathy Persona 收藏状态失败,因为它没有附加的 TpContact。"
#. Translators: the parameter is a contact identifier.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1401
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1398
#, c-format
msgid "Failed to change favorite status for Telepathy contact ‘%s’."
msgstr "更改 Telepathy 联系人“%s”的关注状态失败。"
#. Translators: the parameter is an error message.
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1433
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1430
#, c-format
msgid "Failed to change contact's alias: %s"
msgstr "更改联系人的别名失败:%s"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1514
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1511
msgid "Extended information may only be set on the user's Telepathy contact."
msgstr "扩展信息只能在用户的 Telepathy 联系人上设置。"
-#: ../backends/telepathy/lib/tpf-persona-store.vala:1543
-#, fuzzy
+#: ../backends/telepathy/lib/tpf-persona-store.vala:1540
msgid ""
"Extended information cannot be written because the store is disconnected."
msgstr "无法写入扩展信息,因为仓库已断开。"
-#: ../backends/telepathy/lib/tpf-persona.vala:499
-#: ../backends/telepathy/lib/tpf-persona.vala:520
-#: ../backends/telepathy/lib/tpf-persona.vala:572
-#: ../backends/telepathy/lib/tpf-persona.vala:586
+#: ../backends/telepathy/lib/tpf-persona.vala:507
+#: ../backends/telepathy/lib/tpf-persona.vala:528
+#: ../backends/telepathy/lib/tpf-persona.vala:580
+#: ../backends/telepathy/lib/tpf-persona.vala:594
#, c-format
msgid "Failed to change group membership: %s"
msgstr "更改组成员资格失败:%s"
#. Translators: "account" refers to an instant messaging
#. * account.
-#: ../backends/telepathy/lib/tpf-persona.vala:502
-#: ../backends/telepathy/lib/tpf-persona.vala:575
+#: ../backends/telepathy/lib/tpf-persona.vala:510
+#: ../backends/telepathy/lib/tpf-persona.vala:583
msgid "Account is offline."
msgstr "帐户为离线。"
@@ -396,7 +393,7 @@ msgstr "帐户为离线。"
#. * was received with the details params, and the second
#. * identifies the persona store.
#: ../backends/tracker/lib/trf-persona-store.vala:742
-#, fuzzy, c-format
+#, c-format
msgid "Unrecognized parameter '%s' passed to persona store '%s'."
msgstr "将不识别的参数“%s”传给了 persona 仓库“%s”。"
@@ -436,37 +433,36 @@ msgstr "此联系人的常用状态不可写。"
#: ../folks/im-details.vala:214 ../folks/im-details.vala:241
#, c-format
msgid "The IM address '%s' could not be understood."
-msgstr "无法理解聊天地址“%s”。"
+msgstr "聊天地址“%s”无法解析。"
#. Translators: the first parameter is a persona store identifier
#. * and the second is an error message.
#: ../folks/individual-aggregator.vala:938
-#, fuzzy, c-format
+#, c-format
msgid "Error preparing persona store '%s': %s"
-msgstr "解析 persona 仓库“%s”出错:%s"
+msgstr "准备 persona 仓库“%s”出错:%s"
#. Translators: the parameter is a property name.
#: ../folks/individual-aggregator.vala:1163
#: ../folks/individual-aggregator.vala:1418
#, c-format
msgid "Unknown property '%s' in linkable property list."
-msgstr "可链接属性列表中的属性“%s”为未知。"
+msgstr "可链接属性列表中的属性“%s”未知。"
#. Translators: the first parameter is a store identifier
#. * and the second parameter is an error message.
#: ../folks/individual-aggregator.vala:1904
-#, fuzzy, c-format
+#, c-format
msgid "Failed to add contact for persona store ID '%s': %s"
-msgstr "为 persona 仓库 ID “%s”添加联系人失败:%s"
+msgstr "向 persona 仓库 ID “%s”添加联系人失败:%s"
#: ../folks/individual-aggregator.vala:2001
-#, fuzzy
msgid "Can’t link personas with no primary store."
msgstr "没有主仓库,不能链接 personas。"
#: ../folks/individual-aggregator.vala:2002
#: ../folks/individual-aggregator.vala:2333
-#, fuzzy, c-format
+#, c-format
msgid ""
"Persona store ‘%s:%s’ is configured as primary, but could not be found or "
"failed to load."
@@ -474,38 +470,36 @@ msgstr "Persona 仓库“%s:%s”被配置为主仓库,但它无法找到或
#: ../folks/individual-aggregator.vala:2003
#: ../folks/individual-aggregator.vala:2334
-#, fuzzy, c-format
+#, c-format
msgid ""
"Check the relevant service is running, or change the default store in that "
"service or using the “%s” GSettings key."
msgstr ""
-"请检查提供 persona 仓库的服务是否运行,或更改该服务中的默认仓库,或使用“%s” "
-"GConf 键。"
+"请检查相关的服务是否运行,或在该服务中更改默认仓库,或使用“%s” GSettings 键。"
#: ../folks/individual-aggregator.vala:2035
msgid "Anti-links can't be removed between personas being linked."
-msgstr ""
+msgstr "不能在已链接的 personas 中删除 Anti-links。"
#: ../folks/individual-aggregator.vala:2332
-#, fuzzy
msgid "Can’t add personas with no primary store."
msgstr "没有主仓库,不能添加 personas。"
#: ../folks/individual-aggregator.vala:2343
-#, fuzzy, c-format
+#, c-format
msgid "Can't write to requested property (“%s”) of the writeable store."
msgstr "不能写入可写仓库中请求的属性(“%s”)。"
-#: ../folks/individual.vala:216 ../folks/individual.vala:369
-#: ../folks/individual.vala:478 ../folks/individual.vala:729
-#: ../folks/individual.vala:807
+#: ../folks/individual.vala:216 ../folks/individual.vala:376
+#: ../folks/individual.vala:485 ../folks/individual.vala:736
+#: ../folks/individual.vala:814
#, c-format
msgid "Failed to change property ‘%s’: No suitable personas were found."
-msgstr ""
+msgstr "无法更改“%s”属性:没有找到合适的 personas。"
#: ../folks/org.freedesktop.folks.gschema.xml.in.h:1
msgid "Primary store ID"
-msgstr ""
+msgstr "主仓库 ID"
#: ../folks/org.freedesktop.folks.gschema.xml.in.h:2
msgid ""
@@ -513,41 +507,43 @@ msgid ""
"linking data in). The type ID of the store may optionally be prepended, "
"separated by a colon. For example: “eds:system-address-book” or “key-file”."
msgstr ""
+"应用作 folks 主仓库(即存储链接数据的仓库)的 persona 仓库的 ID。可以同时追加仓"
+"库的 ID 类型,以冒号隔开。例如:“eds:system-address-book”或“key-file”。"
#: ../folks/postal-address-details.vala:231
#, c-format
msgid "%s, %s, %s, %s, %s, %s, %s"
msgstr "%s、%s、%s、%s、%s、%s、%s"
-#: ../folks/presence-details.vala:159
+#: ../folks/presence-details.vala:171
msgid "Unknown status"
msgstr "未知状态"
-#: ../folks/presence-details.vala:161
+#: ../folks/presence-details.vala:173
msgid "Offline"
msgstr "离线"
-#: ../folks/presence-details.vala:165
+#: ../folks/presence-details.vala:177
msgid "Error"
msgstr "出错"
-#: ../folks/presence-details.vala:167
+#: ../folks/presence-details.vala:179
msgid "Available"
msgstr "在线"
-#: ../folks/presence-details.vala:169
+#: ../folks/presence-details.vala:181
msgid "Away"
msgstr "离开"
-#: ../folks/presence-details.vala:171
+#: ../folks/presence-details.vala:183
msgid "Extended away"
msgstr "长时间离开"
-#: ../folks/presence-details.vala:173
+#: ../folks/presence-details.vala:185
msgid "Busy"
msgstr "忙碌"
-#: ../folks/presence-details.vala:175
+#: ../folks/presence-details.vala:187
msgid "Hidden"
msgstr "隐身"
@@ -676,12 +672,12 @@ msgstr "无法准备“%s”后端:%s"
#. Translators: the parameter is a backend identifier.
#: ../tools/import.vala:146
-#, fuzzy, c-format
+#, c-format
msgid "Couldn't load the ‘%s’ backend's persona store."
msgstr "无法加载“%s”后端的 persona 仓库。"
#: ../tools/import.vala:167
-#, fuzzy, c-format
+#, c-format
msgid "Couldn't prepare the ‘%s’ backend's persona store: %s"
msgstr "无法准备“%s”后端的 persona 仓库:%s"
@@ -697,4 +693,4 @@ msgstr "导入联系人出错:%s"
msgid ""
"Unrecognized source backend name ‘%s’. ‘%s’ is currently the only supported "
"source backend."
-msgstr "无法识别源后端名称“%s”。“%s”是目前惟一支持的源后端。"
+msgstr "无法识别的源后端名称“%s”。“%s”是目前唯一支持的源后端。"
diff --git a/tests/eds/add-contacts-stress-test.vala b/tests/eds/add-contacts-stress-test.vala
index bd7fe0cb..fb024e77 100644
--- a/tests/eds/add-contacts-stress-test.vala
+++ b/tests/eds/add-contacts-stress-test.vala
@@ -77,7 +77,7 @@ public class AddContactsStressTestTests : EdsTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/add-persona.vala b/tests/eds/add-persona.vala
index 178fcb37..ce64ce19 100644
--- a/tests/eds/add-persona.vala
+++ b/tests/eds/add-persona.vala
@@ -113,7 +113,7 @@ public class AddPersonaTests : EdsTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/anti-linking.vala b/tests/eds/anti-linking.vala
index dd519149..ef7fd0f3 100644
--- a/tests/eds/anti-linking.vala
+++ b/tests/eds/anti-linking.vala
@@ -119,7 +119,7 @@ public class AntiLinkingTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_aggregate_after_change_cb);
try
@@ -240,7 +240,7 @@ public class AntiLinkingTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_anti_linking_removal_cb);
try
diff --git a/tests/eds/avatar-details.vala b/tests/eds/avatar-details.vala
index 21802f36..6c674669 100644
--- a/tests/eds/avatar-details.vala
+++ b/tests/eds/avatar-details.vala
@@ -70,7 +70,7 @@ public class AvatarDetailsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/create-remove-stores.vala b/tests/eds/create-remove-stores.vala
index d189005a..51df74a9 100644
--- a/tests/eds/create-remove-stores.vala
+++ b/tests/eds/create-remove-stores.vala
@@ -79,7 +79,7 @@ public class CreateRemoveStoresTests : EdsTest.TestCase
private async void _test_creating_removing_stores_async ()
{
yield this._backend_store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
try
{
yield this._backend_store.load_backends ();
diff --git a/tests/eds/email-details.vala b/tests/eds/email-details.vala
index f077c9cd..99380b2f 100644
--- a/tests/eds/email-details.vala
+++ b/tests/eds/email-details.vala
@@ -107,7 +107,7 @@ public class EmailDetailsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/enable-disable-stores.vala b/tests/eds/enable-disable-stores.vala
index 5ba1fce1..335ce7cb 100644
--- a/tests/eds/enable-disable-stores.vala
+++ b/tests/eds/enable-disable-stores.vala
@@ -85,7 +85,7 @@ public class EnableDisableStoresTests : EdsTest.TestCase
private async void _test_disabling_stores_async ()
{
yield this._backend_store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
try
{
yield this._backend_store.load_backends ();
diff --git a/tests/eds/helper-prepare-aggregator.vala b/tests/eds/helper-prepare-aggregator.vala
index a7b674e9..1b71a6bb 100644
--- a/tests/eds/helper-prepare-aggregator.vala
+++ b/tests/eds/helper-prepare-aggregator.vala
@@ -135,7 +135,7 @@ public class Main
yield TestUtils.backend_prepare_and_wait_for_quiescence ((!) eds);
message ("%.6f Waiting for aggregator", Test.timer_elapsed ());
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
yield TestUtils.aggregator_prepare_and_wait_for_quiescence (aggregator);
var map = aggregator.individuals;
diff --git a/tests/eds/im-details.vala b/tests/eds/im-details.vala
index e0a89869..230e8f2d 100644
--- a/tests/eds/im-details.vala
+++ b/tests/eds/im-details.vala
@@ -79,7 +79,7 @@ public class ImDetailsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/individual-retrieval.vala b/tests/eds/individual-retrieval.vala
index a02c6744..b3ea06d3 100644
--- a/tests/eds/individual-retrieval.vala
+++ b/tests/eds/individual-retrieval.vala
@@ -75,7 +75,7 @@ public class IndividualRetrievalTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/link-personas-diff-stores.vala b/tests/eds/link-personas-diff-stores.vala
index 8701bcfa..fa781ef8 100644
--- a/tests/eds/link-personas-diff-stores.vala
+++ b/tests/eds/link-personas-diff-stores.vala
@@ -86,7 +86,7 @@ public class LinkPersonasDiffStoresTests : EdsTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/link-personas.vala b/tests/eds/link-personas.vala
index 74f72dda..924ba657 100644
--- a/tests/eds/link-personas.vala
+++ b/tests/eds/link-personas.vala
@@ -134,7 +134,7 @@ public class LinkPersonasTests : EdsTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/linkable-properties.vala b/tests/eds/linkable-properties.vala
index 44512b74..f89957ed 100644
--- a/tests/eds/linkable-properties.vala
+++ b/tests/eds/linkable-properties.vala
@@ -114,7 +114,7 @@ public class LinkablePropertiesTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_aggregate_after_change_cb);
try
diff --git a/tests/eds/name-details.vala b/tests/eds/name-details.vala
index bb292beb..31add088 100644
--- a/tests/eds/name-details.vala
+++ b/tests/eds/name-details.vala
@@ -98,7 +98,7 @@ public class NameDetailsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/perf.vala b/tests/eds/perf.vala
index 1609bf77..622930c2 100644
--- a/tests/eds/perf.vala
+++ b/tests/eds/perf.vala
@@ -106,7 +106,7 @@ public class PerfTests : EdsTest.TestCase
yield TestUtils.backend_prepare_and_wait_for_quiescence ((!) eds);
message ("%.6f Preparing aggregator", Test.timer_elapsed ());
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
yield aggregator.prepare ();
message ("%.6f Waiting for aggregator", Test.timer_elapsed ());
diff --git a/tests/eds/phone-details.vala b/tests/eds/phone-details.vala
index b62e4449..05059daf 100644
--- a/tests/eds/phone-details.vala
+++ b/tests/eds/phone-details.vala
@@ -99,7 +99,7 @@ public class PhoneDetailsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/postal-address-details.vala b/tests/eds/postal-address-details.vala
index 22abe627..cfc8c717 100644
--- a/tests/eds/postal-address-details.vala
+++ b/tests/eds/postal-address-details.vala
@@ -102,7 +102,7 @@ public class PostalAddressDetailsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/remove-persona.vala b/tests/eds/remove-persona.vala
index 297953c6..37a01ff8 100644
--- a/tests/eds/remove-persona.vala
+++ b/tests/eds/remove-persona.vala
@@ -62,7 +62,7 @@ public class RemovePersonaTests : EdsTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/removing-contacts.vala b/tests/eds/removing-contacts.vala
index cb640acc..7c70cdfd 100644
--- a/tests/eds/removing-contacts.vala
+++ b/tests/eds/removing-contacts.vala
@@ -66,7 +66,7 @@ public class RemovingContactsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-avatar.vala b/tests/eds/set-avatar.vala
index 318954f8..e317e2f5 100644
--- a/tests/eds/set-avatar.vala
+++ b/tests/eds/set-avatar.vala
@@ -75,7 +75,7 @@ public class SetAvatarTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
@@ -180,7 +180,7 @@ public class SetAvatarTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect ((changes) =>
{
var added = changes.get_values ();
diff --git a/tests/eds/set-birthday.vala b/tests/eds/set-birthday.vala
index d5fb7c32..cb5021c7 100644
--- a/tests/eds/set-birthday.vala
+++ b/tests/eds/set-birthday.vala
@@ -67,7 +67,7 @@ public class SetBirthdayTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-emails.vala b/tests/eds/set-emails.vala
index 2d575d9b..55d83f86 100644
--- a/tests/eds/set-emails.vala
+++ b/tests/eds/set-emails.vala
@@ -66,7 +66,7 @@ public class SetEmailsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-gender.vala b/tests/eds/set-gender.vala
index 6cab286f..cf6e742f 100644
--- a/tests/eds/set-gender.vala
+++ b/tests/eds/set-gender.vala
@@ -67,7 +67,7 @@ public class SetGenderTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect (
this._individuals_changed_cb);
try
diff --git a/tests/eds/set-im-addresses.vala b/tests/eds/set-im-addresses.vala
index 8dd1c618..4f2791b6 100644
--- a/tests/eds/set-im-addresses.vala
+++ b/tests/eds/set-im-addresses.vala
@@ -67,7 +67,7 @@ public class SetIMAddressesTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-is-favourite.vala b/tests/eds/set-is-favourite.vala
index 5ff7b231..3a936de5 100644
--- a/tests/eds/set-is-favourite.vala
+++ b/tests/eds/set-is-favourite.vala
@@ -67,7 +67,7 @@ public class SetIsFavouriteTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect (
this._individuals_changed_cb);
try
diff --git a/tests/eds/set-names.vala b/tests/eds/set-names.vala
index f1fee50e..0e24f282 100644
--- a/tests/eds/set-names.vala
+++ b/tests/eds/set-names.vala
@@ -76,7 +76,7 @@ public class SetNamesTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect (
this._individuals_changed_cb);
try
diff --git a/tests/eds/set-notes.vala b/tests/eds/set-notes.vala
index 1264cd25..8baa5d27 100644
--- a/tests/eds/set-notes.vala
+++ b/tests/eds/set-notes.vala
@@ -68,7 +68,7 @@ public class SetNotesTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-phones.vala b/tests/eds/set-phones.vala
index eeed3ce7..ea1dcb5a 100644
--- a/tests/eds/set-phones.vala
+++ b/tests/eds/set-phones.vala
@@ -68,7 +68,7 @@ public class SetPhonesTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-postal-addresses.vala b/tests/eds/set-postal-addresses.vala
index 54a923dc..b1ce391f 100644
--- a/tests/eds/set-postal-addresses.vala
+++ b/tests/eds/set-postal-addresses.vala
@@ -74,7 +74,7 @@ public class SetPostalAddressesTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-properties-race.vala b/tests/eds/set-properties-race.vala
index bfdf8d85..68457e7a 100644
--- a/tests/eds/set-properties-race.vala
+++ b/tests/eds/set-properties-race.vala
@@ -74,7 +74,7 @@ public class SetPropertiesRaceTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-roles.vala b/tests/eds/set-roles.vala
index 188ee173..c0c064e4 100644
--- a/tests/eds/set-roles.vala
+++ b/tests/eds/set-roles.vala
@@ -68,7 +68,7 @@ public class SetRolesTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-structured-name.vala b/tests/eds/set-structured-name.vala
index 7adc3887..fd5053cf 100644
--- a/tests/eds/set-structured-name.vala
+++ b/tests/eds/set-structured-name.vala
@@ -69,7 +69,7 @@ public class SetStructuredNameTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/set-urls.vala b/tests/eds/set-urls.vala
index 5fa06f3a..d828f768 100644
--- a/tests/eds/set-urls.vala
+++ b/tests/eds/set-urls.vala
@@ -81,7 +81,7 @@ public class SetUrlsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/eds/store-removed.vala b/tests/eds/store-removed.vala
index 4d6e282d..9dd017ab 100644
--- a/tests/eds/store-removed.vala
+++ b/tests/eds/store-removed.vala
@@ -78,7 +78,7 @@ public class StoreRemovedTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
ulong signal_id = 0;
signal_id = this._aggregator.individuals_changed_detailed.connect (
diff --git a/tests/eds/updating-contacts.vala b/tests/eds/updating-contacts.vala
index 35648ab7..5765b0ac 100644
--- a/tests/eds/updating-contacts.vala
+++ b/tests/eds/updating-contacts.vala
@@ -66,7 +66,7 @@ public class UpdatingContactsTests : EdsTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/folks/Makefile.am b/tests/folks/Makefile.am
index 336483d3..95f04932 100644
--- a/tests/folks/Makefile.am
+++ b/tests/folks/Makefile.am
@@ -66,6 +66,7 @@ noinst_PROGRAMS = \
aggregation \
avatar-cache \
object-cache \
+ phone-field-details \
init \
$(NULL)
@@ -103,6 +104,10 @@ object_cache_SOURCES = \
object-cache.vala \
$(NULL)
+phone_field_details_SOURCES = \
+ phone-field-details.vala \
+ $(NULL)
+
init_SOURCES = \
init.vala \
$(NULL)
diff --git a/tests/folks/aggregation.vala b/tests/folks/aggregation.vala
index 024e296c..2f9c2d6d 100644
--- a/tests/folks/aggregation.vala
+++ b/tests/folks/aggregation.vala
@@ -129,7 +129,7 @@ public class AggregationTests : TpfTest.MixedTestCase
}
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
var removed = changes.get_keys ();
@@ -262,7 +262,7 @@ public class AggregationTests : TpfTest.MixedTestCase
weak Individual individual2_detailed = null;
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
var removed = changes.get_keys ();
@@ -438,7 +438,7 @@ public class AggregationTests : TpfTest.MixedTestCase
weak Individual individual2_detailed = null;
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
var removed = changes.get_keys ();
@@ -616,7 +616,7 @@ public class AggregationTests : TpfTest.MixedTestCase
Individual user_individual_detailed = null;
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
var individuals_changed_detailed_id =
aggregator.individuals_changed_detailed.connect ((changes) =>
{
@@ -746,7 +746,7 @@ public class AggregationTests : TpfTest.MixedTestCase
"me2@example.com", "cm", "account2");
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
var individuals_changed_detailed_id =
aggregator.individuals_changed_detailed.connect ((changes) =>
{
@@ -867,7 +867,7 @@ public class AggregationTests : TpfTest.MixedTestCase
var individuals_map = new HashMap<string, IndividualState> ();
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
var aggregator_is_finalising = false;
aggregator.individuals_changed.connect ((added, removed, m, a, r) =>
@@ -981,7 +981,7 @@ public class AggregationTests : TpfTest.MixedTestCase
Individual? individual = null;
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
assert (changes.size == 1);
@@ -1095,7 +1095,7 @@ public class AggregationTests : TpfTest.MixedTestCase
Individual? individual = null;
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
var individuals_changed_id =
aggregator.individuals_changed_detailed.connect ((changes) =>
{
@@ -1270,7 +1270,7 @@ public class AggregationTests : TpfTest.MixedTestCase
Individual? individual = null;
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
assert (changes.size == 1);
diff --git a/tests/folks/init.vala b/tests/folks/init.vala
index b7318e99..289b9b73 100644
--- a/tests/folks/init.vala
+++ b/tests/folks/init.vala
@@ -62,7 +62,7 @@ public class InitTests : TpfTest.MixedTestCase
/* Wreak havoc. */
for (uint i = 0; i < 10; i++)
{
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.prepare (); /* Note: We don't yield for this to complete */
aggregator = null;
}
@@ -124,7 +124,7 @@ public class InitTests : TpfTest.MixedTestCase
for (uint i = 0; i < 10; i++)
{
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
try
{
diff --git a/tests/folks/phone-field-details.vala b/tests/folks/phone-field-details.vala
new file mode 100644
index 00000000..02f07aa7
--- /dev/null
+++ b/tests/folks/phone-field-details.vala
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2013 Philip Withnall
+ *
+ * This library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Philip Withnall <philip@tecnocode.co.uk>
+ */
+
+using Gee;
+using Folks;
+
+public class PhoneFieldDetailsTests : Folks.TestCase
+{
+ public PhoneFieldDetailsTests ()
+ {
+ base ("PhoneFieldDetails");
+
+ this.add_test ("normalisation", this.test_normalisation);
+ }
+
+ private struct NormalisationPair
+ {
+ unowned string unnormalised;
+ unowned string normalised;
+ }
+
+ public void test_normalisation ()
+ {
+ /* Array of pairs of strings, mapping unnormalised phone numbers to their
+ * expected normalised form. */
+ const NormalisationPair[] normalisation_pairs = {
+ { "1-800-123-4567", "18001234567" },
+ { "+1-800-123-4567", "+18001234567" },
+ { "+1-800-123-4567P123", "+18001234567P123" },
+ };
+
+ foreach (var s in normalisation_pairs)
+ {
+ var pfd1 = new PhoneFieldDetails (s.unnormalised);
+ assert (pfd1.get_normalised () == s.normalised);
+ }
+ }
+}
+
+public int main (string[] args)
+{
+ Test.init (ref args);
+
+ var tests = new PhoneFieldDetailsTests ();
+ tests.register ();
+ Test.run ();
+ tests.final_tear_down ();
+
+ return 0;
+}
diff --git a/tests/key-file/individual-retrieval.vala b/tests/key-file/individual-retrieval.vala
index e6657f48..42ca8744 100644
--- a/tests/key-file/individual-retrieval.vala
+++ b/tests/key-file/individual-retrieval.vala
@@ -1,5 +1,6 @@
/*
- * Copyright (C) 2011 Collabora Ltd.
+ * Copyright (C) 2011, 2013 Collabora Ltd.
+ * Copyright (C) 2013 Philip Withnall
*
* This library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -15,6 +16,7 @@
* along with this library. If not, see <http://www.gnu.org/licenses/>.
*
* Authors: Travis Reitter <travis.reitter@collabora.co.uk>
+ * Philip Withnall <philip@tecnocode.co.uk>
*/
using Gee;
@@ -48,7 +50,7 @@ public class IndividualRetrievalTests : KfTest.TestCase
expected_individuals.add ("1");
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
var added = changes.get_values ();
@@ -74,13 +76,17 @@ public class IndividualRetrievalTests : KfTest.TestCase
{
assert (i == null);
}
+
+ /* Finished? */
+ if (expected_individuals.size == 0)
+ main_loop.quit ();
});
aggregator.prepare.begin ();
/* Kill the main loop after a few seconds. If there are still individuals
* in the set of expected individuals, the aggregator has either failed
* or been too slow (which we can consider to be failure). */
- TestUtils.loop_run_with_non_fatal_timeout (main_loop, 3);
+ TestUtils.loop_run_with_timeout (main_loop, 3);
/* We should have enumerated exactly the individuals in the set */
assert (expected_individuals.size == 0);
@@ -97,7 +103,7 @@ public class IndividualRetrievalTests : KfTest.TestCase
"msn=foo@hotmail.com\n");
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
uint individuals_changed_count = 0;
aggregator.individuals_changed_detailed.connect ((changes) =>
{
@@ -119,13 +125,17 @@ public class IndividualRetrievalTests : KfTest.TestCase
{
assert (i == null);
}
+
+ /* Finished? */
+ if (individuals_changed_count == 1)
+ main_loop.quit ();
});
aggregator.prepare.begin ();
/* Kill the main loop after a few seconds. If there are still individuals
* in the set of expected individuals, the aggregator has either failed
* or been too slow (which we can consider to be failure). */
- TestUtils.loop_run_with_non_fatal_timeout (main_loop, 3);
+ TestUtils.loop_run_with_timeout (main_loop, 3);
/* We should have enumerated exactly one individual */
assert (individuals_changed_count == 1);
diff --git a/tests/lib/telepathy/contactlist/Makefile.am b/tests/lib/telepathy/contactlist/Makefile.am
index 4c3761fd..05d23f63 100644
--- a/tests/lib/telepathy/contactlist/Makefile.am
+++ b/tests/lib/telepathy/contactlist/Makefile.am
@@ -16,8 +16,11 @@ VAPIGENFLAGS += \
noinst_LTLIBRARIES = libtp-test-contactlist.la
-libtp_test_contactlist_la_SOURCES = \
+nodist_libtp_test_contactlist_la_SOURCES = \
_gen/param-spec-struct.h \
+ $(NULL)
+
+libtp_test_contactlist_la_SOURCES = \
backend.c \
backend.h \
contact-list-manager.c \
diff --git a/tests/libsocialweb/aggregation.vala b/tests/libsocialweb/aggregation.vala
index 6d47bec2..ecb4c13f 100644
--- a/tests/libsocialweb/aggregation.vala
+++ b/tests/libsocialweb/aggregation.vala
@@ -161,7 +161,7 @@ public class AggregationTests : LibsocialwebTest.TestCase
});
});
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
Individual[] individual_gathered = new Individual[0];
var handler_id =
aggregator.individuals_changed_detailed.connect ((changes) =>
diff --git a/tests/libsocialweb/dummy-lsw.vala b/tests/libsocialweb/dummy-lsw.vala
index 4cccffd9..d340e031 100644
--- a/tests/libsocialweb/dummy-lsw.vala
+++ b/tests/libsocialweb/dummy-lsw.vala
@@ -106,7 +106,7 @@ public class DummyLswTests : LibsocialwebTest.TestCase
});
});
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
Individual? i1 = null;
Individual? i2 = null;
var handler_id =
diff --git a/tests/telepathy/fake-tp-backend.vala b/tests/telepathy/fake-tp-backend.vala
index 14f4a7d6..407e8f4a 100644
--- a/tests/telepathy/fake-tp-backend.vala
+++ b/tests/telepathy/fake-tp-backend.vala
@@ -35,7 +35,7 @@ public int main (string[] args)
var main_loop = new GLib.MainLoop (null, false);
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
Idle.add (() =>
{
diff --git a/tests/telepathy/individual-properties.vala b/tests/telepathy/individual-properties.vala
index e3556619..45acb62c 100644
--- a/tests/telepathy/individual-properties.vala
+++ b/tests/telepathy/individual-properties.vala
@@ -61,7 +61,7 @@ public class IndividualPropertiesTests : TpfTest.TestCase
var main_loop = new GLib.MainLoop (null, false);
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
var added = changes.get_values ();
@@ -191,7 +191,7 @@ public class IndividualPropertiesTests : TpfTest.TestCase
var alias_notified = false;
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
var added = changes.get_values ();
@@ -264,7 +264,7 @@ public class IndividualPropertiesTests : TpfTest.TestCase
var alias_notified = false;
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
var added = changes.get_values ();
@@ -342,7 +342,7 @@ public class IndividualPropertiesTests : TpfTest.TestCase
this._changes_pending.add ("urls");
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
this._change_contact_info_aggregator_individuals_added.begin (changes);
diff --git a/tests/telepathy/individual-retrieval.vala b/tests/telepathy/individual-retrieval.vala
index 5919e3d0..8524240a 100644
--- a/tests/telepathy/individual-retrieval.vala
+++ b/tests/telepathy/individual-retrieval.vala
@@ -74,7 +74,7 @@ public class IndividualRetrievalTests : TpfTest.TestCase
expected_individuals.add (id);
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
var added = changes.get_values ();
@@ -136,7 +136,7 @@ public class IndividualRetrievalTests : TpfTest.TestCase
added_individuals.add ("carl-brutananadilewski@example.com");
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.individuals_changed_detailed.connect ((changes) =>
{
diff --git a/tests/telepathy/individual-zeitgeist.vala b/tests/telepathy/individual-zeitgeist.vala
index 6e047e28..5d62942a 100644
--- a/tests/telepathy/individual-zeitgeist.vala
+++ b/tests/telepathy/individual-zeitgeist.vala
@@ -47,7 +47,7 @@ public int main (string[] args)
{
var main_loop = new GLib.MainLoop (null, false);
/* Set up the aggregator */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
aggregator.notify["is-quiescent"].connect (() =>
{
diff --git a/tests/telepathy/init.vala b/tests/telepathy/init.vala
index f842a07a..44bca605 100644
--- a/tests/telepathy/init.vala
+++ b/tests/telepathy/init.vala
@@ -37,7 +37,7 @@ public class InitTests : TpfTest.TestCase
var main_loop = new GLib.MainLoop (null, false);
/* Main test code. */
- var aggregator = new IndividualAggregator ();
+ var aggregator = IndividualAggregator.dup ();
Idle.add (() =>
{
diff --git a/tests/tracker/add-contact.vala b/tests/tracker/add-contact.vala
index e921fe85..8f0fe9d5 100644
--- a/tests/tracker/add-contact.vala
+++ b/tests/tracker/add-contact.vala
@@ -59,7 +59,7 @@ public class AddContactTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
diff --git a/tests/tracker/add-persona.vala b/tests/tracker/add-persona.vala
index 109c3c69..13a4ff95 100644
--- a/tests/tracker/add-persona.vala
+++ b/tests/tracker/add-persona.vala
@@ -133,7 +133,7 @@ public class AddPersonaTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/additional-names-updates.vala b/tests/tracker/additional-names-updates.vala
index de3ad710..7c7a620c 100644
--- a/tests/tracker/additional-names-updates.vala
+++ b/tests/tracker/additional-names-updates.vala
@@ -78,7 +78,7 @@ public class AdditionalNamesUpdatesTests : TrackerTest.TestCase
private async void _test_additional_names_updates_async (BackendStore store)
{
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/avatar-details-interface.vala b/tests/tracker/avatar-details-interface.vala
index 782d3389..26a0f58e 100644
--- a/tests/tracker/avatar-details-interface.vala
+++ b/tests/tracker/avatar-details-interface.vala
@@ -66,7 +66,7 @@ public class AvatarDetailsInterfaceTests : TrackerTest.TestCase
yield store.prepare ();
/* Set up the aggregator */
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/avatar-updates.vala b/tests/tracker/avatar-updates.vala
index 0c8ad7ba..cead31eb 100644
--- a/tests/tracker/avatar-updates.vala
+++ b/tests/tracker/avatar-updates.vala
@@ -81,7 +81,7 @@ public class AvatarUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/birthday-details-interface.vala b/tests/tracker/birthday-details-interface.vala
index c349b8e0..cfcdfb4e 100644
--- a/tests/tracker/birthday-details-interface.vala
+++ b/tests/tracker/birthday-details-interface.vala
@@ -70,7 +70,7 @@ public class BirthdayDetailsInterfaceTests : TrackerTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/birthday-updates.vala b/tests/tracker/birthday-updates.vala
index f35fef51..9aae3e2d 100644
--- a/tests/tracker/birthday-updates.vala
+++ b/tests/tracker/birthday-updates.vala
@@ -88,7 +88,7 @@ public class BirthdayUpdatesTests : TrackerTest.TestCase
var store = BackendStore.dup ();
yield store.prepare ();
/* Set up the aggregator */
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/default-contact.vala b/tests/tracker/default-contact.vala
index 14f01b07..b690c25e 100644
--- a/tests/tracker/default-contact.vala
+++ b/tests/tracker/default-contact.vala
@@ -66,7 +66,7 @@ public class DefaultContactTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/duplicated-emails.vala b/tests/tracker/duplicated-emails.vala
index 582907b5..4e67d36a 100644
--- a/tests/tracker/duplicated-emails.vala
+++ b/tests/tracker/duplicated-emails.vala
@@ -58,7 +58,7 @@ public class DuplicatedEmailsTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/duplicated-phones.vala b/tests/tracker/duplicated-phones.vala
index 1d5fae4e..b7a049bf 100644
--- a/tests/tracker/duplicated-phones.vala
+++ b/tests/tracker/duplicated-phones.vala
@@ -58,7 +58,7 @@ public class DuplicatedPhonesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/email-details-interface.vala b/tests/tracker/email-details-interface.vala
index e6a6fca1..3102770b 100644
--- a/tests/tracker/email-details-interface.vala
+++ b/tests/tracker/email-details-interface.vala
@@ -68,7 +68,7 @@ public class EmailDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/emails-updates.vala b/tests/tracker/emails-updates.vala
index 2c9c5dd4..f183b29e 100644
--- a/tests/tracker/emails-updates.vala
+++ b/tests/tracker/emails-updates.vala
@@ -93,7 +93,7 @@ public class EmailsUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/family-name-updates.vala b/tests/tracker/family-name-updates.vala
index da2af7b0..9ef13e72 100644
--- a/tests/tracker/family-name-updates.vala
+++ b/tests/tracker/family-name-updates.vala
@@ -77,7 +77,7 @@ public class FamilyNameUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/favourite-details-interface.vala b/tests/tracker/favourite-details-interface.vala
index 61d72581..369e316d 100644
--- a/tests/tracker/favourite-details-interface.vala
+++ b/tests/tracker/favourite-details-interface.vala
@@ -82,7 +82,7 @@ public class FavouriteDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/favourite-updates.vala b/tests/tracker/favourite-updates.vala
index 0b24b497..656295ee 100644
--- a/tests/tracker/favourite-updates.vala
+++ b/tests/tracker/favourite-updates.vala
@@ -85,7 +85,7 @@ public class FavouriteUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/fullname-updates.vala b/tests/tracker/fullname-updates.vala
index aec16d70..ccd63be0 100644
--- a/tests/tracker/fullname-updates.vala
+++ b/tests/tracker/fullname-updates.vala
@@ -75,7 +75,7 @@ public class FullnameUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/gender-details-interface.vala b/tests/tracker/gender-details-interface.vala
index 17cbf51a..270960e3 100644
--- a/tests/tracker/gender-details-interface.vala
+++ b/tests/tracker/gender-details-interface.vala
@@ -66,7 +66,7 @@ public class GenderDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/given-name-updates.vala b/tests/tracker/given-name-updates.vala
index 968759a5..962b26b1 100644
--- a/tests/tracker/given-name-updates.vala
+++ b/tests/tracker/given-name-updates.vala
@@ -76,7 +76,7 @@ public class GivenNameUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/im-details-interface.vala b/tests/tracker/im-details-interface.vala
index dc80f11b..a835e193 100644
--- a/tests/tracker/im-details-interface.vala
+++ b/tests/tracker/im-details-interface.vala
@@ -70,7 +70,7 @@ public class ImDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/imaddresses-updates.vala b/tests/tracker/imaddresses-updates.vala
index 8e486dbf..c89425c9 100644
--- a/tests/tracker/imaddresses-updates.vala
+++ b/tests/tracker/imaddresses-updates.vala
@@ -79,7 +79,7 @@ public class IMAddressesUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/individual-retrieval.vala b/tests/tracker/individual-retrieval.vala
index 46a73464..dc28a51a 100644
--- a/tests/tracker/individual-retrieval.vala
+++ b/tests/tracker/individual-retrieval.vala
@@ -61,7 +61,7 @@ public class IndividualRetrievalTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/link-personas-via-local-ids.vala b/tests/tracker/link-personas-via-local-ids.vala
index 860cd790..b9bb9e23 100644
--- a/tests/tracker/link-personas-via-local-ids.vala
+++ b/tests/tracker/link-personas-via-local-ids.vala
@@ -95,7 +95,7 @@ public class LinkPersonasViaLocalIDsTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/link-personas.vala b/tests/tracker/link-personas.vala
index ba2b3003..ccc0a43c 100644
--- a/tests/tracker/link-personas.vala
+++ b/tests/tracker/link-personas.vala
@@ -97,7 +97,7 @@ public class LinkPersonasTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/match-all.vala b/tests/tracker/match-all.vala
index c1c09663..f1ec8f03 100644
--- a/tests/tracker/match-all.vala
+++ b/tests/tracker/match-all.vala
@@ -82,7 +82,7 @@ public class MatchAllTests : TrackerTest.TestCase
if (this._aggregator == null)
{
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
}
diff --git a/tests/tracker/match-email-addresses.vala b/tests/tracker/match-email-addresses.vala
index bcbc79f2..c9499c2c 100644
--- a/tests/tracker/match-email-addresses.vala
+++ b/tests/tracker/match-email-addresses.vala
@@ -59,7 +59,7 @@ public class MatchEmailAddressesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/match-im-addresses.vala b/tests/tracker/match-im-addresses.vala
index d914637c..c7fad9b6 100644
--- a/tests/tracker/match-im-addresses.vala
+++ b/tests/tracker/match-im-addresses.vala
@@ -59,7 +59,7 @@ public class MatchIMAddressesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/match-known-emails.vala b/tests/tracker/match-known-emails.vala
index caeea0ef..94f33c17 100644
--- a/tests/tracker/match-known-emails.vala
+++ b/tests/tracker/match-known-emails.vala
@@ -67,7 +67,7 @@ public class MatchKnownEmailsTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/match-name.vala b/tests/tracker/match-name.vala
index f2478033..88ee7f65 100644
--- a/tests/tracker/match-name.vala
+++ b/tests/tracker/match-name.vala
@@ -117,7 +117,7 @@ public class MatchNameTests : TrackerTest.TestCase
if (this._aggregator == null)
{
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
}
diff --git a/tests/tracker/match-phone-number.vala b/tests/tracker/match-phone-number.vala
index 24246d47..9ad36d36 100644
--- a/tests/tracker/match-phone-number.vala
+++ b/tests/tracker/match-phone-number.vala
@@ -61,7 +61,7 @@ public class MatchPhoneNumberTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/name-details-interface.vala b/tests/tracker/name-details-interface.vala
index 97f60ba6..429fb0eb 100644
--- a/tests/tracker/name-details-interface.vala
+++ b/tests/tracker/name-details-interface.vala
@@ -69,7 +69,7 @@ public class NameDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/nickname-updates.vala b/tests/tracker/nickname-updates.vala
index bdfda34c..64b30769 100644
--- a/tests/tracker/nickname-updates.vala
+++ b/tests/tracker/nickname-updates.vala
@@ -70,7 +70,7 @@ public class NicknameUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/note-details-interface.vala b/tests/tracker/note-details-interface.vala
index 3ed76df8..8e484d27 100644
--- a/tests/tracker/note-details-interface.vala
+++ b/tests/tracker/note-details-interface.vala
@@ -67,7 +67,7 @@ public class NoteDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/phone-details-interface.vala b/tests/tracker/phone-details-interface.vala
index 7c97b7b8..3340217b 100644
--- a/tests/tracker/phone-details-interface.vala
+++ b/tests/tracker/phone-details-interface.vala
@@ -67,7 +67,7 @@ public class PhoneDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/phones-updates.vala b/tests/tracker/phones-updates.vala
index 3ddea90a..65ce26eb 100644
--- a/tests/tracker/phones-updates.vala
+++ b/tests/tracker/phones-updates.vala
@@ -79,7 +79,7 @@ public class PhonesUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/postal-address-details-interface.vala b/tests/tracker/postal-address-details-interface.vala
index b450c9fe..c14d6bbe 100644
--- a/tests/tracker/postal-address-details-interface.vala
+++ b/tests/tracker/postal-address-details-interface.vala
@@ -98,7 +98,7 @@ public class PostalAddressDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/prefix-name-updates.vala b/tests/tracker/prefix-name-updates.vala
index e74589f5..a20c6aed 100644
--- a/tests/tracker/prefix-name-updates.vala
+++ b/tests/tracker/prefix-name-updates.vala
@@ -76,7 +76,7 @@ public class PrefixNameUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/remove-contact.vala b/tests/tracker/remove-contact.vala
index 5571c562..7e8a9e34 100644
--- a/tests/tracker/remove-contact.vala
+++ b/tests/tracker/remove-contact.vala
@@ -65,7 +65,7 @@ public class RemoveContactTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/remove-persona.vala b/tests/tracker/remove-persona.vala
index 6367eb98..657a670a 100644
--- a/tests/tracker/remove-persona.vala
+++ b/tests/tracker/remove-persona.vala
@@ -63,7 +63,7 @@ public class RemovePersonaTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/role-details-interface.vala b/tests/tracker/role-details-interface.vala
index 65346bc9..064be8e5 100644
--- a/tests/tracker/role-details-interface.vala
+++ b/tests/tracker/role-details-interface.vala
@@ -67,7 +67,7 @@ public class RoleDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-avatar.vala b/tests/tracker/set-avatar.vala
index 794530b4..bad6f336 100644
--- a/tests/tracker/set-avatar.vala
+++ b/tests/tracker/set-avatar.vala
@@ -65,7 +65,7 @@ public class SetAvatarTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-birthday.vala b/tests/tracker/set-birthday.vala
index 56b8546e..8a5df059 100644
--- a/tests/tracker/set-birthday.vala
+++ b/tests/tracker/set-birthday.vala
@@ -69,7 +69,7 @@ public class SetBirthdayTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-duplicate-email.vala b/tests/tracker/set-duplicate-email.vala
index 0773a081..95452142 100644
--- a/tests/tracker/set-duplicate-email.vala
+++ b/tests/tracker/set-duplicate-email.vala
@@ -59,7 +59,7 @@ public class SetDuplicateEmailTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-emails.vala b/tests/tracker/set-emails.vala
index f2ebf0c4..b7e1dade 100644
--- a/tests/tracker/set-emails.vala
+++ b/tests/tracker/set-emails.vala
@@ -68,7 +68,7 @@ public class SetEmailsTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-favourite.vala b/tests/tracker/set-favourite.vala
index 90bc63e9..8eb2797c 100644
--- a/tests/tracker/set-favourite.vala
+++ b/tests/tracker/set-favourite.vala
@@ -82,7 +82,7 @@ public class SetFavouriteTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-full-name.vala b/tests/tracker/set-full-name.vala
index 7293b8ee..28a10d02 100644
--- a/tests/tracker/set-full-name.vala
+++ b/tests/tracker/set-full-name.vala
@@ -66,7 +66,7 @@ public class SetFullNameTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-gender.vala b/tests/tracker/set-gender.vala
index ab96b82c..7212177a 100644
--- a/tests/tracker/set-gender.vala
+++ b/tests/tracker/set-gender.vala
@@ -62,7 +62,7 @@ public class SetGenderTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-im-addresses.vala b/tests/tracker/set-im-addresses.vala
index a6e8f9f7..7b00e0ab 100644
--- a/tests/tracker/set-im-addresses.vala
+++ b/tests/tracker/set-im-addresses.vala
@@ -69,7 +69,7 @@ public class SetIMAddressesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-nickname.vala b/tests/tracker/set-nickname.vala
index e171a548..1f9e9627 100644
--- a/tests/tracker/set-nickname.vala
+++ b/tests/tracker/set-nickname.vala
@@ -69,7 +69,7 @@ public class SetNicknameTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-notes.vala b/tests/tracker/set-notes.vala
index c9b197aa..d5e3876a 100644
--- a/tests/tracker/set-notes.vala
+++ b/tests/tracker/set-notes.vala
@@ -65,7 +65,7 @@ public class SetNotesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-null-avatar.vala b/tests/tracker/set-null-avatar.vala
index 1b02c4bd..e6671fe0 100644
--- a/tests/tracker/set-null-avatar.vala
+++ b/tests/tracker/set-null-avatar.vala
@@ -61,7 +61,7 @@ public class SetNullAvatarTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-phones.vala b/tests/tracker/set-phones.vala
index 82b5afe7..49a5123e 100644
--- a/tests/tracker/set-phones.vala
+++ b/tests/tracker/set-phones.vala
@@ -68,7 +68,7 @@ public class SetPhonesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-postal-addresses.vala b/tests/tracker/set-postal-addresses.vala
index 9fa2be39..94471dd7 100644
--- a/tests/tracker/set-postal-addresses.vala
+++ b/tests/tracker/set-postal-addresses.vala
@@ -74,7 +74,7 @@ public class SetPostalAddressesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-roles.vala b/tests/tracker/set-roles.vala
index 4696c5aa..08501670 100644
--- a/tests/tracker/set-roles.vala
+++ b/tests/tracker/set-roles.vala
@@ -67,7 +67,7 @@ public class SetRolesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-structured-name.vala b/tests/tracker/set-structured-name.vala
index 1f449822..f39526f4 100644
--- a/tests/tracker/set-structured-name.vala
+++ b/tests/tracker/set-structured-name.vala
@@ -76,7 +76,7 @@ public class SetStructuredNameTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/set-urls.vala b/tests/tracker/set-urls.vala
index 80d7a11b..922087c9 100644
--- a/tests/tracker/set-urls.vala
+++ b/tests/tracker/set-urls.vala
@@ -66,7 +66,7 @@ public class SetURLsTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/suffix-name-updates.vala b/tests/tracker/suffix-name-updates.vala
index f1369146..ac4ff975 100644
--- a/tests/tracker/suffix-name-updates.vala
+++ b/tests/tracker/suffix-name-updates.vala
@@ -78,7 +78,7 @@ public class SuffixNameUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/url-details-interface.vala b/tests/tracker/url-details-interface.vala
index e3802bc2..3cba4424 100644
--- a/tests/tracker/url-details-interface.vala
+++ b/tests/tracker/url-details-interface.vala
@@ -72,7 +72,7 @@ public class UrlDetailsInterfaceTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tests/tracker/website-updates.vala b/tests/tracker/website-updates.vala
index 9095a5ce..b2942caa 100644
--- a/tests/tracker/website-updates.vala
+++ b/tests/tracker/website-updates.vala
@@ -78,7 +78,7 @@ public class WebsiteUpdatesTests : TrackerTest.TestCase
{
var store = BackendStore.dup ();
yield store.prepare ();
- this._aggregator = new IndividualAggregator ();
+ this._aggregator = IndividualAggregator.dup ();
this._aggregator.individuals_changed_detailed.connect
(this._individuals_changed_cb);
try
diff --git a/tools/import.vala b/tools/import.vala
index e8872f86..3ceab9e6 100644
--- a/tools/import.vala
+++ b/tools/import.vala
@@ -77,7 +77,7 @@ public class Folks.ImportTool : Object
/* FIXME: We need to create this, even though we don't use it, to prevent
* debug message spew, as its constructor initialises the log handling.
* bgo#629096 */
- IndividualAggregator aggregator = new IndividualAggregator ();
+ IndividualAggregator aggregator = IndividualAggregator.dup ();
aggregator = null;
/* Create a main loop and start importing */
diff --git a/tools/inspect/inspect.vala b/tools/inspect/inspect.vala
index 6b5896f1..5778e2e1 100644
--- a/tools/inspect/inspect.vala
+++ b/tools/inspect/inspect.vala
@@ -148,7 +148,7 @@ public class Folks.Inspect.Client : Object
this.main_loop = new MainLoop ();
this.signal_manager = new SignalManager ();
this.backend_store = BackendStore.dup ();
- this.aggregator = new IndividualAggregator ();
+ this.aggregator = IndividualAggregator.dup ();
}
public void quit ()