Jan Paul Batrina [Thu, 19 Aug 2021 14:34:40 +0000 (22:34 +0800)]
FoldersPanel: Fix inline renaming
Commit 5a0da4a9c8d10dc1921077d84bdabf05d20150b0 changed the value
for emitRoleEditingFinished() to a struct containing
the new name, but folderspanel was not updated.
Andrey Butirsky [Fri, 20 Aug 2021 09:31:36 +0000 (12:31 +0300)]
DBus activation with filemanager iface
In Dolphin on wayland currently, if you right clicks a file and create a
zip file from it, Dolphin makes a new window.
What we want to happen is Dolphin to focus the window we have with the
file selected.
This patches Dolphin's dbusinterface.cpp to call
KWindowSystem::setCurrentXdgActivationToken()
with the startupID
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.
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.
Jordan Bucklin [Sat, 31 Jul 2021 19:31:49 +0000 (12:31 -0700)]
Fix how --select treats files
Previously, when passing file URLs with the --select option,
Dolphin would open the file in its corresponding application, as
well as opening an empty tab in Dolphin as if the file were a
directory. This happens specifically when trying to restore a
session.
This commit prevents Dolphin from opening a file in an application
and from opening an empty tab while passing the --select option,
and selects the URLs instead.
Felix Ernst [Sat, 31 Jul 2021 15:01:52 +0000 (17:01 +0200)]
Fix width issues when un-maximizing Dolphin
Before this commit un-maximizing or to be more precise instantly
changing the size of the window by a large amount could potentially
change the width of the sidebars, the viewContainers and the window
itself to unexpected/undesired widths.
This happened because the spacing calculation is triggered when the
primary ViewContainer is resized but at this point in time some of
the other widgets, especially the secondary ViewContainer and the
navigatorsWidget have generally not been resized yet. Therefore the
width and spacing calculations are based on partly updated and
partly outdated values leading to wrong results.
This commit makes it so calculation of spacings is delayed until
all widths have been updated.
Yes, spacing probably should not have the power to resize the
window but unfortunately the spacing can not be set to be less
forceful when taking space because otherwise the UrlNavigators
will take all space they can get with their
QSizePolicy::MinimumExpanding.
There are people who prefer the old behavior of session-restoring all
paths including the ones which are currently inaccessible. The idea is
that Dolphin is like a web browser; if a website is not currently
available, the browser tells you that instead of silently discarding the
URL and showing you the homepage. Doing this can be considered a form
of data loss.
In addition, the reason for the change was to prevent Dolphin from
showing invalid paths on launch for unmounted removable disks, but that
specific case was fixed separately by switching to ~ for any tabs/views
that were showing locations on a just-unmounted removable disk. So you
will never run into the problem if yo unmount a disk in Dolphin and then
close it.
Accordingly, let's revert the change because it causes more problems than
it resolves.
This MR removes the horizontal scrollbar of the Places panel. For titles that don't fit in the panel, their elided versions will be used (i.e., with ...).
Under some conditions, when zooming, only the size of the icon is changed, but not the entire item, which visually doesn't look good. The main idea of this MR is that when scaling the whole element should be resized, not just the icon, so I came up with some zoom levels for the main icon sizes. With this commit, zooming will resize the entire element, even if the resizing of the icon doesn't affect the size of the entire element.
This MR removes the horizontal scrollbar of the Places panel. For titles that don't fit in the panel, their elided versions will be used (i.e., with ...).
Jordan Bucklin [Sat, 17 Jul 2021 01:37:36 +0000 (18:37 -0700)]
Fix placeholder label text within an empty folder in Trash
An empty folder within the Trash bin previously had the placeholder
label "Trash is empty". This label should only appear in top-most
Trash/ url, and "Folder is empty" otherwise.
Alex Richardson [Fri, 9 Jul 2021 08:32:04 +0000 (09:32 +0100)]
Don't exit immediately if DBus isn't running
I am trying to run Dolphin on a minimal FreeBSD CHERI-RISC-V QEMU
instance and I haven't got DBus running. Without this change, KDBusService
causes dolphin to exit immediately since the default behaviour is to
exit if it can't connect to DBus.
Alex Richardson [Fri, 9 Jul 2021 08:30:58 +0000 (09:30 +0100)]
Avoid crashing on startup if DBus isn't running
I am trying to run Dolphin on a minimal FreeBSD CHERI-RISC-V QEMU
instance and I haven't got DBus running. Without this change, I get
crashes because QDBusConnection::sessionBus().interface() returns NULL
if DBus isn't running.
Alexander Lohnau [Sun, 18 Apr 2021 06:37:45 +0000 (08:37 +0200)]
Reuse KFileItemActions instance during lifetime of dolphin
With https://invent.kde.org/frameworks/kio/-/merge_requests/411 the
plugin instances can be reused during the lifetime of the
KFileItemActions object. This improves performance and also allows
the plugins to emit errors, even if they run async.
David Hurka [Sun, 6 Dec 2020 18:47:07 +0000 (18:47 +0000)]
Port to new KActionMenu popup mode API
Use KActionMenu and KToolBarPopupAction::setPopupMode()
methods instead of setDelayed() and setStickyMenu().
Are available since KF 5.77 and KF 5.78 respectively,
which is already required by Dolphin.
Mufeed Ali [Tue, 29 Jun 2021 13:52:57 +0000 (13:52 +0000)]
Show a "Loading..." placeholder text
Since a placeholder text is being used when the folder is empty, it
also makes sense to show a similar placeholder text when the view is
still loading, especially now that the status bar which previously
contained a loading indicator now disappears when a folder is loading.
Derek Christ [Fri, 18 Jun 2021 13:12:54 +0000 (15:12 +0200)]
Fix shift-action modifier in context menu
Before this patch, the shift-action modifier in context menus did not
work when a sub-context menu is open, that does not have the main
context menu as its parent.
The new fix installs an event filter on QApplication whenever a new
context menu is opened to make the context menu aware of shift-presses
even when a sub-context menu is in focus.
Ahmad Samir [Mon, 14 Jun 2021 13:14:57 +0000 (15:14 +0200)]
Fix X-DocPath entries
This way they're more correct, which means they can work with KHelpCenter
and when falling back to opening the relevant page at docs.kde.org in any
web browser.
See https://invent.kde.org/graphics/okular/-/merge_requests/441 for more
details.
Ahmad Samir [Mon, 14 Jun 2021 13:14:57 +0000 (15:14 +0200)]
Fix X-DocPath entries
This way they're more correct, which means they can work with KHelpCenter
and when falling back to opening the relevant page at docs.kde.org in any
web browser.
See https://invent.kde.org/graphics/okular/-/merge_requests/441 for more
details.
Felix Ernst [Tue, 8 Jun 2021 12:06:42 +0000 (14:06 +0200)]
Remove the filter action from the toolbar
This commit removes the "toggle_filter" action from the default
toolbar configuration. It is not quite important enough to be
always visible on the toolbar by default. Instead it is easily
accessible through the hamburger menu and the menu bar.
The filter is only really necessary if one has a lot of items in
the current location and one knows exactly how to identify a
certain item among them by the name which probably isn't how most
people browse their files.
There are also some more advanced use-cases but advanced users
will be able to either learn the keyboard shortcut or move this
action back to the toolbar.
Felix Ernst [Tue, 8 Jun 2021 11:48:41 +0000 (13:48 +0200)]
Add "Sort By" to the hamburger menu
People seem to use the "Sort By" menu often enough that it should
be available through the hamburger menu.
Before this change one could only sort the view through the right-
click context menu, using the details view mode or by using the
actions from the menu bar.
Alexander Lohnau [Sat, 29 May 2021 18:24:47 +0000 (20:24 +0200)]
Remove code path for loading deprecated VSC plugins
In case there are custom, old plugin lying around they can't be loaded
anyways, because the version does not match. In case that gets fixed one
could just port the plugin to JSON metadata.
Also the mechanism that is used is about to be deprecated.
Elvis Angelaccio [Sat, 19 Dec 2020 17:43:44 +0000 (18:43 +0100)]
Fix crash on Wayland when closing the mainwindow while another dialog is open
For some reason on Wayland `QClipboad::dataChanged` can be emitted after
the main window gets deleted. In particular this happens when closing the
main window while another dialog is open.
Since we are closing the window, we can just disconnect this signal and
prevent this crash from ever happening.