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 626560 - Unusual tabbing behaviour in Facebook account creation dialog
Unusual tabbing behaviour in Facebook account creation dialog
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: Accounts
unspecified
Other Linux
: Normal trivial
: ---
Assigned To: empathy-maint
Depends on:
Blocks:
 
 
Reported: 2010-08-10 19:10 UTC by Dylan McCall
Modified: 2010-11-22 05:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
link is unfocussed (1.47 KB, patch)
2010-11-14 23:27 UTC, Chandni Verma
reviewed Details | Review
Incremental patch (992 bytes, patch)
2010-11-16 22:29 UTC, Chandni Verma
reviewed Details | Review
patch 1 (1.47 KB, patch)
2010-11-19 15:09 UTC, Chandni Verma
reviewed Details | Review
Patch 2 (996 bytes, patch)
2010-11-19 15:09 UTC, Chandni Verma
none Details | Review
Patch 3 (1.01 KB, patch)
2010-11-19 15:11 UTC, Chandni Verma
none Details | Review

Description Dylan McCall 2010-08-10 19:10:58 UTC
In most account creation and login dialogs, one can enter a username, then press Tab and enter a password. For the Facebook account creation dialog, there is a label in between the username and password fields with a link, adding an extra item to tab through between the username and password fields.

This is a little surprising. It may be worthwhile to change that label's tab index so people can interact with the form as usual.
Comment 1 Guillaume Desmottes 2010-08-12 09:28:57 UTC
Indeed. This could be done using gtk_container_set_focus_chain()
Comment 2 Chandni Verma 2010-11-14 23:27:24 UTC
Created attachment 174465 [details] [review]
link is unfocussed

Patch attached. Please review.
Comment 3 Guillaume Desmottes 2010-11-15 09:16:27 UTC
Review of attachment 174465 [details] [review]:

::: libempathy-gtk/empathy-account-widget.c
@@ +1426,3 @@
+
+          /* Removing the label form list of focusable widgets */
+          parent = GTK_CONTAINER (gtk_widget_get_parent (label_example_fb));

You leak the returned list; you have to free it once you're done with it.
Comment 4 Chandni Verma 2010-11-16 22:29:48 UTC
Created attachment 174638 [details] [review]
Incremental patch

Here is my next commit diff for this bug.
Comment 5 Guillaume Desmottes 2010-11-17 08:12:38 UTC
Review of attachment 174638 [details] [review]:

::: libempathy-gtk/empathy-account-widget.c
@@ +1450,3 @@
           children = g_list_remove (children, label_example_fb);
           gtk_container_set_focus_chain (parent, children);
+          g_object_unref (children);

Did you test this code? A GList is not an object, you can't unref it. Use g_list_free().
Comment 6 Guillaume Desmottes 2010-11-17 08:13:27 UTC
Also, you didn't updated your remote branch.
Comment 7 Chandni Verma 2010-11-17 19:43:55 UTC
oops! corrected. Also, I have 3 patches now in a series and I have pushed the branch here: http://gitorious.org/glassrose-gnome/empathy/commits/link_unfocussed_626560
Comment 8 Chandni Verma 2010-11-19 15:09:12 UTC
Created attachment 174847 [details] [review]
patch 1
Comment 9 Chandni Verma 2010-11-19 15:09:57 UTC
Created attachment 174848 [details] [review]
Patch 2
Comment 10 Chandni Verma 2010-11-19 15:11:37 UTC
Created attachment 174849 [details] [review]
Patch 3
Comment 11 Danielle Madeley 2010-11-21 21:45:01 UTC
Review of attachment 174847 [details] [review]:

You should squash your commits together here, especially because the second one is wrong and unrequired. You can do this with `git rebase -i master` (interactive rebase).

Furthermore, when attaching a series of patches, please make them one attachment, not 3. You can create a single file of patches using `git format-patch --stdout <branchpoint> > my.diff`

::: libempathy-gtk/empathy-account-widget.c
@@ +1325,3 @@
   GtkWidget *entry_id;
+  GtkContainer *parent;
+  GList *children;

Please move these into the block in which they are used.
Comment 12 Danielle Madeley 2010-11-22 05:54:13 UTC
Fixed up on IRC, committed as http://git.gnome.org/browse/empathy/commit/?id=38f4477ad6d36bc000db7f7388266007b194c0dd