| Age | Commit message (Collapse) | Author |
|
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.
|
|
It is more convenient to use than individual width and height properties
|
|
|
|
|
|
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.
|
|
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
|
|
under Detail View mode.
BUG: 411878
CCBUG: 442275
FIXED-IN: 21.12
|
|
This reverts commit 272aa65bb55dd31f58e8a8e24ea7bc8bd2712daa.
|
|
This reverts commit bb67def173f31819bb9a696627f9af71c7037dcd.
|
|
This reverts commit 63e12c0cdf4e3437b95b9c50e5791dbf97183687.
|
|
|
|
|
|
Returns from function as soon as we encounter a decisive comparison,
while ensuring the fallbacks provide a stable sorting. Added comment
to clarify the situation.
|
|
This reverts commit 996e430b62075c5b69571f141456dbe5f2956679.
The accompanying feature to make the behavior configurable and disable
it by default was reverted in 21.08, so we need to revert the feature
itself as well and only ship it in 21.12, to avoid changing people's
setting back and forth, which is often not well-received.
|
|
This reverts commit 50149d6abb8a0a978db3c6afb5238bc42a4a89c8.
It breaks the string freeze and I don't think it can count as a bug
fix, so it breaks the feature freeze, too.
CCMAIL: [email protected]
|
|
This reverts commit fd2203bb3925edb5d657d49a706e26ea736362d2.
|
|
|
|
|
|
CCBUG: 241227
Revision: https://phabricator.kde.org/D29115
|
|
Since KIO 5.82, KCoreDirLister (the base class of KDirLister) emits a jobError()
signal when the ListJob used internally emits an error.
Drop KFileItemModelDirLister class, now redundant.
This also bump the KF version to 5.82.
|
|
Folders with equal size caused the sort operation to become unstable,
as the result of lessThan was non-deterministic.
We need the fallback mechanisms at the bottom of the function to
resovle the situation and provide a stable sort order.
This also fixes expanding the contents of a folder into the wrong
parent.
BUG: 433247
FIXED-IN: 21.08
|
|
When folders size is available and unless sort dir first is set, folders
and files can be grouped together in the regular size groups.
Without this you can end up with multiple groups being added each time a
folder size alternates with a file size.
Relates to d520b417c97bdbdfece2a497dac8b5384a80b597
|
|
|
|
Hidden files and folders are always displayed after
not hidden files.
BUG: 241227
Revision: https://phabricator.kde.org/D29115
|
|
BUG: 430095
BUG: 412902
FIXED-IN: 21.08
|
|
Before this patch when !m_sortDirsFirst and DetailsModeSettings::directorySizeCount() == true, the ordering of folders before files would be affected by the sortOrder. I.e descending order would put the folders after the files.
|
|
BUG: 433207
|
|
QMutex::Recursive is deprecated
|
|
Use KDirLister::listingDirCompleted(const QUrl &) instead of
completed(const QUrl &).
|
|
This effectively reverts the mutable iterations approach on
2448f88c5f42d7a2040fcf3bcd3c5f2a2f62cd03, and fix crashes
and ghost items when using the filter bar
BUG: 428374
|
|
|
|
|
|
|
|
|
|
It will be removed in Qt 6 without porting strategy:
https://github.com/qt/qtbase/commit/f43cb31ba00a431c6d0a0b17750483a72ae03bb0
We know that that variants will be either ints (for `count`) or longs (for `size`),
so just convert them to longs (to avoid overflows) and compare those.
|
|
This requires Qt 5.14, which we now depend on.
|
|
Unfortunately licensedigger does not strip the trailing * characters.
While at it, use a common style for all source files.
|
|
Test Plan: Sort by file size in details view.
Reviewers: #dolphin, ngraham, elvisangelaccio
Reviewed By: #dolphin, ngraham
Subscribers: kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D29424
|
|
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
|
|
QCollator (especially with Qt 5.14 and ICU 65.1) is very unhappy with
threads.
To avoid having to lock and unlock the mutex everywhere (and ensure it
is unlocked before calling other things that might lock it, etc.), we do
it as locally as possible. Even if for some reason Qt and ICU make
QCollator threadsafe in the future locking here should have minimal
impact.
BUG: 419585
Differential Revision: https://phabricator.kde.org/D28659
|
|
Summary:
Add natural sorting and case-insensitive sorting, for all role-types
that benefit from.
BUG: 406296
FIXED-IN: 19.12.2
Test Plan:
Sort by any role type specified in `isRoleValueNatural()`
Before: Sorting is always case sensitive
After: Sorting according to 'Sorting mode' in configuration.
Reviewers: #dolphin, nicolasfella, meven, elvisangelaccio, ngraham
Reviewed By: #dolphin, meven, elvisangelaccio, ngraham
Subscribers: cfeck, meven, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D25741
|
|
|
|
|
|
GIT_SILENT
|
|
|
|
Summary:
Current behavior of dolphin in sorting of files with textual columns (e.g. tags) is to show files without this particular textual column (e.g. without tags) first.
This patch changes this behavior so that dolphin shows the files with some value before the files without any value for chosen sorting method.
BUG: 410538
Test Plan:
Sorting by name (isn't affected by the patch): https://i.imgur.com/eqbYwyZ.png
Sorting by textual column ("tags" in this particular example),
old version (non-tagged files and folders come first): https://i.imgur.com/5KLLujU.png
patched version (tagged files and folders come first): https://i.imgur.com/oUAeZ2z.png
Reviewers: #dolphin, #vdg, ngraham
Reviewed By: #dolphin, #vdg, ngraham
Subscribers: elvisangelaccio, ngraham, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D23482
|
|
"Local" URLs can also be slow.
This might jeopardize loading large local directories where a resorting could take place but imho it's better than leaving the user
wondering when files will finally show up. However, it takes some time for KDirLister to initially signal items having been added,
and only then our 2 second timer starts.
Also, stop the timer when loading has completed.
Differential Revision: https://phabricator.kde.org/D23460
|
|
Summary:
All files and folders with cyrillic names are placed in latin 'A' group. This patch fixes this issue.
CCBUG: 406867
Test Plan:
Make grouping by name in the dir with cyrillic files or dirs in it.
See screenshots below.
Before {F6985465}
After {F6985459}
Reviewers: #dolphin, ngraham, cfeck, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: hein, cfeck, ngraham, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D22303
|
|
This reverts commit dc586ada63d1822fbbe38a0dd3449c73b03928e0.
D22303 had a wrong diff.
CCBUG: 406867
|
|
Summary:
All files and folders with cyrillic names are placed in latin 'A' group. This patch fixes this issue.
BUG: 406867
FIXED-IN: 19.11.80
Test Plan:
Make grouping by name in the dir with cyrillic files or dirs in it.
See screenshots below.
Before {F6985465}
After {F6985459}
Reviewers: #dolphin, ngraham, cfeck, elvisangelaccio
Reviewed By: #dolphin, ngraham, elvisangelaccio
Subscribers: hein, cfeck, ngraham, elvisangelaccio, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D22303
|