Problematic behaviour regarding the focus of HdyActionRow in GtkListBox
What problem did you encounter?
In @bilelmoussaoui's Read It Later, there is a problem with the focus of the login screen.
It consists of a series of HdyActionRow in GtkListBox, which themselves have GtkEntry inside.
See the following example of two HdyActionRow
<object class="GtkListBox" id="entries_listbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="selection_mode">none</property>
<child>
<object class="HdyActionRow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="activatable">False</property>
<property name="title" translatable="yes">Instance URL</property>
<child type="action">
<object class="GtkEntry" id="instance_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="completion">entrycompletion1</property>
</object>
</child>
</object>
</child>
<child>
<object class="HdyActionRow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="title" translatable="yes">Client ID</property>
<child type="action">
<object class="GtkEntry" id="client_id_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">center</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
[...]
If HdyActionRow
has the property can_focus
set to True
, then pressing tab focuses on the row, then on the field.
If HdyActionRow
has the property can_focus
set to False
, then pressing tab does not do anything.
In what part of libhandy did you experience the problem? Note that multiple boxes may be checked.
-
build system -
documentation -
example application -
HdyActionRow -
HdyCarousel -
HdyColumn -
HdyComboRow -
HdyDialog -
HdyEnumValueObject -
HdyExpanderRow -
HdyHeaderBar -
HdyKeypad -
HdyLeaflet -
HdyPreferencesGroup -
HdyPreferencesPage -
HdyPreferencesRow -
HdyPreferencesWindow -
HdySearchBar -
HdySqueezer -
HdySwipeable -
HdySwipeGroup -
HdyTitleBar -
HdyValueObject -
HdyViewSwitcher -
HdyViewSwitcherBar -
somewhere else (please elaborate)
What is the actual behaviour?
If HdyActionRow cannot have the focus, it looks like its children cannot have the focus either.
What is the expected behaviour?
Allow HdyActionRow's children to have the focus when the row itself doesn't.
How to reproduce?
See Read It Later issue 34 for a full example of how to reproduce.
Which version did you encounter the bug in?
Libhandy version 0.0.10 (see meson.build) if I'm not mistaken, but I'm not a build system expert :)
What hardware are you running libhandy on?
-
amd64 qemu image -
Librem5 devkit -
other Lenovo T470, a good old amd64 architecture