For now this just includes the settings for the information panel.
Prior to this commit the options for configuring the information panel
were only exposed via right clicking the information panel. This was
not discoverable enough. Our guidelines also state that much. See:
https://community.kde.org/Get_Involved/Design/Frequently_Discussed_Topics#Context_menus_are_not_enough
The settings page is missing the "Configure" button for the entries in
the information panel, which can only be found in the context menu.
This is because I thought it would be weird to move it to the settings
page. (The "configure" button is used to select the entries for the
information panel)
BUG: 480243
FIXED-IN: 24.05
Prior to this commit the test failed because it expected a generic "inode-directory" icon for directories like "home" or "tmp" even though we have more specialised and nicer icons for these directories. I assume the test only used to pass because we were actually always using generic and therefore unhelpful icons for tabs.
This commit removes the hard-coded expectation of the "inode-directory" icon and instead compares the tab icon with the return value of KIO::iconNameForUrl(tabUrl).
The upstream Breeze variant colorizes based on the user's color scheme
which was lost when Dolphin switched to using its org.kde.dolphin icon.
BUG: 482581
FIXED-IN: 24.02.1
When a bar is toggled visible this usually happens because the
user might want to use its functionality now. However, if bars
appear without animation or at a location the user is not
currently looking at, they might not notice that they have appeared
at all.
An animation makes it more likely that the user notices the change
and can then use the newly made visible component.
Another reason for animations for showing or hiding of components
is that it can be disorienting for users when panels or bars
suddenly appear or disappear without animation. There is no visible
movement then, so the user might not know what happened if they
didn't concentrate or blink at that moment. The newly appearing or
disappearing component might also displace other components which
can make it difficult to find what one was just looking at.
These bars animate now after this change:
- Search panel
- Filter bar
- Status bar
This is implemented by extracting the animation code from
SelectionMode::TopBar into a new abstract base class
AnimatedHeightWidget. This class is now also used in
SelectionMode::BottomBar and the animating code there was removed.
These bars are left in Dolphin that stay without animation:
- Menu bar (Would probably need to be implemented in KXmlGui)
- Tool bar (Would probably need to be implemented in KXmlGui)
- Tab bar (Needs a different appraoch because it already inherits
QTabBar and therefore can not inherit AnimatedHeightWidget)
Special folders include: search, trash, recents, timeline
Not including Downloads, although we have a custom view when "remember
for each folder" is on.
Rational: These folders really need the custom view. So even if the
user selects a global view for all "normal" folders, s/he probably
still want a custom view for special folders.
QDockWidget::toggleViewAction::toggled is emitted when minimizing
the application window on X11 (https://bugreports.qt.io/browse/QTBUG-48161
potentially related). This will cause the dockwidget to be hidden when
minimizing the window.
We don't actually seem to need that connection, triggering the action
(via shortcut or menu) seems to correctly show/hide the dockwidget
without it
BUG: 481952
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
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:
KPluginMetaData (since kcoreaddons commit be10ddbf) now derives the
plugin ID from the file name and ignores the ID field. Eliminates many
runtime warnings of the form:
konqueror/kf.coreaddons KPluginMetaData::KPluginMetaData: The plugin
"/usr/lib64/plugins/kf6/parts/dolphinpart.so" explicitly states an 'Id'
in the embedded metadata. This value should be removed, the resulting
pluginId will not be affected by it
When dragging onto tabs/Places from a remote URL, we don't process
the QDropEvent immediately, but start a StatJob and process the
event when it finishes.
Also, the result of the StatJob is cached for 30 seconds, to avoid
starting duplicate jobs.
KFileItem::isDir() only works when it's created from listDir(),
or from a local QUrl. For a remote QUrl, isDir always returns
false, so we can't use that in supportsDropping().
As a workaround, now supportsDropping() always returns true in
remote dirs -- we don't check if a remote dir is writable when
dropping.
Prior to this commit, the activateSoonAnimation would not play for
folders using previews. That was because the hoverSequences of
folder previews would always take priority over the
activateSoonAnimation.
This commit prioritises the activateSoonAnimation for the quick
moments in which it is active.
This commit adds an animation for folders that makes clear that
they will open or expand soon. This is the case when the option to
open folders during drag operations is enabled and a user drags an
item on top of a folder.
The animation goes like this:
- Replace the folder's icon with the "folder-open" icon
- Go back to the folder's original icon
- Replace the folder's icon with the "folder-open" icon once more
The installed services might change while Dolphin is running, so it is
better to only search when they are actually needed instead.
The very first time such a search happens (e.g. after updating the
system), is also somewhat slow, which could slow down the very first
Dolphin startup.
This commit might also produce a very slight general startup speed
improvement. However, the measured change is within the margin of
error.