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 606806 - unpredictable, confusing accounts popup upon clicking spinner widget beside status box
unpredictable, confusing accounts popup upon clicking spinner widget beside s...
Product: empathy
Classification: Core
Component: Contact List
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
Depends on:
Reported: 2010-01-13 03:04 UTC by Dylan McCall
Modified: 2010-07-15 13:33 UTC
See Also:
GNOME target: ---
GNOME version: ---

Patch adding popup menu to spinner widget (3.29 KB, patch)
2010-01-13 03:32 UTC, Dylan McCall
none Details | Review
New patch adding popup menu to spinner widget (4.25 KB, patch)
2010-01-13 05:14 UTC, Dylan McCall
none Details | Review

Description Dylan McCall 2010-01-13 03:04:37 UTC
In Empathy, there is a spinner widget beside the account status box. Currently, clicking this widget causes the Accounts dialog box to appear. There are some problems with this design:

 * There is no indication that the widget is clickable. (No prelight).
 * The dialog opens when the button is pressed, not when it is released. This is not consistent with the rest of GNOME.
 * The widget is often completely invisible!
 * Spinner widgets are not meant to be buttons.

However, before anyone jumps on removing this, I think there is sound logic in this design :)

The button is placed beside the button to set status, for the purpose of choosing which accounts the user is logged in to (and, therefore, that the status change impacts). I think this is a good idea, and the design should be kept somewhat intact. What needs to change is that the window which immediately appears is not expected and is very bulky for the task.

I recommend that the button be replaced with a more task-specific dropdown menu where the user can choose to disable / enable certain accounts in a single click. An option could be placed at the bottom of the menu to open the full accounts dialog to further configure accounts.
Comment 1 Dylan McCall 2010-01-13 03:32:40 UTC
Created attachment 151306 [details] [review]
Patch adding popup menu to spinner widget

This patch, based on a very recent git checkout, replaces the existing functionality of the spinner widget's button press handler. Now, a popup menu is created in all cases. This menu can be used to connect to or disconnect from accounts or to edit accounts.


It could still use some testing; this is my first time dabbling in Empathy.

We still need a new button in place of the spinner widget, perhaps which toggles between the existing spinner and something else. I was thinking of using GtkMenuToolButton, but another downwards arrow in the same place could be pretty ugly and disruptive.

In the code, I left a TODO saying that it would be nice to add an indicator in the menu for each account which is connecting or has an error of some sort. (However, it's not as easy as it should be because the checkboxes block us from using regular menu icons).

Hope this helps!
Comment 2 Dylan McCall 2010-01-13 05:14:21 UTC
Created attachment 151311 [details] [review]
New patch adding popup menu to spinner widget

I had indeed missed a detail; accounts did not reconnect after being enabled. I borrowed some code used from empathy-account-widget in libempathy-gtk, used for the same purpose, and it seems to work now. Not quite as _pretty_ as it was, but I guess behaving properly is a bit more important :)
Comment 3 Guillaume Desmottes 2010-01-13 11:52:31 UTC
Hi Dylan! Thanks a lot for your patch and interest in Empathy.

I do like the idea to be able to quickly enable/disable accounts but I'm not sure if that's the best place to do it.It's not very discoverable and I can't think of a good icon to put instead of the throbber to make it clearer.

Let's see what our usuability guys think about that.
Comment 4 Omer Akram 2010-07-15 13:33:46 UTC
In empathy 2.31.5 there is no empty space when you are connected. the throber is only shown when empathy is connecting.