<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/src/selectionmode/topbar.h, branch master</title>
<subtitle>Patched KDE Dolphin with Pixel Scaling
</subtitle>
<id>https://fiftyfourth.xyz/git/dolphin/atom?h=master</id>
<link rel='self' href='https://fiftyfourth.xyz/git/dolphin/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/'/>
<updated>2024-12-29T11:27:18Z</updated>
<entry>
<title>Have special keyboard controls in selection mode</title>
<updated>2024-12-29T11:27:18Z</updated>
<author>
<name>Felix Ernst</name>
<email>felixernst@kde.org</email>
</author>
<published>2024-12-29T11:27:18Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=3696213ccbbe27e9ef3fc85eb97dd32fd669066f'/>
<id>urn:sha1:3696213ccbbe27e9ef3fc85eb97dd32fd669066f</id>
<content type='text'>
Prior to this commit keyboard controls and behaviour of Dolphin's main
view were identical no matter if selection mode was enabled or not.
While selection mode makes it impossible to accidentally clear the
selection by singular mouse clicks, any press of an arrow key on the
keyboard would still clear the full selection which goes against
selection mode's objective.

Furthermore, keyboard-only users had no reason to ever enable selection
mode because it made no difference to them.

This commit changes this by offering a changed control scheme for key
presses while in selection mode. Arrow key presses without modifier now
only move focus between items but do no longer clear or change the
selection. Similarly, Page Up/Down, Home, and End key presses only move
keyboard focus. Enter, Return, and Space key presses now only toggle
the selection for the current item.

The above controls are however mostly unchanged when combining them
with Modifier keys like Shift or Control.

The type-ahead feature is also changed in selection mode to only move
keyboard focus without changing the selection.

This way keyboard users are less likely to clear their selection by
mistake. Regression tests are added for these selection mode controls.

The code changes to change this keyboard behaviour are quite minimal.
Most of the added code is for making selection mode accessible. That's
because we need to make sure the changed control scheme is properly
announced and communicated or a blind user will be left utterly
confused why the normal keyboard controls "stopped working".

Enabling or disabling selection mode is announced to accessibility
software. Furthermore whenever focus goes to the main view, the
selection mode state is also mentioned when active.

BUG: 458091
</content>
</entry>
<entry>
<title>Animate most of the bars</title>
<updated>2024-03-13T15:39:00Z</updated>
<author>
<name>Felix Ernst</name>
<email>felixernst@kde.org</email>
</author>
<published>2024-03-13T15:39:00Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=f588a7d48b7cef5351d8b0f030a6ec5e76229976'/>
<id>urn:sha1:f588a7d48b7cef5351d8b0f030a6ec5e76229976</id>
<content type='text'>
When a bar is toggled visible this usually happens because the
user might want to use its functionality now. However, if bars
appear without animation or at a location the user is not
currently looking at, they might not notice that they have appeared
at all.

An animation makes it more likely that the user notices the change
and can then use the newly made visible component.

Another reason for animations for showing or hiding of components
is that it can be disorienting for users when panels or bars
suddenly appear or disappear without animation. There is no visible
movement then, so the user might not know what happened if they
didn't concentrate or blink at that moment. The newly appearing or
disappearing component might also displace other components which
can make it difficult to find what one was just looking at.

These bars animate now after this change:
- Search panel
- Filter bar
- Status bar

This is implemented by extracting the animation code from
SelectionMode::TopBar into a new abstract base class
AnimatedHeightWidget. This class is now also used in
SelectionMode::BottomBar and the animating code there was removed.

These bars are left in Dolphin that stay without animation:
- Menu bar (Would probably need to be implemented in KXmlGui)
- Tool bar (Would probably need to be implemented in KXmlGui)
- Tab bar (Needs a different appraoch because it already inherits
QTabBar and therefore can not inherit AnimatedHeightWidget)
</content>
</entry>
<entry>
<title>Update my eMail to the KDE-provided one</title>
<updated>2023-06-04T16:09:42Z</updated>
<author>
<name>Felix Ernst</name>
<email>felixernst@zohomail.eu</email>
</author>
<published>2023-06-04T16:09:42Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=e5abe2c67bed7f1ca448cc94eb3abcfbe7d0da92'/>
<id>urn:sha1:e5abe2c67bed7f1ca448cc94eb3abcfbe7d0da92</id>
<content type='text'>
GIT_SILENT
NO_CHANGELOG
</content>
</entry>
<entry>
<title>Remove unused includes</title>
<updated>2022-09-26T06:17:13Z</updated>
<author>
<name>Laurent Montel</name>
<email>montel@kde.org</email>
</author>
<published>2022-09-26T06:17:13Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=e19aa49a082076d5ae69931893c1d47b98f85e30'/>
<id>urn:sha1:e19aa49a082076d5ae69931893c1d47b98f85e30</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve naming consistency and leave mode on Escape</title>
<updated>2022-08-14T14:42:40Z</updated>
<author>
<name>Felix Ernst</name>
<email>fe.a.ernst@gmail.com</email>
</author>
<published>2022-04-28T20:55:28Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=2e588733c759cccd2d86e34a3a394b9a8ab0c800'/>
<id>urn:sha1:2e588733c759cccd2d86e34a3a394b9a8ab0c800</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve code quality</title>
<updated>2022-08-14T14:42:40Z</updated>
<author>
<name>Felix Ernst</name>
<email>fe.a.ernst@gmail.com</email>
</author>
<published>2022-04-25T10:52:05Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=78cffd2979a6ed87e044fcb024cf4fdfc5c7cb3d'/>
<id>urn:sha1:78cffd2979a6ed87e044fcb024cf4fdfc5c7cb3d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Better separation of classes</title>
<updated>2022-08-14T14:42:40Z</updated>
<author>
<name>Felix Ernst</name>
<email>fe.a.ernst@gmail.com</email>
</author>
<published>2022-04-24T11:18:30Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=8e55f2c2409fd6ca9ebc66a6568f4d3bcbef7576'/>
<id>urn:sha1:8e55f2c2409fd6ca9ebc66a6568f4d3bcbef7576</id>
<content type='text'>
Make obvious when actions trigger selection mode.
</content>
</entry>
</feed>
