Bug 508026

Summary: Jumpy/messy presentation due to asynchronous loading in a location with lots of sub-folders
Product: [Frameworks and Libraries] frameworks-kio Reporter: Nate Graham <nate>
Component: Open/save dialogsAssignee: KIO Bugs <kio-bugs-null>
Status: REPORTED ---    
Severity: minor CC: kdelibs-bugs-null
Priority: NOR    
Version First Reported In: git master   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nate Graham 2025-08-08 19:41:16 UTC
STEPS TO REPRODUCE
1. Launch Kate
2. Ctrl+O to open
3. In the dialog, navigate to /etc, or any similar location containing many sub-folders
4. Open any file in there
5. Ctrl+O to open again


OBSERVED RESULT
The view contents load asynchronously, which is good for responsiveness, but looks messy.


EXPECTED RESULT
Multiple options here:
- Display a loading placeholder until the view has finished loading
- Be smarter about what gets shown first, so the stuff that still needs to load will be out of the view
- Be faster so the asynchronous loading doesn't look so jumpy


SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 42
KDE Plasma Version: 6.4.80
KDE Frameworks Version: 6.18.0
Qt Version: 6.9.1


ADDITIONAL INFORMATION
Seems to get worse the more sub-folders are in the view when it loads.
Comment 1 Oliver Beard 2025-08-09 13:44:09 UTC
Git commit 67365a7dde84c746d78348544f304a68dc03980e by Oliver Beard.
Committed on 08/08/2025 at 20:38.
Pushed by olib into branch 'master'.

KFileFilterCombo: Fix initial delay in applying filter in KFileWidget

KFileWidget has a delay in applying the filter through editTextChanged, but filterChanged is instant. When setFilters is called on a KFileFilterCombo, we should emit filterChanged as we setCurrentIndex(), but we don't, causing it to go through the delayed editTextChanged path.

As a result of the issue, when a file dialog (e.g. 'Save As' in Gwenview) is opened, the results are shown unfiltered until 300ms elapses and the filter is applied.

This commit ensures the filter is applied immediately by emitting the right signal.

M  +2    -0    src/filewidgets/kfilefiltercombo.cpp

https://invent.kde.org/frameworks/kio/-/commit/67365a7dde84c746d78348544f304a68dc03980e