After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 650861 - Unify contact selection
Unify contact selection
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: General
2.33.x
Other Linux
: Normal enhancement
: ---
Assigned To: empathy-maint
empathy-maint
Depends on: 661981
Blocks:
 
 
Reported: 2011-05-23 13:25 UTC by Guillaume Desmottes
Modified: 2011-10-18 12:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
screenshot (276.90 KB, image/png)
2011-05-23 13:25 UTC, Guillaume Desmottes
  Details
export individual_store_add_individual_and_connect and individual_store_remove_individual_and_disconnect (1.86 KB, patch)
2011-06-01 11:40 UTC, Guillaume Desmottes
committed Details | Review
invite-participant-dialog: add temporary individuals when searching (6.16 KB, patch)
2011-06-01 11:40 UTC, Guillaume Desmottes
committed Details | Review

Description Guillaume Desmottes 2011-05-23 13:25:28 UTC
Created attachment 188379 [details]
screenshot

We have at least 3 places in our UI where user has to pick a contact:
- The new call dialog: he selects an account and enter an account ID
- The new chat/SMS dialog: idem
- The "Invite participant" dialog: he picks the contact using a subset of his contact list.

See attached screenshot.

Both methods make sense actually. Most of the time it's easier to just pick the contact but sometimes we may want to interact with a contact who is not in the contact list.

So we should have an UI allowing users to do both. This is needed for bug #650112 as we are going to display address book contacts having a phone number in the "New Call" dialog.
Comment 1 Guillaume Desmottes 2011-05-23 13:27:26 UTC
Adding the ui-review keyword as some input from the design team would be welcome.
Comment 2 Allan Day 2011-05-23 16:32:29 UTC
Using a contact list with a search box above it would seem to fit the bill.

+----------------------------+
| search                     |
+----------------------------+

+----------------------------+
| *John*                     | <- Top entry is selected by default
| Jane                       |
| Sally                      |
| Susan                      |
|                            |
|                            |
+----------------------------+

    +----------+  +----------+
    |  Cancel  |  |  Invite  | <- OR call, etc
    +----------+  +----------+


The contents of the contact list would depend on the situation, of course.
Comment 3 Guillaume Desmottes 2011-05-24 06:39:41 UTC
But how can I ask to call some phone number for example? I search for "+32111111111", no contact matches; how would Empathy offer me the option to call this number? Remember that I also need to be able to select the account used to place the call.
Comment 4 Guillaume Desmottes 2011-05-24 07:38:06 UTC
One option could be to add a new contact per account to the top of the
filtered contact list.

 +----------------------------+
 | +321111111                 |
 +----------------------------+

 +-------------------------------+
 | *+321111111* (Gmail)          |
 | *+321111111* (SIP)            |
 | *+321111111* (XMPP collabora) |
 |                               |
 |                               |
 |                               |
 |                               |
 |                               |
 +-------------------------------+

     +----------+  +----------+
     |  Cancel  |  |  Call    |
     +----------+  +----------+
Comment 5 Guillaume Desmottes 2011-05-24 07:52:29 UTC
Travis: see my comment above. How would I do that? Is it possible to request "transient" individuals in Folks to make them appear in the contact list without storing them in Folks?
Comment 6 Allan Day 2011-05-24 10:25:54 UTC
(In reply to comment #3)
> But how can I ask to call some phone number for example? I search for
> "+32111111111", no contact matches; how would Empathy offer me the option to
> call this number? Remember that I also need to be able to select the account
> used to place the call.

If there's more than one number for a contact, show it inline?

+----------------------------+
| John                       |
+----------------------------+
 
+----------------------------+
| *John*                     |
|  *+321111111 (Home)*       |
|   +321111111 (Work)        |
| Jane                       |
| Sally                      |
| Susan                      |
|                            |
|                            |
+----------------------------+
 
    +----------+  +----------+
    |  Cancel  |  |   Call   |
    +----------+  +----------+


And if someone searches for a number:

+----------------------------+
| 321                        |
+----------------------------+
 
+----------------------------+
| *John +321111111*          |
| Jane +321111436            |
| Sally +321112345           |
|                            |
|                            |
+----------------------------+
 
    +----------+  +----------+
    |  Cancel  |  |   Call   |
    +----------+  +----------+


That's just off the top of my head, of course... :)
Comment 7 Guillaume Desmottes 2011-05-25 08:01:56 UTC
The entry can be used for 2 things:
- Search for contacts (like the current live search)
- Enter the ID or phone number of a contact which is NOT in our contact list to be able to chat/call him.
Comment 8 Travis Reitter 2011-05-27 22:34:55 UTC
(In reply to comment #5)
> Travis: see my comment above. How would I do that? Is it possible to request
> "transient" individuals in Folks to make them appear in the contact list
> without storing them in Folks?

Transient Individuals are already supported (we use them in the linking dialog, to show the user what the final Individual /would/ look like, before committing to it).

What we don't support is transient Personas. (Not for any particular reason - there are a few cases where it would be nice for them to be possible. It could simplify the process of adding Personas if we do it right.)
Comment 9 Guillaume Desmottes 2011-06-01 11:40:05 UTC
Created attachment 188987 [details] [review]
export individual_store_add_individual_and_connect and individual_store_remove_individual_and_disconnect
Comment 10 Guillaume Desmottes 2011-06-01 11:40:08 UTC
Created attachment 188988 [details] [review]
invite-participant-dialog: add temporary individuals when searching
Comment 11 Guillaume Desmottes 2011-06-01 11:41:52 UTC
http://cgit.collabora.com/git/user/cassidy/empathy/log/?h=search-invite-650861

I implemented this in the "invite contact dialog" once it's merged I'll refactor the new call/chat/sms dialogs to use it as well.
Comment 12 Guillaume Desmottes 2011-06-01 13:07:49 UTC
(In reply to comment #11)
> http://cgit.collabora.com/git/user/cassidy/empathy/log/?h=search-invite-650861
> 
> I implemented this in the "invite contact dialog" once it's merged I'll
> refactor the new call/chat/sms dialogs to use it as well.

merged.
Comment 13 Guillaume Desmottes 2011-10-18 12:37:48 UTC
The call and chat dialogs have been ported; closing this bug.