Prior to this commit pressing Tab repeatedly would bring the focus to
the end of the status bar but not further.
This commit makes sure the tab focus doesn't get stuck on the invisible tab
bar by explicitly removing the DolphinTabBar from the focus chain while it
is hidden. I don't understand why pressing Tab doesn't do anything for
the invisible tab bar, but removing an invisible and currently useless
widget from the focus chain seems sensible in any case.
Improve the accessibility autotest to prevent regressions concerning this.
Normally, the session is only saved after a few seconds. The autotest
waits for that to happen. This commit reduces the time until the session
is saved to a fraction of a seconds which means that the autotest will
complete faster.
This commit reuses our test cases for keyboard navigation to
also test the right-to-left layout direction under various conditions.
There is also a small change to make the error output more
human-readable.
While using right-to-left languages most of Dolphin is mirrored.
However, the logic of what happens when the arrow keys are pressed to
move between items in the main view was never adapted to account for
that. Basically nothing works as expected because of this. It's more
like dealing with a psychopath who misinterprets every command you give:
Left is right, right is left, up is most of the time right but sometimes
not, down is most the time left but sometimes not.
This commit fixes and adapts the logic if a right-to-left layout is used.
This fully fixes icon view mode and improves compact view mode, though
compact view mode still has more issues which aren't addressed here.
This work for the benefit of the minority that use right-to-left
languages both in Europe and the world is sponsored by NLnet and the
European Commission which I think is beautfiul.
BUG: 453933
The bug fix 8f043b2958 introduced a
secondary code path to trigger a resort of items. However, the previous
way to trigger it only required a small bug fix to work and gives us a
couple of optimisations for free. This commit removes the secondary code
path and fixes the primary one.
CCBUG: 473999
d98037745f changed the time from 500 ms to
50 ms. This commit changes it to 100 ms.
Information relevant for sorting might change repeatedly. Prior to this
commit here we would resort within 50 ms of sorting being requested. If a
lot of resorts would be requested in a short time frame, this could lead
to the item order changing within the view up to 20 times a second which
would lead to a lot of unnecessary movement and make it impossible to
read even file names during the repeated sorting.
100 ms is half as bad in that regard. Bigger values might be even better
but it is a trade-off.