Philip Withnall [Thu, 2 Sep 2010 12:26:31 +0000 (13:26 +0100)]
Add empathy_contact_dup_best_for_action()
This takes a FolksIndividual and returns an EmpathyContact corresponding to
the FolksPersona in the Individual which is most suited to having a given
action performed on it. Helps: bgo#628338
Philip Withnall [Thu, 2 Sep 2010 09:58:41 +0000 (10:58 +0100)]
Ensure we disconnect from signals on Individuals' Personas as they're removed
EmpathyIndividualStore connects to some signals on all of the (Telepathy)
Personas in each Individual it stores. If an Individual changes its set of
Personas, some of those signals might end up never getting disconnected. This
fixes that by listening to FolksIndividual::personas-changed and disconnecting
signals as appropriate. Closes: bgo#628153
Philip Withnall [Wed, 1 Sep 2010 13:59:03 +0000 (14:59 +0100)]
Don't unnecessarily remove Individuals if Individual IDs have been reused
When linking and unlinking, it's possible for the linked Individual to have
the same ID as one of its component Individuals (before linked or once
unlinked). If two such Individuals with the same ID are added and removed at
the same time (as could [only] happen during linking or unlinking),
EmpathyIndividualManager should do the Individual removals before the
additions, in order to prevent one of the Individuals getting clobbered. Closes: bgo#627819
Philip Withnall [Wed, 1 Sep 2010 17:30:08 +0000 (18:30 +0100)]
Bug 628133 — Linking dialog's live search should copy the one from the roster
When launching a linking dialogue from EmpathyIndividualView, copy the view's
live search text to the EmpathyIndividualView in the linking dialogue. Closes: bgo#628133
Felix Kaser [Wed, 1 Sep 2010 16:19:18 +0000 (17:19 +0100)]
do not set the overridden flag when creating
when we are creating a new account we should not set the
display-name-overridden flag, since then changes in
the account details wont update the name in the accounts tree.
Philip Withnall [Wed, 1 Sep 2010 13:32:08 +0000 (14:32 +0100)]
Remove the expand groups idle handler when destroying an EmpathyIndividualView
This prevents the idle handler from being run after destruction and crashing
due to referencing the EmpathyIndividualView's private memory which has
already been freed.
Philip Withnall [Wed, 1 Sep 2010 13:13:07 +0000 (14:13 +0100)]
Bug 628106 — Groups are not expanded when reconnecting
Ensure that the list of groups to expand is cleared when going offline, so
that it can be freshly created when we come back online again. Closes: bgo#628106
Philip Withnall [Wed, 1 Sep 2010 11:59:03 +0000 (12:59 +0100)]
Ensure all persona tables are removed from EmpathyIndividualWidget
In the case that EmpathyIndividualWidget is going from showing Personas to
showing an Individual table, ensure that all persona tables are removed from
the widget, including those for Personas who're being removed from the
Individual. Closes: bgo#628481
contact: get info from the tp-contact in constructed (#628315)
Doing it in set_property is racy:
- The tp-contact property is set. We use the contact to set the capabilities
of the contact
- The "capabilities" property has not be defined so GLib sets its default
value (unknown) and so override the real capabilities of the contact.
Mike Ruprecht [Wed, 1 Sep 2010 02:35:11 +0000 (21:35 -0500)]
Fix crash in log_manager_got_chats_cb.
When the log window is opened through the contact list with the previous
conversations menu item, Empathy crashes due to there not being a currently
selected account when log_manager_got_chats_cb is called. This patch
adds a condition to check if there is a selected account before using it.
Philip Withnall [Mon, 30 Aug 2010 14:04:51 +0000 (15:04 +0100)]
Add a has-changed property to EmpathyIndividualLinker
This exposes information about whether the new Individual has changed
from the start Individual, to allow for widget sensitivities to be
changed appropriately. Helps: bgo#628320
Philip Withnall [Fri, 27 Aug 2010 14:41:50 +0000 (15:41 +0100)]
Bug 628121 — Should pick an online persona when starting a chat
Change the EmpathyIndividualMenu and EmpathyIndividualView code for starting
chats with Individuals to choose the most available Persona to chat to, rather
than just the first available one. Helps: bgo#628121
Philip Withnall [Mon, 30 Aug 2010 09:58:40 +0000 (10:58 +0100)]
Fix a logic error when expanding groups in EmpathyIndividualView
This prevents use of uninitialised memory in the second part of the
expression, and should cause groups to be added to the table of groups to
expand/contract more frequently (correctly). Helps: bgo#628106
Philip Withnall [Mon, 30 Aug 2010 09:06:03 +0000 (10:06 +0100)]
Force all toggle buttons in the linking UI to update on each toggle event
This ensures that the toggle buttons for different instances of the same
Individual in the list always display in the correct state. Closes: bgo#628123
Philip Withnall [Wed, 25 Aug 2010 18:39:19 +0000 (19:39 +0100)]
Add an EmpathyIndividualView::show-untrusted property
This allows the view to filter out untrusted Individuals (such as link-local
XMPP contacts). This is used in the linking dialogue to disallow selection
of link-local XMPP contacts for linking. Closes: bgo#627930
Travis Reitter [Thu, 26 Aug 2010 23:39:42 +0000 (16:39 -0700)]
Don't filter out Individual removal at the IndividualManager level.
The IndividualManager sometimes falsely filters out members of
FolksIndividualAggregator:individuals-changed:removed that should be passed
along to its users.