David Edmundson [Fri, 7 Jan 2022 17:05:30 +0000 (17:05 +0000)]
Fix issue where newly inserted items end up in the wrong directory
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.
Normally in Dolphin, when clicking on an item to open/activate it,
it is both selected by the click and opened/activated.
Prior to this MR, the item wasn't selected when all of these
conditions were met:
- Use ActivateItemOnSingleClick also knwon as single-click mode
- Have more than one item selected already
- Click on an item that was previously not selected
Prior to this MR, the click would deselect all items and
activate the clicked item but not select it.
With this MR, the click will deselect all items, activate
the clicked item and also select it and move the anchor there.
When testing this with folders, make sure to navigate back after activating the folder. The folder should then still be selected.
This is then consistent with the behaviour when the specific
conditions mentioned above are not met.
Stefano Crocco [Tue, 1 Mar 2022 10:59:42 +0000 (11:59 +0100)]
Display Apply button in KCMs
When displaying the KCMs in another application's configuration dialog
(for example, in Konqueror), the Apply, Ok and Reset buttons aren't
shown. This issue is caused by a missing Apply flag in the call to
setButtons in the KCModule constructor.
the fact that in the call to setButtons
from the KCModule constructor, the Apply flag is missing.
Kai Uwe Broulik [Wed, 23 Feb 2022 19:27:33 +0000 (20:27 +0100)]
Ignore empty roles for textRect calculation
Avoids a text rect taller than the area that actually contains text,
as can be seen by hovering files in a folder with "additional roles"
that a given file does not contain.
Eugene Popov [Sun, 13 Feb 2022 12:16:34 +0000 (12:16 +0000)]
Fix zooming animation
Current implementation of the zooming animation is a bit buggy.
This MR fixes the following issues:
* in the Icon view mode, the icons sometimes "jump"
* in the Compact view mode, the labels sometimes are cut off
Nicolas Fella [Thu, 3 Feb 2022 23:18:00 +0000 (00:18 +0100)]
Fix opening FTP files in their preferred app
When passing an URL like ftp://foo/bar.txt OpenUrlJob opens it in the default handler for ftp urls, not the one for txt files, which would be more appropriate here
By passing along the mimetype we can change that behavior to what we want
Bharadwaj Raju [Wed, 2 Feb 2022 09:41:10 +0000 (09:41 +0000)]
Don't set ignoreMaximumSize on preview jobs for slow files
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.
Reverting this commit will fix the issue of not being able to rename
the last file in Details View and will also make the items in Details
View and Compact View have the same height.
Load service menus for settings from new file location
This is a replacement for the KServiceTypeTrader loading.
Because third parties still use the KServiceTypeTrader file location, we need to
support both for the time being.
Nate Graham [Fri, 31 Dec 2021 17:36:31 +0000 (10:36 -0700)]
Improve sudo/kdesu error message
Now that you can get elevated privileges while using the app, we can
display a more useful and descriptive error message when people try to
run Dolphin using `sudo` or `kdesu`.
Also bump the frameworks dependency to 5.90 since that's the KIO
version that includes this change, so we can be sure that the message is
always accurate.
Leo Treloar [Fri, 24 Dec 2021 06:01:36 +0000 (17:01 +1100)]
Change default value of MaximumTextLines to 3
The previous default of allowing an unlimited number of text lines to be
displayed in icon view can lead to very large, inconsistent, and
unattractive gaps between rows. Capping this by default makes things
look much neater.
Alexander Lohnau [Mon, 13 Dec 2021 16:35:56 +0000 (17:35 +0100)]
Remove deprecated call to KParts::PartBase::loadPlugins.
With https://invent.kde.org/frameworks/kparts/-/merge_requests/32 this method got deprecated,
and with https://invent.kde.org/network/konqueror/-/merge_requests/99 only the kget plugin is actually loaded.
https://invent.kde.org/network/konqueror/-/merge_requests/100 Takes care of importing the kget plugin to konqueror.
Alexander Lohnau [Thu, 11 Nov 2021 19:27:47 +0000 (20:27 +0100)]
Drop now unneeded QOverload statements
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.