Felix Ernst [Thu, 16 Jun 2022 09:11:36 +0000 (09:11 +0000)]
Don't consider drops on a row as drops on the row's item
Since d3839617193e92463806580699caa595c892b8a6 in details view mode
clicking anywhere within the row is considered a click on the item.
That commit also changed it so that dropping files anywhere inside
a row would make it so the files are received by the folder of that
row.
This commit reverts the drop behaviour to be identical to the old
one.
I am having trouble explaining why this is better because one can
look at it in different ways. Bottom line is that one doesn't
really feel like one is dropping files inside a folder unless the
mouse cursor is actually directly above a folder's icon or name.
Another argument is that it is normal behaviour to just throw files
onto an application and the files then being opened by it.
Having potentially large parts of the view area covered by the rows
of folders means that there has to be more of a conscious effort to
not drop the files inside one of the folders by accident while with
this commit one has to aim precisely onto a folder to do it
intentionally.
Dāvis Mosāns [Sun, 12 Jun 2022 01:55:12 +0000 (02:55 +0100)]
Fix rare ToolTipManager crash on exit
If tooltips are enabled and you hover over item
while immediately closing Dolphin sometimes it would crash
because native parent might have been destroyed before
DolphinView
Marius P [Sun, 5 Jun 2022 04:36:01 +0000 (07:36 +0300)]
KItemListView fix valgrind issue "Conditional jump or move depends on uninitialised value"
KItemListView::setAlternateBackgrounds(bool) (kitemlistview.cpp:489)
In C++, a data member of an object is not automatically initialized to "zero".
In this case a bool had random values such as the integer 255.
Felix Ernst [Thu, 26 May 2022 08:38:15 +0000 (10:38 +0200)]
Remove hover highlight before opening view context menu
If one was fast to open the right-click context menu on the row of
an item in details view mode, the hover highlight would persist
while the context menu for the view was open.
This one-liner makes it so the highlight on the row is always
removed before the right-click context menu for the view is opened
so it is as clear as possible that the newly opened context menu
has no relation to the fileItem.
Felix Ernst [Tue, 24 May 2022 12:46:45 +0000 (14:46 +0200)]
Fix paste on row while in details view mode
Before this change, right-clicking the row of an unselected item
in details view mode would be in a weird state:
- It didn't really count as a click on the item because the item
didn't get selected by this click before opening the context
menu.
- It didn't really count as a click on the view background either
because the actions that showed up depended on the item in
that row.
This commit fixes this by considering a right-click in the same row
as an unselected item as a click on the view background.
The behaviour of right-clicking the icon or name of a file directly
is unchanged.
This fixes the following bugs:
- The Paste action that shows up when right-clicking in the
unselected row of a folder now works (instead of doing
nothing). It now pastes the clipboard contents onto the view
background.
- When right-clicking the unselected row of a file (not a folder)
a Paste action once again shows up.
Travis Burrows [Thu, 26 May 2022 12:38:22 +0000 (12:38 +0000)]
Extend selection rectangle to left edge
This commit changes it so the sizes of selection rectangles and hover
highlights in compact and details view mode is identical for all items.
Before this commit, selection rectangles in lists would have varying
indentation of the left edge of the selection rectangle depending on
the preview image's width-to-height ratio. This would cause a sort of
"ragged edge" in both compact and details list view when multiple items
were selected.
This commit doesn't change anything about icon view mode.
fix: service-menu-installer ignoring symlinks on un-install
service-menu-installer ignores <package-name>.tar.gz-dir/uninstall.sh
if this is actualy just a symbolic link to install.sh in the same directory
(hardlinks and copies work)
canonicalPath() is used to get the name of the file on disk and returns install.sh
in the case of a symbolic link. install.sh without any arguments is called instead
of uninstall.sh consequently and no de-installation takes place.
replace canonicalPath() with absolutePath() as used in the rest of source file
In KF6 KMoreTools should become it's own library and thus the KNS3 prefix should get removed.
Considering that the classes are not in any namespace, having a namespaced include is not needed and only causes noise.
oioi 555 [Mon, 2 May 2022 20:25:24 +0000 (20:25 +0000)]
Re-add "Open Terminal Here" feature
This is equivalent to the "Open Terminal Here" feature that existed until Version 20.12.
If the user has selected folders, replace "Open Terminal" in the context menu with "Open Terminal Here".
When more than 5 folders are selected, a modal window will ask the user if they are sure they want to
open all 6 or more terminal windows.
In Detail View, users can also select a file,
which will open a terminal at the location of that file.
Felix Ernst [Wed, 27 Apr 2022 10:40:40 +0000 (10:40 +0000)]
Fix terminal panel not keeping up with dir changes
The terminal panel is supposed to show the same location as the
currently active Dolphin view at all times.
However there was an issue when the terminal is supposed to
quickly switch to a new location and then back again to the old
one. The terminal ignored the switch to the old location unless it
had already fully switched to the new location. Because it isn't
particularly fast at fully switching to the new location, it would
never do the expected thing of switching back to the old location.
This commit makes it so the switch to the old location is only
ignored if there are no in-progress switches to a different
location.
BUG: 391380
BUG: 416690
FIXED-IN: 22.04.2
Not totally sure if this fixes everything but it seems like an improvement.
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.
Felix Ernst [Wed, 20 Apr 2022 21:44:05 +0000 (21:44 +0000)]
Don't deselect on Ctrl+Right-Click
(Part of my work towards !273)
Currently, when items are selected and a user right-clicks a selected item
while having the Ctrl key pressed down, the item is first
deselected and then a context menu is opened that doesn't involve
the item that was just deselected.
This is slightly confusing because normally one right-clicks an
item to see its context menu. Right-click being able to deselect
an item seems like unintended functionality in the first place but
in this scenario it also means that the intended opening of a
context menu for the pressed item doesn't even happen.
There is a good chance that nobody is even aware of this behaviour
because the normal way to deselect an item would be to
Ctrl+Left-Click if anything. Why would someone choose to open a
context menu and deselect items in a single step? Why would they
have selected an item they don't want to open a context menu for in
the first place?
Because of a discussion in this merge request deselecting on Ctrl+Middle-Click was also
removed for consistency with Ctrl+Right-Click and
Ctrl+Shift+Middle-Click.
This commit also makes a later implementation of a selection mode
more straightforward.