diff options
author | Rodrigo Moya <rodrigo@gnome-db.org> | 2013-09-25 10:10:12 +0200 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2013-09-25 10:10:12 +0200 |
commit | 12910eb18f18d33ae57240d7a5b8b39ce8f60129 (patch) | |
tree | d3e57f566c7319369690a714130bcedcc2ee0a3a | |
parent | 73500c8cb18cdc9f0e2b08ce6189280d240c570a (diff) | |
parent | f707b604734f787692cf94a7daffb4edf349a476 (diff) |
Merge branch 'master' into wip/arbitrary-field-interfacewip/arbitrary-field-interface
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 \ @@ -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 { @@ -15,6 +15,7 @@ eo es eu fa +fi fr gl gu @@ -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 () |