┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemmodel.cpp
AgeCommit message (Collapse)Author
2024-03-08Start autoActivationTimer only if hovering over a directoryAkseli Lahtinen
Before starting autoActivationTimer, check that we're hovering the item on top of a directory. If we don't check for it, the the autoActivationTimer will try to open the hovered item in it's default application, which can be distracting and break the actual action the user was trying to do, like moving the file to a directory. BUG:479960
2024-03-07Add option to completely disable directory size countingNico Kreipke
Dolphin shows the size of directories by listing their contents, which for some users might cause unwanted load on the file system. Depending on the size of the subdirectories in question and how the storage is accessed, this might cause noticeable delays and even freezing. This commit adds a new option under "View -> Content Display" that enables users to set "Folder size:" to "No size", completely disabling directory size counting. Directory size counting is still enabled by default. As a third option for "Folder size" is added, the DirectorySizeCount boolean setting is replaced with a DirectorySizeMode enum setting. The old setting is migrated using a kconf_update script. FEATURE: 477187 GUI:
2024-02-17Improve DnD handling in read-only dirsJin Liu
1. Places panel and tabbar update drag status in read-only dir 2. Don't create drop job in readonly directories
2024-01-23Slightly refactor count resortingFelix Ernst
The bug fix 8f043b2958477d3fe2ef094b7e42f792f4cf0b02 introduced a secondary code path to trigger a resort of items. However, the previous way to trigger it only required a small bug fix to work and gives us a couple of optimisations for free. This commit removes the secondary code path and fixes the primary one. CCBUG: 473999
2024-01-22Avoid sorting too frequentlyFelix Ernst
d98037745fe6b5efbe9b145da7d20fa2f731b6a6 changed the time from 500 ms to 50 ms. This commit changes it to 100 ms. Information relevant for sorting might change repeatedly. Prior to this commit here we would resort within 50 ms of sorting being requested. If a lot of resorts would be requested in a short time frame, this could lead to the item order changing within the view up to 20 times a second which would lead to a lot of unnecessary movement and make it impossible to read even file names during the repeated sorting. 100 ms is half as bad in that regard. Bigger values might be even better but it is a trade-off.
2024-01-14DolphinView: Use SingleShot and Queued ConnectionsAmol Godbole
A minor refactor where Qt::SingleShotConnection has been utilized. Also, signal delay using QTimer has been replaced with a Qt::QueuedConnection.
2024-01-13Add setting also hide application/x-trash files when hiding hidden filesMéven Car
BUG: 475805
2023-12-26Do not rely on KIO source-code compat codeAlexander Lohnau
2023-12-15Resort directory size count after refreshingAkseli Lahtinen
After refreshing the view when size count is selected as the sortRole, count is 0 at first. When the actual count is loaded, the sorting is done according to the count being 0. This can break the sort order and cause view and model to be out of sync. Making sure we always resort all items when the directory size/item count is changed fixes this BUG:473999
2023-12-15Change resortAllItemsInterval to 50msAkseli Lahtinen
Related to https://invent.kde.org/system/dolphin/-/merge_requests/675 Reduces the delay for sorting items when something changes
2023-09-10Merge remote-tracking branch 'origin/master' into kf6Méven Car
2023-09-10Replace qAsConst with std::as_constMéven Car
2023-09-04KFileItemModel: Delay emitting currentDirectoryRemoved() signalAmol Godbole
The KCoreDirLister object is modified before KCoreDirListerCache::deleteDir() returns because the signal currentDirectoryRemoved() is emitted. This prevents removal of the deleted lister from dirData.listersCurrentlyHolding in KCoreDirListerCache::forgetDirs() when the tab is closed, which causes the crash described in the bug. Hence, the signal currentDirectoryRemoved() is delayed to ensure this does not occur. BUG: 473377
2023-08-28Clean obsolete ifdefs since dolphin requires KF 5.101+Méven Car
2023-07-05Merge branch 'master' into kf6Nicolas Fella
2023-07-05Add explicit moc includes to sources for moc-covered headersFriedrich W. H. Kossebau
* 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 & 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
2023-06-28Merge branch 'master' into kf6Méven Car
2023-06-17Hide application/x-trash files following showHidenFilesMéven Car
BUG: 3212
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-12Remove deprecated, ifdef'd code for old KIO versionsJakob Petsovits
2023-05-10Add a TODO KF6 to solve bug 464722Méven Car
CCBUG: 464722
2023-05-09Fix a bunch of Qt6/Kf6 warningsMéven Car
2023-03-16Prevent dragging on non-writable directoriesMéven Car
KFileItemModel::supportsDroppin now returns the rootItem when -1 is passed and checks for write access.
2023-02-15Consistent naming in tooltipsYuri Chornoivan
2023-02-14Add new settings for permissions column formatSerg Podtynnyi
Ability to configure column for the file/dir permissions in Numeric(Octal)/Textual/Combined style and update field display style to be right-alighed. Add toolips to column menu items BUG: 227745
2023-02-05Add clang-format and format code as in FrameworksSerg Podtynnyi
2023-02-04Add Page count and Publisher columnsSerg Podtynnyi
BUG: 374561
2022-11-29Exit the deleted directory when it is removedMéven Car
If current directory is a local file, try to find nearest dir ancestor and open it. Display warning to the user.
2022-11-28Port away from deprecated KDirLister APINicolas Fella
2022-08-21Fix sorting by file extensionEugene Popov
Folders don't have extensions
2022-05-31kfileitemmodel: sortRoleCompare: allow to sort by access time.Méven Car
We had all sorts of weird behavior when sorting by access time. The comparison was simply missing in sortRoleCompare.
2022-05-04REmove duplicate header between header/fileLaurent Montel
2022-04-26Revert "Combine modificationtime, creationtime and accesstime roles into one ↵Eugene Popov
group" This reverts commit b6640f4a135dce194242644d9d0622c0964e8f1d.
2022-04-26Eliminate remarksEugene Popov
2022-04-26Combine modificationtime, creationtime and accesstime roles into one groupEugene Popov
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-04-19Add additional Document role for "Author"Kai Uwe Broulik
It comes in handy when organizing your books collection
2022-03-15Fix some compile error against qt6Laurent Montel
2022-03-04Fix issue where newly inserted items end up in the wrong directoryDavid Edmundson
If we have directory "a" and "a/b" and expand both, then collapse "a" we tell KDirWatcher to stop watching both these directories. However, KDirWatcher keeps them in the listersCurrentlyHolding list as well as the listersCurrentlyListing list and will still notify of changes. If a new file appears in "a/b/" we will still get change notifications. When dolphin processes these changes we cannot find the relevant parent node. It then gets confused and inserts the item into the root directory from the POV of the model notifications. When we then open the relevant folder the model knows a node with that URL exists and fails to add it correctly. This can also be reproduced by continually downloading files into a subdirectory tree and rapidly expanding and collapsing folders a few levels deep.
2022-01-25Add "Dimensions" (width x height) roleKai Uwe Broulik
It is more convenient to use than individual width and height properties
2022-01-14Utilize ecm_set_deprecation_versions to exclude deprecated APIAlexander Lohnau
2022-01-13Port away from deprecated I18N*_NOOP macrosAlexander Lohnau
2021-12-13Drop now unneeded QOverload statementsAlexander Lohnau
By defining the KF_DISABLE_DEPRECATED_BEFORE_AND_AT and QT_DISABLE_DEPRECATED_BEFOREvalues, the deprecated overloads are hidden. This way we only have the un-deprecated one visible.
2021-11-28Properly display parent folders when filtering is active and items are added ↵Eduardo Cruz
or refreshed The methods slotRefreshItems(), slotItemsAdded() and slotItemsDeleted() are adapted so they are now compatible with the new behavior of filtering expanded folders achieved in ed83f37f06bd5c4b38c100503c3ad4dec2a87912. The new behavior is that expanded folders are hidden from view if neither the folder itself nor any of its contents passes the filter. Previously expanded folders would always stay visible no matter the filter. A bug where the parent expanded folder would disappear after adding or refreshing an item while filtering is also fixed. Tests are added to make sure these behavior changes won't regress. BUG: 442275 FIXED-IN: 22.04
2021-10-04Rewrite filter algorithm to properly support filtering with expanded folders ↵Eduardo Cruz
under Detail View mode. BUG: 411878 CCBUG: 442275 FIXED-IN: 21.12
2021-08-29Revert "Revert "Disable Hidden Files Last sort by default""Elvis Angelaccio
This reverts commit 272aa65bb55dd31f58e8a8e24ea7bc8bd2712daa.
2021-08-29Revert "Revert "Configurable Show hidden files and folders last toggle""Elvis Angelaccio
This reverts commit bb67def173f31819bb9a696627f9af71c7037dcd.
2021-08-29Revert "Revert "Show hidden files and folders last""Elvis Angelaccio
This reverts commit 63e12c0cdf4e3437b95b9c50e5791dbf97183687.
2021-08-29Merge branch 'release/21.08'Elvis Angelaccio