| Age | Commit message (Collapse) | Author |
|
This does not move the settings location in files though.
baby step for https://invent.kde.org/system/dolphin/-/issues/36
|
|
improve stopping, improve data caching
Two user visible changes:
* we can see the dir size changing as it is updated.
* This makes the file counting a lot more reactive, when changing directories for instance.
`KDirectoryContentsCounterWorker::walkDir` is not recursive anymore.
The cache is now shared and only a single thread is used to count size recursively.
|
|
CCBUG: 464722
|
|
NO_CHANGELOG
|
|
We do not read the metadata anywhere, consequently we can allow empty metadata.
Consumers now don't have to provide a file and we do no spend time parsing the JSON.
Task: https://phabricator.kde.org/T14538
|
|
Two changes:
* Prioritise size counting for visible path
* stop the worker when switching dirs
|
|
This makes the behavior of kernel cifs/nfs mounts the same as with kio's
smb://. It also helps reduce the chance of the UI hanging due to
opendir/readdir slowing down stat calls on the UI thread.
Signed-off-by: Andrew Gunnerson <[email protected]>
|
|
|
|
|
|
|
|
|
|
If this role isn't in the model yet, it would be `QVariant::Invalid`
which is obviously a distinct type from an empty string list.
This means `KFileItemModel::setData` treats them non-equal and
potentially does expensive operations on the model, which is
called every time a role is resolved in `KFileItemModelRolesUpdater`.
With this change, the number of pointless layout calculations is
significantly reduced.
|
|
This way we get a build time warning if the var isn't defined at all, e.g.
a missing check_include_files() CMake call.
|
|
|
|
Currently, Dolphin doesn't have the ability to sort by file extension (sorting by type means that files will be sorted by mimetype but not by extension). This MR fixes this shortcoming.
BUG: 429579
|
|
With this change (plus https://invent.kde.org/frameworks/kio/-/merge_requests/702), slow files will be treated as remote files for generating previews. This should make browsing local mounts of remote locations smoother.
|
|
|
|
Folder thumbnails are not cached as we cannot know whether something
inside a folder changed. Moreover, they are also a collage of several
files and might even traverse into subdirectories. This takes time.
|
|
This shows a slideshow of thumbs when the user hovers a file item.
|
|
content count
It concerns the detail view.
It can cause multiple preview to be generated for the same file.
This is visible for directories whose icons use a random value for their inner files thumbnails.
Only the view needs to be updated for this model change.
|
|
|
|
QSet<T>::erase(it) is the save way of erasing from a QSet while iterating
it. This saves creating a copy of the QSet, lookup of a node by value in
`QSet<T>::remove(item)`, and repeated rehashing caused by `remove`.
|
|
Reserve sufficient space to avoid reallocation later. Overallocating
actually requires less memory than growing and copying it, and it
is freed immediately after anyway.
|
|
The code below always adds the visible range, up to 5 pages before and
after the visible range (each capped to ResolveAllItemsLimit/2) and
the very first and last page (each up to m_maximumVisibleItems).
Use this number to avoid growing the list later.
|
|
In case the last and/or first page (a page being n=m_maximumVisibleItems
items) overlapped the already inserted items, one item for each range
would be inserted a second time, e.g. for the first page and last page:
`beginExtendedVisibleRange == 0` => `endFirstPage := 0` => `0 <= 0` is
inserted again.
`count == 100; endExtendedVisibleRange == 99; m_maximumVisibleItems == 20`
=> `beginLastPage := 99` => `99 < 100` is inserted again.
|
|
KFileItem::isSlow uses hardcoded logic that returns true if the
filesystem is Smb or Nfs. However,
KFileSystemType::determineFileSystemTypeImpl on Linux returns Nfs also
if the file system in question is a FUSE file system, which includes
NTFS, sshfs, and others.
BUG: 430778
BUG: 431106
|
|
also fixes 1 byte error in size calculation for all folders
|
|
Particularly concerned are .desktop files.
See also:
15baa93640bbb49162f26d439e006729ee9c3441
BUG: 429113
|
|
|
|
This effectively reverts the mutable iterations approach on
2448f88c5f42d7a2040fcf3bcd3c5f2a2f62cd03, and fix crashes
and ghost items when using the filter bar
BUG: 428374
|
|
KFileItemListView contents are periodically scanned by KFileItemModelRolesUpdater.
It uses then KDirectoryContentsCounter to scan directories to determine their size possibly recursively.
Introduce a scanDirectories setting to disable directory scanning by KFileItemModelRolesUpdater.
BUG: 426617
FIXED-IN: 20.08.3
|
|
|
|
|
|
|
|
|
|
|
|
Unfortunately licensedigger does not strip the trailing * characters.
While at it, use a common style for all source files.
|
|
Summary:
FileWidgets read from kdeglobals the property "MaximumSize" under "PreviewSettings" to decide if a preview will be generated for that file.
There is no current GUI to change that file size limit. On the other hand Dolphin ignores it.
This patch aims to fix that by adding new configuration options to Dolphin. That is a new spinbox in Dolphin settings under General -> Previews tab.
Test Plan:
1 - Set up a local folder with 2 jpg images of less and more than 1 MB respectively.
2 - Go to Dolphin Preferences. General -> Previews and check "JPEG Images" from
the list. And set "Skip previews for files above:" to 1MB.
3 - Navigate to the afore mentioned folder. Only the image of size less than 1 MB should
show a preview.
BUG: 331240
Reviewers: ngraham, #dolphin, meven, elvisangelaccio
Reviewed By: ngraham, #dolphin, meven, elvisangelaccio
Subscribers: cfeck, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D28402
|
|
Summary:
Allow to compute the recursive size of directories to fill the details view size column.
A setting allow to set a limit to the recursive level, allowing the user to have some power over the setting.
When sorting by size and the feature is on, we get progressive ordering as the directory size are gathered.
KDirectoryContentsCounter uses a cache internally to keep results so that it can display directory size faster, but counts the dir size of directories each time it is asked to count the size a directory nevertheless and when the size has changed, it is updated.
KDirectoryContentsCounter uses one worker per instance only, meaning one process per view makes the disk spin.
FIXED-IN: 20.08
BUG: 190580
BUG: 158090
Test Plan:
With some recursion allowed:
{F8267580}
Without any recursion allowed (default):
{F8267581}
Reviewers: elvisangelaccio, ngraham, #dolphin
Reviewed By: elvisangelaccio, ngraham, #dolphin
Subscribers: feverfew, anthonyfieroni, iasensio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D25335
|
|
GIT_SILENT
|
|
|
|
|
|
|
|
Sometimes causes the first thumbnail to not be loaded :/
This reverts commit 033eb6b3a35ca60ce78ce7ccfeeec26d70205aa8.
|
|
This avoids requesting a thumbnail twice for certain files, typically the first or last one in a folder.
Differential Revision: https://phabricator.kde.org/D15404
|
|
Summary:
KIO's file dialog already has logic to avoid drawing frames around images detected as likely to be icons, which is improved with D15071. Since Dolphin doesn't use KIO for any of this (boo) we have to pull it over here too; this patch brings the same feature to Dolphin, as well as the feature to disable frames and shadows for all thumbnails at very small sizes, which improves clarity.
With this patch, Dolphin's frame drawing behavior becomes consistent with that of the file dialog (as of D15071).
BUG: 295526
FIXED-IN: 18.12.0
Test Plan:
Icons no longer have frames:
{F6214279}
Images without transparency still have frames:
{F6214280}
Nicer presentation for folders with mixed image types (images without transparency get frames; images without it don't):
{F6214278}
At small sizes, thumbnail clarity is improved by omitting the frame and shadow. Before:
{F6214296}
After:
{F6214294}
Reviewers: #dolphin, broulik, elvisangelaccio
Reviewed By: #dolphin, broulik, elvisangelaccio
Subscribers: markg, anthonyfieroni, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D15069
|
|
Follow-up to D11319 for e.g. folder previews
Differential Revision: https://phabricator.kde.org/D14047
|
|
As recommended by the clazy qstring-ref check.
|
|
Summary: I used CLion inspection to hunt all unused #include
Reviewers: #dolphin, elvisangelaccio, markg
Reviewed By: #dolphin, elvisangelaccio, markg
Subscribers: bcooksley, markg, elvisangelaccio, #dolphin
Differential Revision: https://phabricator.kde.org/D10985
|
|
Summary: I used CLion inspection to hunt all unused #include
Reviewers: #dolphin, elvisangelaccio, markg
Reviewed By: #dolphin, elvisangelaccio, markg
Subscribers: markg, elvisangelaccio, #dolphin
Differential Revision: https://phabricator.kde.org/D10985
|