┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemmodelrolesupdater.cpp
AgeCommit message (Collapse)Author
2023-06-13Settings Add ViewModes > Content displayMéven Car
This does not move the settings location in files though. baby step for https://invent.kde.org/system/dolphin/-/issues/36
2023-05-26KDirectoryContentsCounter: show intermediate dir size counting results, ↵Méven Car
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.
2023-05-10Add a TODO KF6 to solve bug 464722Méven Car
CCBUG: 464722
2023-04-29KFileItemModelRolesUpdater: test isSlow in `startDirectorySizeCounting`Méven Car
NO_CHANGELOG
2023-02-15Allow empty metadata for KOverlayIconPluginAlexander Lohnau
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
2023-02-12Optimize Directory size countingMéven Car
Two changes: * Prioritise size counting for visible path * stop the worker when switching dirs
2023-02-09KFileItemModelRolesUpdater: Skip directory item count if it isSlow()Andrew Gunnerson
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]>
2023-02-05Add clang-format and format code as in FrameworksSerg Podtynnyi
2022-10-11don't use const'ref here (found by clazy)Laurent Montel
2022-10-11Use std::chrono_literalsLaurent Montel
2022-09-26Remove unused includesLaurent Montel
2022-08-15Don't include `iconOverlays` in rolesData if it is emptyKai Uwe Broulik
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.
2022-06-15Use cmakedefine01Ahmad Samir
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.
2022-06-11Fix install/load plugins from kf<version>Laurent Montel
2022-04-26Add the ability to sort by file extensionEugene Popov
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
2022-02-02Don't set ignoreMaximumSize on preview jobs for slow filesBharadwaj Raju
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.
2021-12-01Port away from deprecated KPluginLoaderAlexander Lohnau
2021-11-23KFileItemModelRolesUpdater: Generate thumbnails for visible files firstKai Uwe Broulik
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.
2021-07-04Add support for hover sequence thumbnails (via ThumbSequenceCreator)David Lerch
This shows a slideshow of thumbs when the user hovers a file item.
2021-02-20KFileItemModelRolesUpdater: Avoid refreshing items when we receive their ↵Méven Car
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.
2021-02-17Apply 1 suggestion(s) to 1 file(s)Stefan Brüns
2021-02-15[FileItemRolesUpdater] Use STL-style iterator instead of iterating a copyStefan Brüns
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`.
2021-02-15[FileItemRolesUpdater] Reserve space in two temporary listsStefan Brüns
Reserve sufficient space to avoid reallocation later. Overallocating actually requires less memory than growing and copying it, and it is freed immediately after anyway.
2021-02-15[FileItemRolesUpdater] Fix reservation sizeStefan Brüns
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.
2021-02-15[FileItemRolesUpdater] Fix calculation of requested indexesStefan Brüns
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.
2021-01-15fix folder size calculation on FUSE and network file systemsIlia Kats
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
2020-12-17fix display of folder sizes for empty foldersIlia Kats
also fixes 1 byte error in size calculation for all folders
2020-11-19Re-allow icons that are not theme iconMéven Car
Particularly concerned are .desktop files. See also: 15baa93640bbb49162f26d439e006729ee9c3441 BUG: 429113
2020-11-08Add missing referenceElvis Angelaccio
2020-11-08Iterate over a const copy list of containersIsmael Asensio
This effectively reverts the mutable iterations approach on 2448f88c5f42d7a2040fcf3bcd3c5f2a2f62cd03, and fix crashes and ghost items when using the filter bar BUG: 428374
2020-11-03FolderPanel: prevents scanning directory tree recursivelyMéven Car
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
2020-11-01make sure we use valid iconsMartin T. H. Sandsmark
2020-11-01Fix warnings about scaling pixmapsMartin T. H. Sandsmark
2020-10-24Use mutable iterators where requiredAlexander Lohnau
2020-10-23Compile without foreachAlexander Lohnau
2020-09-13Fix wreorder warningAyushmaan jangid
2020-08-25Output of licensedigger + manual cleanup afterwards.Elvis Angelaccio
Unfortunately licensedigger does not strip the trailing * characters. While at it, use a common style for all source files.
2020-06-09Provide ability to configure size cut-off for local file previewsGastón Haro
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
2020-05-04[Details mode] Allow to fill the column size of directories with actual sizeMéven Car
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
2019-11-09Remove unnecessary semicolons after Q_UNUSEDElvis Angelaccio
GIT_SILENT
2019-01-11Consti'fyLaurent Montel
2018-12-07Remove unused parameter warningShubham Jangra
2018-10-25Fix minor typosYuri Chornoivan
2018-09-11Revert "[KFileItemModelRolesUpdater] Avoid duplicate indexes to resolve"Kai Uwe Broulik
Sometimes causes the first thumbnail to not be loaded :/ This reverts commit 033eb6b3a35ca60ce78ce7ccfeeec26d70205aa8.
2018-09-11[KFileItemModelRolesUpdater] Avoid duplicate indexes to resolveKai Uwe Broulik
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
2018-09-06Make thumbnail frame-and-shadow drawing criteria match those of the file dialogNathaniel Graham
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
2018-07-11[KFileItemModelRolesUpdater] Fix preview scaling for frameless previewsKai Uwe Broulik
Follow-up to D11319 for e.g. folder previews Differential Revision: https://phabricator.kde.org/D14047
2018-04-01Use rightRef() instead of right()Elvis Angelaccio
As recommended by the clazy qstring-ref check.
2018-03-04Remove unused #includeRoman Inflianskas
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
2018-03-03Remove unused #includeRoman Inflianskas
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