<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/src/tests/kitemlistkeyboardsearchmanagertest.cpp, 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>2025-11-10T08:38:31Z</updated>
<entry>
<title>dolphin: improve keyboard search behavior for repeated characters</title>
<updated>2025-11-10T08:38:31Z</updated>
<author>
<name>weinan li</name>
<email>liweinan@kylinos.cn</email>
</author>
<published>2025-11-10T08:38:31Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=3858afbfa4f2f60cc33f39a471d36a1e1a3514c7'/>
<id>urn:sha1:3858afbfa4f2f60cc33f39a471d36a1e1a3514c7</id>
<content type='text'>
The original keyboard search implementation had a limitation when dealing with files containing repeated characters like 44.txt. When typing 44, it would trigger rapid navigation to the next item starting with 4 instead of matching the full string 44.

This patch introduces a smarter search strategy:
1. First attempt full string matching for exact file names
2. If full match fails and user is typing repeating characters, fall back to rapid navigation using either:
   - Last successful search string (for extended searches like 444 -&gt; 4444)
   - First character only (original rapid navigation behavior)

The changes include:
- Modified changeCurrentItem signal to include a found parameter for search result feedback
- Added m_lastSuccessfulSearch to track successful searches for better fallback behavior
- Used Qt::DirectConnection to ensure synchronous execution for immediate result feedback

This provides better user experience when searching for files with repeated characters while maintaining the rapid navigation feature for quick browsing.

BUG: 501851
</content>
</entry>
<entry>
<title>kitemlistkeyboardsearchmanager: smarter search start position</title>
<updated>2025-02-22T22:26:57Z</updated>
<author>
<name>Yifan Zhu</name>
<email>fanzhuyifan@gmail.com</email>
</author>
<published>2025-02-20T18:35:06Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=b4dedc0d0df2c8b191192476d7787630180e51c7'/>
<id>urn:sha1:b4dedc0d0df2c8b191192476d7787630180e51c7</id>
<content type='text'>
Search from the next position for new search and special repeated key search.
Otherwise search from the current position, which is current selected item if
something is selected or in selection mode, and 0 (the beginning) otherwise.

Test plan:
- create directory with files ab1, ab2, and ab3
- click ab2, and press escape to deselect
- type ab; verify that ab1 is selected
- wait a while, type ab again, verify that ab2 is selected
- wait a while, type ab again, verify that ab3 is selected
- click ab1, type ab, verify that ab2 is selected

BUG: 422951
</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>Enable test mode in all test</title>
<updated>2021-03-13T16:18:53Z</updated>
<author>
<name>Elvis Angelaccio</name>
<email>elvis.angelaccio@kde.org</email>
</author>
<published>2021-03-13T16:18:53Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=ffb80cb00d8fd886051f970b5155a55b1d066fcd'/>
<id>urn:sha1:ffb80cb00d8fd886051f970b5155a55b1d066fcd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Build with QT_NO_KEYWORDS</title>
<updated>2021-02-09T20:39:50Z</updated>
<author>
<name>Nicolas Fella</name>
<email>nicolas.fella@gmx.de</email>
</author>
<published>2021-02-08T22:09:59Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=f65b0899c3666561cafac14f67ab0bb8a5bfa00a'/>
<id>urn:sha1:f65b0899c3666561cafac14f67ab0bb8a5bfa00a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Output of licensedigger + manual cleanup afterwards.</title>
<updated>2020-08-25T17:07:38Z</updated>
<author>
<name>Elvis Angelaccio</name>
<email>elvis.angelaccio@kde.org</email>
</author>
<published>2020-08-25T17:07:38Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=954e8c47906c12edaaf6e6aebdd41516eceb0d44'/>
<id>urn:sha1:954e8c47906c12edaaf6e6aebdd41516eceb0d44</id>
<content type='text'>
Unfortunately licensedigger does not strip the trailing * characters.
While at it, use a common style for all source files.
</content>
</entry>
<entry>
<title>When the selection is deselected, restart the keyboard search from the beginning</title>
<updated>2019-10-26T10:53:34Z</updated>
<author>
<name>Méven Car</name>
<email>meven29@gmail.com</email>
</author>
<published>2019-10-26T10:53:04Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=a5ce798f282b6cf9e153bba89f9caea0cec37da0'/>
<id>urn:sha1:a5ce798f282b6cf9e153bba89f9caea0cec37da0</id>
<content type='text'>
Summary:
BUG: 411538
FIXED-IN: 19.12

Test Plan:
Open a directory with 3 files starting with the same letter.
1. Press this letter key twice
2. The second file is selected
3. Deselect the file with the mouse or using Esc
4. Wait 1 second
5. Press the same key again

Before:
The third file gets selected

After:
The first file get selected

ctest

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, elvisangelaccio, ngraham

Subscribers: ngraham, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D23716
</content>
</entry>
<entry>
<title>Port QSignalSpy to new signal syntax</title>
<updated>2018-02-03T19:46:08Z</updated>
<author>
<name>Elvis Angelaccio</name>
<email>elvis.angelaccio@kde.org</email>
</author>
<published>2018-02-03T19:46:08Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=cef4d96cc6ed30284815320b1f7ddb59f201589e'/>
<id>urn:sha1:cef4d96cc6ed30284815320b1f7ddb59f201589e</id>
<content type='text'>
More compile-time safety. Tests still pass.

This also fixes a krazy warning about "normalised signal/slot
signatures".
</content>
</entry>
<entry>
<title>Use QT_GUILESS_MAIN</title>
<updated>2015-02-26T18:54:52Z</updated>
<author>
<name>Heiko Becker</name>
<email>heirecka@exherbo.org</email>
</author>
<published>2015-02-26T14:36:51Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=d452a56ce1d8671883bdc2e24bb6b58483e98166'/>
<id>urn:sha1:d452a56ce1d8671883bdc2e24bb6b58483e98166</id>
<content type='text'>
REVIEW: 122730
</content>
</entry>
<entry>
<title>Fix compilation with Qt 5.2 and 5.3; QSignalSpy can't take a function pointer yet</title>
<updated>2014-12-24T07:49:47Z</updated>
<author>
<name>David Faure</name>
<email>faure@kde.org</email>
</author>
<published>2014-12-24T07:49:47Z</published>
<link rel='alternate' type='text/html' href='https://fiftyfourth.xyz/git/dolphin/commit/?id=7c695cd709aff2cc7cc5d36784ac53ad7b6435cf'/>
<id>urn:sha1:7c695cd709aff2cc7cc5d36784ac53ad7b6435cf</id>
<content type='text'>
</content>
</entry>
</feed>
