Daniel Mustieles [Tue, 31 Jan 2012 12:14:54 +0000 (13:14 +0100)]
Updated Spanish translation
Travis Reitter [Fri, 27 Jan 2012 00:27:03 +0000 (16:27 -0800)]
Only add non-empty Role or PostalAddress fields in Tracker backend
This prevents some newly-exposed test failures.
Travis Reitter [Wed, 25 Jan 2012 02:00:29 +0000 (18:00 -0800)]
Don't assume every Tpf.Persona has a contact
Travis Reitter [Wed, 25 Jan 2012 01:00:58 +0000 (17:00 -0800)]
Fix the nullity of test functions.
Travis Reitter [Tue, 24 Jan 2012 23:57:32 +0000 (15:57 -0800)]
Make Individual implement PresenceDetails properly
Travis Reitter [Sun, 22 Jan 2012 01:24:05 +0000 (17:24 -0800)]
Make Tpf.Persona properly implement the PresenceDetails properties.
Alexander Larsson [Mon, 23 Jan 2012 15:30:58 +0000 (16:30 +0100)]
Match names better for PotentialMatches
We match alias as well as full name, to e.g. match an EDS contact (full name)
with an IM contact (alias).
Also, we make exact name matches bring the priority to HIGH alone, which
is needed in the IM case since the alias is the only piece of data
we have to match on.
https://bugzilla.gnome.org/show_bug.cgi?id=668499
Colin Walters [Thu, 19 Jan 2012 20:38:35 +0000 (15:38 -0500)]
autogen.sh: Honor NOCONFIGURE=1
See http://people.gnome.org/~walters/docs/build-api.txt
Fran Diéguez [Tue, 17 Jan 2012 00:52:27 +0000 (01:52 +0100)]
Updated Galician translations
Marek Černocký [Mon, 16 Jan 2012 09:02:20 +0000 (10:02 +0100)]
Updated Czech translation
Philip Withnall [Mon, 9 Jan 2012 18:24:21 +0000 (18:24 +0000)]
eds: Add a dummy authentication handler
This will deny any authentication requests, which goes some way to stopping
address books remaining in the “opening” state indefinitely. However, it
(curiously) doesn’t entirely eliminate the problem.
It also looks like this is a situation where the ::opened signal can return
an error while the async open() call doesn’t. Joy.
Philip Withnall [Mon, 9 Jan 2012 14:47:02 +0000 (14:47 +0000)]
telepathy: Fix weak notification of TpContacts
By the time our weak notification callback was called, the TpContact’s
handle had been set to 0, which mucked things up for us.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=667535
Philip Withnall [Fri, 6 Jan 2012 23:08:10 +0000 (23:08 +0000)]
telepathy: Keep Tpf.PersonaStore.personas up to date for cached stores
When loading a Tpf.PersonaStore from its cache, ensure Personas are inserted
into both the set of personas _and_ the map of IIDs to personas.
This fixes Tpf.PersonaStore.personas being empty for cached stores.
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=667410
Philip Withnall [Fri, 6 Jan 2012 23:05:05 +0000 (23:05 +0000)]
Bug 667410 — A second aggregator instance only fetches a subset of contacts
This was happening because the initial BackendStore was hanging around across
multiple IndividualAggregator instances, keeping all the Backends,
PersonaStores and Personas alive.
The IndividualAggregator didn’t have code to deal with pre-prepared Backends
and PersonaStores, meaning it never realised the Personas existed (because
they weren’t announced via personas-changed signals), and thus never created
Individuals out of them.
This commit fixes the problem by having IndividualAggregator check for
existing Backends, PersonaStores and Personas when prepare() is called.
It also adds a test case to the folks test suite, based on the one written
by Guillaume in bgo#667410.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=667410
Philip Withnall [Mon, 9 Jan 2012 11:16:09 +0000 (11:16 +0000)]
eds: Mark a few more contact fields as being handled
This should prevent a few debug messages about unhandled fields.
Philip Withnall [Mon, 9 Jan 2012 10:55:02 +0000 (10:55 +0000)]
core: Set G_MESSAGES_DEBUG when parsing debug domains
This stops GLib from dropping all our debug output (unless the user has
remembered to set G_MESSAGES_DEBUG manually in addition to FOLKS_DEBUG).
Philip Withnall [Mon, 9 Jan 2012 10:12:30 +0000 (10:12 +0000)]
build: Add folks-internal files to MAINTAINERCLEANFILES etc.
Philip Withnall [Sun, 8 Jan 2012 23:43:29 +0000 (23:43 +0000)]
docs: Add NEWS for the previous two commits
Philip Withnall [Sun, 8 Jan 2012 23:16:14 +0000 (23:16 +0000)]
build: Add lcov make targets from telepathy-glib
Add lcov.mk, copied from telepathy-glib:
http://cgit.freedesktop.org/telepathy/telepathy-glib/tree/tools/lcov.am
with the tp-glib–specific bits removed.
These targets are only useful if folks is compiled with
--enable-code-coverage.
To run the test suite and generate a report, run `make lcov-check`. To just
generate a report without running the test suite, run `make lcov-report`.
The .info file and generated report are only deleted by
`make maintainer-clean`, since the developer might want to refer to them
across other cleans.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=659610
Philip Withnall [Sun, 8 Jan 2012 21:31:04 +0000 (21:31 +0000)]
Bug 657063 — Allow to pass a command to folks-inspect
Add a non-interactive mode to folks-inspect which executes the command
given on the command line synchronously, and then exits.
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=657063
Philip Withnall [Sun, 8 Jan 2012 19:51:25 +0000 (19:51 +0000)]
inspect: Set up locale in main()
Philip Withnall [Sun, 8 Jan 2012 19:19:03 +0000 (19:19 +0000)]
tests: Add a quiescence test for the Telepathy backend
This just checks that an aggregator with a single Tpf.PersonaStore reaches
quiescence in a reasonable time.
Philip Withnall [Sun, 8 Jan 2012 17:02:40 +0000 (17:02 +0000)]
tests: Add a fake-tp-backend program in the Telepathy tests
This is not an automated test, and is intended to be run manually on a D-Bus
bus specified using the DBUS_SESSION_BUS_ADDRESS environment variable,
together with a client program (for example, a test program) to be run against
it.
Philip Withnall [Sun, 8 Jan 2012 15:58:16 +0000 (15:58 +0000)]
build: Add an --enable-code-coverage configure parameter
When building with code coverage enabled, -fprofile-arcs and -ftest-coverage
will be passed to gcc during compilation, and -lgcov will be passed during
linking.
Code coverage is disabled by default for the core of folks, since it has to
turn off valac’s ‘-g’ option to output #line directives in the generated C
code. This is necessary because lcov gets confused by execution passing
between .vala and .c files. More useful results can be obtained by just
looking at the code coverage of the .c files and ignoring the boilerplate
in them.
(More specifically, lcov reports on .vala files aren’t especially useful
because they erroneously mark many lines as being executed which actually
weren’t. This happens because one Vala line may be compiled into several
lines of C, some of which will be executed unconditionally even if the Vala
line itself isn’t executed. This will fool lcov into thinking the Vala line
was actually executed.)
Code coverage is automatically turned off when making a release.
Philip Withnall [Sun, 8 Jan 2012 15:50:02 +0000 (15:50 +0000)]
build: Tidy up use of AM_* variables in Makefile.ams
Philip Withnall [Fri, 6 Jan 2012 23:01:12 +0000 (23:01 +0000)]
eds: Cope with opening buggy EDS address book backends
Turns out that almost as soon as I’d pushed the previous commit, one of my
address books proved me wrong and returned successfully from the async open()
call without being open (according to is_opened()) afterwards. Bother.
This replaces the assertion that the above holds with some code which will
throw an error instead, which should be a bit more robust in the case of
buggy EDS address books.
Philip Withnall [Fri, 6 Jan 2012 18:29:21 +0000 (18:29 +0000)]
eds: Handle BUSY errors when opening address books better
If another process is in the middle of opening an address book when we come
to try and open it, our open() call will return immediately with a BUSY
error.
In this case, we need to wait for the EClient::opened signal to know when
the open operation has finished.
Hopefully, this will fix those irritating ‘blah is busy’ errors I frequently
get when running the EDS backend test suite. Hopefully it also won’t
introduce too many other problems.
Philip Withnall [Fri, 6 Jan 2012 14:37:28 +0000 (14:37 +0000)]
tests: Fix the EDS link-personas-diff-stores test
Due to the tightening up of checks for PersonaStores being prepared before
PersonaStore.add_persona_from_details() is called, this test was failing
because it didn’t wait for its persona stores to get prepared.
This fixes the problem by waiting for quiescence before launching into the
test code proper.
Philip Withnall [Fri, 6 Jan 2012 14:35:01 +0000 (14:35 +0000)]
eds: Reach quiescence in Edsf.PersonaStore for address books with no contacts
It’s possible for an address book to have the “do-initial-query” capability
yet not emit any ::objects-added signals on its view, if the address book has
no contacts.
This commit fixes that by listening for the ::complete signal on the address
book view and using that to determine quiescence instead.
This should theoretically also catch cases where the address book encounters
an error part-way through initialisation, since that will be reported via
the ::complete signal.
Philip Withnall [Fri, 6 Jan 2012 14:33:52 +0000 (14:33 +0000)]
tests: Fix printerr() handler in TestCase
It was always getting a null message due to having an extraneous extra
parameter (in its C form), meaning that stacktraces from failed assertions
in test cases were never getting printed.
Philip Withnall [Wed, 28 Dec 2011 19:17:09 +0000 (19:17 +0000)]
eds: Nullability fixes
With the EDS annotation fixes in
https://bugzilla.gnome.org/show_bug.cgi?id=667388, this fixes all of the
nullability problems found by compiling with --enable-experimental-non-null.
As mentioned in the previous commit, we can’t use
--enable-experimental-non-null by default yet, but the fixes should work by
themselves.
Philip Withnall [Wed, 21 Dec 2011 23:58:39 +0000 (23:58 +0000)]
core: Nullability fixes
Almost all of these are just the necessary ‘(!)’ annotations to allow the
nullability check to pass. There were few, if any, actual bugs found by the
check (which either means folks is perfect, or Vala's nullability checking
is imperfect).
This brings us down from 296 nullability errors to just below 50.
The work was done by compiling folks with valac’s
--enable-experimental-non-null flag. We’re not ready to add the flag to
VALAFLAGS permanently yet, since this commit depends on various annotation
fixes in GLib (and similarly, the next one depends on several in EDS).
However, the fixes themselves should be valid without the flag.
This depends on (at least):
• https://bugzilla.gnome.org/show_bug.cgi?id=666700
• https://bugzilla.gnome.org/show_bug.cgi?id=666699
Matej Urbančič [Wed, 4 Jan 2012 19:31:26 +0000 (20:31 +0100)]
Updated Slovenian translation
Christian Kirbach [Sun, 1 Jan 2012 21:44:46 +0000 (22:44 +0100)]
Updated German translation
Nicolás Satragno [Sat, 31 Dec 2011 17:49:49 +0000 (18:49 +0100)]
Updated Spanish translation
Nicolás Satragno [Thu, 29 Dec 2011 14:46:42 +0000 (15:46 +0100)]
Updated Spanish translation
Piotr Drąg [Wed, 28 Dec 2011 21:41:40 +0000 (22:41 +0100)]
Updated Polish translation
Philip Withnall [Wed, 28 Dec 2011 19:56:24 +0000 (19:56 +0000)]
aggregator: Expand the ‘no primary persona store’ error messages
Try and be a little more helpful.
Philip Withnall [Sun, 25 Dec 2011 11:03:02 +0000 (11:03 +0000)]
Philip Withnall [Sun, 25 Dec 2011 10:58:38 +0000 (10:58 +0000)]
eds: Ensure the default role is non-empty
If the default role is empty (e.g. because EDS returns empty strings as the
contact's title, org or role; rather than null), don't add it to the
Persona.
Helps: bgo#666540
Philip Withnall [Sun, 25 Dec 2011 10:48:14 +0000 (10:48 +0000)]
core: Warn on passing empty values to AbstractFieldDetails subclasses
There are no situations where passing an empty value (string or object) to
an AbstractFieldDetails subclass makes sense. It just introduces potential
bugs with mishandling empty strings (etc.) in code which consumes the
AbstractFieldDetails.
This commit adds warnings to all the AbstractFieldDetails subclasses’
constructors which check for empty inputs. We can't use assert()s here
because that would be an API break.
Helps: bgo#666540
Philip Withnall [Wed, 21 Dec 2011 20:09:47 +0000 (20:09 +0000)]
Bug 666540 — Segfault on empty e-mail addresses with potential match
Gracefully handle invalid e-mail addresses (such as empty strings or strings
not containing an ‘@’) when searching for potential matches.
Closes: bgo#666540
Philip Withnall [Wed, 21 Dec 2011 20:08:32 +0000 (20:08 +0000)]
eds: Ignore empty values when creating AbstractFieldDetails instances
We don't want to be passing around (e.g.) empty strings as e-mail addresses,
or we'll cause bugs like bgo#666540.
This modifies the EDS backend to check E.VCardAttribute.get_value() is not
null or the empty string whenever it's called, and skip the attribute as
appropriate.
Helps: bgo#666540
Philip Withnall [Wed, 21 Dec 2011 17:53:04 +0000 (17:53 +0000)]
Bug 666528 — Can't convert from type 'GFile' to 'gchararray'
Add pretty-printing support for a couple of new properties to folks-inspect.
Closes: bgo#666528
Philip Withnall [Wed, 21 Dec 2011 17:52:05 +0000 (17:52 +0000)]
inspect: Fix use of a deprecated NoteFieldDetails property
Henrique P. Machado [Mon, 19 Dec 2011 17:27:01 +0000 (15:27 -0200)]
Added Brazilian Portuguese translation
Kjartan Maraas [Mon, 19 Dec 2011 08:27:57 +0000 (09:27 +0100)]
Add nb
Kjartan Maraas [Mon, 19 Dec 2011 08:27:51 +0000 (09:27 +0100)]
Added Norwegian bokmål translation
Kjartan Maraas [Tue, 29 Mar 2011 12:50:16 +0000 (14:50 +0200)]
Add missing #include <config.h> to make translations work
Philip Withnall [Thu, 15 Dec 2011 18:33:26 +0000 (18:33 +0000)]
Bug 666310 — Crash in Tracker backend by unsetting an entry in a read-only…
Closes: bgo#666310
Travis Reitter [Wed, 14 Dec 2011 00:51:15 +0000 (16:51 -0800)]
Post-release version bump.
Travis Reitter [Tue, 13 Dec 2011 23:37:23 +0000 (15:37 -0800)]
Release version 0.6.6
Philip Withnall [Tue, 6 Dec 2011 15:39:25 +0000 (15:39 +0000)]
Bug 665376 — Add API to get a TpfPersona from a TpContact
Add static functions to quickly look up Tpf.PersonaStores and Tpf.Personas
from Tp.Accounts and Tp.Contacts (respectively).
Closes: bgo#665376
Philip Withnall [Tue, 6 Dec 2011 23:09:14 +0000 (23:09 +0000)]
Bug 665692 — Use constructors correctly
In order to allow libfolks to be used from introspected languages (such as
Python) properly, we need to correctly use the GObject construction process,
rather than generating code which does all object initialisation inside
a *_new() function. This involves moving lots of code into construct{} blocks.
There are some complications; mostly the need for various private variables to
now be exposed as construct-only properties. Most of them should've been
anyway.
Other complications arose from the fact that moving code to a construct{}
block can subtly change the execution order of the code if the Object() call
lists properties which are non-construct properties (e.g. the “alias” property
of a Persona). The setters for these properties will now be called _after_ the
construct{} code, whereas previously they would've been called beforehand.
This rears its head in Tpf.Persona, but hopefully nowhere else.
Closes: bgo#665692
Philip Withnall [Thu, 8 Dec 2011 16:44:51 +0000 (16:44 +0000)]
tests: Add a test case for bgo#665728
Ported from a C test case by Guillaume Desmottes
<guillaume.desmottes@collabora.co.uk>.
See: bgo#665728
Philip Withnall [Thu, 8 Dec 2011 16:21:45 +0000 (16:21 +0000)]
backends: Tidy up prepare() and unprepare() methods’ mutual exclusion
As discovered in bgo#665728, all our prepare() (and unprepare()) methods are
currently vulnerable to being run multiple times concurrently from a single
thread. Add a _pending_prepare flag to all of them to prevent this. It
doesn't need to be locked, since it should only ever be accessed from a
single thread (since only a single thread can get through the lock{}
recursive mutex at once).
Helps: bgo#665728
Philip Withnall [Thu, 8 Dec 2011 14:54:29 +0000 (14:54 +0000)]
Bug 665728 — prepare() isn't mutually exclusive inside a single thread
Fix Tpf.PersonaStore.prepare() to only run once, even if it's called multiple
times from the same thread (e.g. if the caller wasn't yielding on the async
call returning).
Closes: bgo#665728
Philip Withnall [Thu, 8 Dec 2011 14:52:33 +0000 (14:52 +0000)]
telepathy: Improve debugging messages in Tpf.PersonaStore
It's a bit hard to differentiate between different instances of
Tpf.PersonaStores at the moment, so let's include their addresses in debug
messages.
Also fix a minor whitespace issue.
Travis Reitter [Fri, 11 Nov 2011 23:42:44 +0000 (15:42 -0800)]
Fix the documented name of individuals_changed_detailed.changes
Philip Withnall [Tue, 6 Dec 2011 14:23:08 +0000 (14:23 +0000)]
Bug 665039 — Crash in folks_backends_sw_backend_add_service
Hold a reference to the Sw.Backend while waiting for a SwClient async call
to finish in prepare().
Similar changes are made in Swf.PersonaStore to avoid potential bugs there.
Closes: bgo#665039
Travis Reitter [Mon, 14 Nov 2011 22:29:21 +0000 (14:29 -0800)]
Ensure NameDetails public strings are non-null as we promise.
Closes: bug#663889 - crash due to NameDetails which fail to guarantee
non-null full-name/nickname
Mario Blättermann [Fri, 18 Nov 2011 16:46:35 +0000 (17:46 +0100)]
[l10n] Updated German translation
Travis Reitter [Tue, 15 Nov 2011 21:43:22 +0000 (13:43 -0800)]
Clear out log handlers when disposing Debug to avoid crashers.
In cases where the IndividualAggregator is destroyed and instantiated
again (as in some of our tests), we could end up calling the Debug
log handlers after destroying the Debug instance (resulting in
g_static_rec_mutex_lock/unlock calls on an invalid freed mutex,
causing a segfault).
Closes: bgo#664158 - Stale log handler can cause segfault when
re-creating Aggregator in a single run
Fran Diéguez [Mon, 14 Nov 2011 09:58:50 +0000 (10:58 +0100)]
Updated Galician translations
Travis Reitter [Fri, 11 Nov 2011 18:37:26 +0000 (10:37 -0800)]
Bump Vala and GObject Introspection requirements.
This bumps them to their first release in their current stable release
series.
This shrinks the gap between builders' build environments and what our
developers build and test with.
Travis Reitter [Fri, 11 Nov 2011 00:45:35 +0000 (16:45 -0800)]
Post-release version bump.
Travis Reitter [Thu, 10 Nov 2011 23:35:30 +0000 (15:35 -0800)]
Release version 0.6.5
Travis Reitter [Thu, 10 Nov 2011 22:51:58 +0000 (14:51 -0800)]
Fix comment syntax to unbreak documentation generation.
Philip Withnall [Wed, 21 Sep 2011 19:37:30 +0000 (20:37 +0100)]
telepathy: Fix finalisation of Tpf.Logger if it hasn't been prepared
Closes: bgo#659585
Travis Reitter [Thu, 3 Nov 2011 21:05:45 +0000 (14:05 -0700)]
Add AbstractFieldDetails.value_type.
This allows generic handling of collections of derived objects of
mixed concrete classes.
Helps: bgo#663798 - Add AbstractFieldDetails.value_type
Matej Urbančič [Thu, 10 Nov 2011 20:26:56 +0000 (21:26 +0100)]
Updated Slovenian translation
Travis Reitter [Thu, 10 Nov 2011 00:34:22 +0000 (16:34 -0800)]
Properly serialize AFD values for the Tp cache.
We were previously writing serialized Telepathy AbstractFieldDetails
values over each other in the final array, which was generally bad
and specifically crashed Gnome Shell.
This affects AFD-derived structures: phone numbers, email addresses,
and URLs.
Closes: bgo#662314 - Gnome-shell restarts if I change my user status to
disconnected/unavailable
Marek Černocký [Sun, 30 Oct 2011 23:29:03 +0000 (00:29 +0100)]
Updated Czech translation
Daniel Mustieles [Sun, 30 Oct 2011 23:04:31 +0000 (00:04 +0100)]
Updated Spanish translation
Travis Reitter [Thu, 27 Oct 2011 00:30:37 +0000 (17:30 -0700)]
Generate the same C code whether the eds backend is enabled or not.
Previously, the configure options used would alter the release tarball.
This would cause problems for anyone building from the shipped C files
(specifically, if they also disabled the eds backend, as the Debian
packagers did).
Closes: bgo#662274 - Failed to link personas: Can't link personas with
no primary store.
Travis Reitter [Thu, 27 Oct 2011 23:44:18 +0000 (16:44 -0700)]
Warn if the primary store is not found.
This includes steps for the user to fix the problem.
Helps: bgo#662274 - Failed to link personas: Can't link personas with
no primary store.
Travis Reitter [Fri, 28 Oct 2011 15:08:54 +0000 (08:08 -0700)]
Properly set primary stores for tests to exactly what's used.
Helps: bgo#662274 - Failed to link personas: Can't link personas with
no primary store.
Travis Reitter [Thu, 27 Oct 2011 00:28:56 +0000 (17:28 -0700)]
Expose the details of which backends are enabled to libfolks.
Helps: bgo#662274 - Failed to link personas: Can't link personas with
no primary store.
Raul Gutierrez Segales [Wed, 26 Oct 2011 15:16:23 +0000 (16:16 +0100)]
e-d-s: set content type on ContactPhotos
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=662616
Raul Gutierrez Segales [Wed, 26 Oct 2011 14:26:07 +0000 (15:26 +0100)]
e-d-s: load icon regardless of the mime type being available
Also, allow Edsf.MemoryIcon to be instantiated with a null
image type. The notion of the image type not being available
was half there (some comments mentioned the possibility), but
it wasn't contemplated in the constructor and in the instance
variable.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=662770
Travis Reitter [Wed, 26 Oct 2011 19:15:21 +0000 (12:15 -0700)]
docs: Add description for Folks.Utils class.
Travis Reitter [Wed, 26 Oct 2011 18:36:53 +0000 (11:36 -0700)]
docs: Add @since for MaybeBool.
Travis Reitter [Wed, 26 Oct 2011 18:35:06 +0000 (11:35 -0700)]
docs: Add a description block for the new types.
Note, however, that this is obscured in the final docs due to
bgo#662793 (valadoc ignores comment blocks on namespaces).
Travis Reitter [Wed, 26 Oct 2011 18:23:25 +0000 (11:23 -0700)]
docs: Don't build empty docs for libfolks-internal.
Piotr Drąg [Wed, 26 Oct 2011 18:19:02 +0000 (20:19 +0200)]
Updated Polish translation
Travis Reitter [Wed, 26 Oct 2011 16:58:53 +0000 (09:58 -0700)]
docs: Work around a valadoc comment-parsing issue.
Raul Gutierrez Segales [Tue, 25 Oct 2011 16:18:41 +0000 (17:18 +0100)]
e-d-s: test setting is-favourite property
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=660908
Raul Gutierrez Segales [Tue, 25 Oct 2011 16:09:01 +0000 (17:09 +0100)]
e-d-s: extend add-persona test to check for is-favourite
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=660908
Raul Gutierrez Segales [Tue, 25 Oct 2011 15:49:14 +0000 (16:49 +0100)]
e-d-s: add favourites support to EDS backend
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=660908
Philip Withnall [Mon, 24 Oct 2011 19:20:00 +0000 (20:20 +0100)]
core: Add extra debug for primary store configuration
Travis Reitter [Fri, 21 Oct 2011 23:05:30 +0000 (16:05 -0700)]
Simplify NoteFieldDetails.equal()
Travis Reitter [Fri, 21 Oct 2011 23:05:16 +0000 (16:05 -0700)]
Simplify PhoneFieldDetails.equal()
Travis Reitter [Fri, 21 Oct 2011 22:54:07 +0000 (15:54 -0700)]
Check the GLib.Type of both elements for AbstractFieldDetails.equal()
This simplifies the code for overridden equal() functions.
Travis Reitter [Fri, 21 Oct 2011 16:37:26 +0000 (09:37 -0700)]
Add AbstractFieldDetails.values_equal().
This function is lets subclasses to provide "smart" value comparisons
without needing to factor in the parameters. This is particularly
important for uses like PotententialMatches.
This clarifies the roles of AbstractFieldDetails.equal() and
parameters_equal() (both in form and documentation).
Closes: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Fri, 21 Oct 2011 15:17:41 +0000 (08:17 -0700)]
Migrate PhoneDetails to using AbstractFieldDetails.id
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:24:14 +0000 (10:24 -0700)]
Migrate RoleDetails to AbstractFieldDetails.id
Deprecate Role.uid in favor of AbstractFieldDetails.id
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Fri, 21 Oct 2011 00:11:45 +0000 (17:11 -0700)]
Guarantee all Role members are non-null.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:23:51 +0000 (10:23 -0700)]
Migrate NoteDetails to AbstractFieldDetails.id
Deprecate NoteFieldDetails.uid in favor of AbstractFieldDetails.id
NoteFieldDetails.equal() now ignores NoteFieldDetails.uid
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Fri, 21 Oct 2011 17:11:55 +0000 (10:11 -0700)]
Guarantee all NoteFieldDetails members are non-null.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.
Travis Reitter [Thu, 20 Oct 2011 17:24:40 +0000 (10:24 -0700)]
Use the most-parent equal() function when comparing postal addresses.
Helps: bgo#662433 - AbstractFieldDetails.equal() is ambiguous about
checking parameters.