<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/src/selectionmode/topbar.cpp, branch pixelated-scaling-option</title>
<subtitle>Patched KDE Dolphin with Pixel Scaling
</subtitle>
<id>https://fiftyfourth.xyz/git/dolphin/atom?h=pixelated-scaling-option</id>
<link rel='self' href='https://fiftyfourth.xyz/git/dolphin/atom?h=pixelated-scaling-option'/>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/'/>
<updated>2026-01-22T16:18:41Z</updated>
<entry>
<title>clang-format: readability-avoid-return-with-void-value</title>
<updated>2026-01-22T16:18:41Z</updated>
<author>
<name>Méven Car</name>
<email>meven@kde.org</email>
</author>
<published>2026-01-22T16:12:15Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=e692a6a13c6dd7933a47d65046027530612a19d8'/>
<id>urn:sha1:e692a6a13c6dd7933a47d65046027530612a19d8</id>
<content type='text'>
</content>
</entry>
<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>Add explicit moc includes to sources for moc-covered headers</title>
<updated>2023-07-05T07:59:18Z</updated>
<author>
<name>Friedrich W. H. Kossebau</name>
<email>kossebau@kde.org</email>
</author>
<published>2023-07-04T20:07:48Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=ed2d352c42a6d517d4f29b3582c0e00aa34fe647'/>
<id>urn:sha1:ed2d352c42a6d517d4f29b3582c0e00aa34fe647</id>
<content type='text'>
* speeds up incremental builds as changes to a header will not always
  need the full mocs_compilation.cpp for all the target's headers rebuild,
  while having a moc file sourced into a source file only adds minor
  extra costs, due to small own code and the used headers usually
  already covered by the source file, being for the same class/struct
* seems to not slow down clean builds, due to empty mocs_compilation.cpp
  resulting in those quickly processed, while the minor extra cost of the
  sourced moc files does not outweigh that in summary.
  Measured times actually improved by some percent points.
  (ideally CMake would just skip empty mocs_compilation.cpp &amp; its object
  file one day)
* enables compiler to see all methods of a class in same compilation unit
  to do some sanity checks
* potentially more inlining in general, due to more in the compilation unit
* allows to keep using more forward declarations in the header, as with the
  moc code being sourced into the cpp file there definitions can be ensured
  and often are already for the needs of the normal class methods
</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>Add clang-format and format code as in Frameworks</title>
<updated>2023-02-05T05:45:38Z</updated>
<author>
<name>Serg Podtynnyi</name>
<email>serg@podtynnyi.com</email>
</author>
<published>2023-02-03T17:14:53Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=38c34eeca315c7be58e65d4d3fb72aaf7b866719'/>
<id>urn:sha1:38c34eeca315c7be58e65d4d3fb72aaf7b866719</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove duplicate headers between cpp/h files</title>
<updated>2022-12-20T20:54:57Z</updated>
<author>
<name>Laurent Montel</name>
<email>montel@kde.org</email>
</author>
<published>2022-12-20T20:54:57Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=7d3bf84e9dd1f8ec7a9b7becdb08866e9e1e15eb'/>
<id>urn:sha1:7d3bf84e9dd1f8ec7a9b7becdb08866e9e1e15eb</id>
<content type='text'>
</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>Trigger "Exit Selection Mode" button on clicked and not on pressed</title>
<updated>2022-09-15T14:18:44Z</updated>
<author>
<name>Felix Ernst</name>
<email>fe.a.ernst@gmail.com</email>
</author>
<published>2022-09-15T13:19:12Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=f4bed9333e927dabc9a723c1b05eac169605dc68'/>
<id>urn:sha1:f4bed9333e927dabc9a723c1b05eac169605dc68</id>
<content type='text'>
This way it works just like every other button.

This commit also removes two empty files that sneaked in by
accident.
</content>
</entry>
<entry>
<title>Address Nate's UX feedback</title>
<updated>2022-08-14T14:42:40Z</updated>
<author>
<name>Felix Ernst</name>
<email>fe.a.ernst@gmail.com</email>
</author>
<published>2022-05-05T10:54:36Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=261b741d5feb356c1fa8a8ac42397f53eb13ca75'/>
<id>urn:sha1:261b741d5feb356c1fa8a8ac42397f53eb13ca75</id>
<content type='text'>
-More labels
-More icons
-"Abort" -&gt; "Cancel"
</content>
</entry>
</feed>
