Commit graph

6887 commits

Author SHA1 Message Date
Ismael Asensio ba60b6ada3 search: Prevent the search box from enlarging the view
By default, the search filters widget calculates its
`minimumSizeHint` as the sum of its components' minimum widths.

This minimum width hint will scale up the widgets hierarchy,
finally imposing a minimum width to the contents view, which
in certain conditions can take the space from the side panels.

Let's set a minimum width hint of 0, so it is the filters widget
which always adapts to the available view size instead.

BUG: 466796
FIXED-IN: 23.04
2023-03-04 10:30:41 +00:00
Alexander Lohnau f8a6aba490 Remove unneeded metadata from KCM json files
We only load them in Konqueror, there are only the name, icon and doc path used.
The ServiceTypes are only a leftover from before the json conversion

Task: https://phabricator.kde.org/T14730
2023-03-04 09:22:06 +01:00
l10n daemon script 6adbb73b99 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-03-02 02:25:05 +00:00
Méven Car 6f778005b5 Save a in-thread stat call each time the context menu is displayed 2023-02-25 11:26:25 +00:00
Heiko Becker 4cf831a54e GIT_SILENT Update Appstream for new release
(cherry picked from commit 7fa24be461)
2023-02-24 20:51:45 +01:00
Nate Graham 5a5a82a0c9 Apply 1 suggestion(s) to 1 file(s) 2023-02-23 14:44:20 +00:00
Méven Car 87fc5b4e70 Move split view settings about miscellaneous 2023-02-23 14:44:20 +00:00
Felix Ernst 543378a670 Apply suggestions 2023-02-23 14:44:20 +00:00
Méven Car 77c30bddd8 Settings: move split views options to their own group 2023-02-23 14:44:20 +00:00
Méven Car 7a682f5e9c Fix header index are colIndex and not roleIndex 2023-02-23 12:29:20 +01:00
Aleix Pol 6e7a5760b4 Fix typo in m_hoveredColumnHearderRoleIndex 2023-02-21 13:16:42 +01:00
Aleix Pol fc04c8186d Fix uninitialised value
Do not read m_hoveredColumnHearderRoleIndex before it has been
initialised.

.6  0x00007fe00632182c in QList<KFileItemModel::RoleInfo>::Node::t
(this=<optimized out>, this=<optimized out>) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:153
.7  QList<KFileItemModel::RoleInfo>::at (i=3080252, this=0x7ffdf2e9bba8)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:572
.8  DolphinView::eventFilter (this=0x5584bef25160,
watched=0x5584bef8a300, event=0x7ffdf2e9bd30) at
./src/views/dolphinview.cpp:978
.9  0x00007fe003ebbdda in
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
.10 0x00007fe004b6c782 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
.11 0x00007fe004b75411 in QApplication::notify(QObject*, QEvent*) ()
from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
.12 0x00007fe003ebc07a in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
.13 0x00007fe004b72269 in QApplication::event(QEvent*) () from
/lib/x86_64-linux-gnu/libQt5Widgets.so.5
.14 0x00007fe004b6c793 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
.15 0x00007fe003ebc07a in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
.16 0x00007fe003f14e0b in QTimerInfoList::activateTimers() () from
/lib/x86_64-linux-gnu/libQt5Core.so.5
.17 0x00007fe003f15754 in ?? () from
/lib/x86_64-linux-gnu/libQt5Core.so.5
.18 0x00007fe001d20d3b in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
.19 0x00007fe001d756c8 in ?? () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
.20 0x00007fe001d1e3e3 in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
.21 0x00007fe003f15ad8 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /lib/x86_64-linux-gnu/libQt5Core.so.5
.22 0x00007fe003eba99b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib/x86_64-linux-gnu/libQt5Core.so.5
.23 0x00007fe003ec2f34 in QCoreApplication::exec() () from
/lib/x86_64-linux-gnu/libQt5Core.so.5
.24 0x00005584bd2a9aad in main (argc=<optimized out>, argv=<optimized
out>) at ./src/main.cpp:249

BUG: 466110
2023-02-21 13:15:37 +01:00
Méven Car da7ccef488 DolphinView: Allow to have tootips on columns headers
Add events columnHovered/columnUnHovered to KItemListview and
KItemListHeaderWidget.
2023-02-18 16:01:44 +00:00
Alexander Lohnau 54f62d22b0 Allow empty metadata for KOverlayIconPlugin
We do not read the metadata anywhere, consequently we can allow empty metadata.
Consumers now don't have to provide a file and we do no spend time parsing the JSON.

Task: https://phabricator.kde.org/T14538
2023-02-15 09:36:31 +00:00
Yuri Chornoivan 6b00c8b911 Consistent naming in tooltips 2023-02-15 09:02:49 +02:00
Méven Car a34768747f Fix a disconnect warning
NO_CHANGELOG
2023-02-14 18:26:40 +01:00
Serg Podtynnyi b7fa85a33d Add new settings for permissions column format
Ability to configure column for the file/dir permissions in
Numeric(Octal)/Textual/Combined style and update field display style to be right-alighed.
Add toolips to column menu items
BUG: 227745
2023-02-14 16:40:33 +00:00
Méven Car bb686052c7
Revert "Remove deprecated ConfigurePreviewPluginDialog"
This reverts commit d8de1c37e5.
2023-02-14 17:03:43 +01:00
Méven Car 1c98a50d83
Revert "Remove deprecated KServiceTypeTrader"
This reverts commit 648c2db6e4.
2023-02-14 17:03:33 +01:00
Nicolas Fella 4fbc5302e7 Fix 'Show Target' for non-local URLs
Links are not always local files, e.g. 'remote:/zeroconf' links to 'zeroconf:/'

The current code fails there

Instead of using QFile API that does not work on non-local URLs use QUrl::resolved to resolve relative links

Furthermore, QFile::exists doesn't work for non-local URLs. Instead do a KIO stat to check whether the target exists
2023-02-14 14:54:29 +01:00
Méven Car ba930ddb36 Optimize Directory size counting
Two changes:
 * Prioritise size counting for visible path
 * stop the worker when switching dirs
2023-02-12 11:21:53 +00:00
l10n daemon script d185e21887 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-02-12 02:02:18 +00:00
l10n daemon script f885d2f1be GIT_SILENT made messages (after extraction) 2023-02-12 01:01:24 +00:00
Dāvis Mosāns 648c2db6e4 Remove deprecated KServiceTypeTrader 2023-02-10 09:44:23 +00:00
Dāvis Mosāns d8de1c37e5 Remove deprecated ConfigurePreviewPluginDialog 2023-02-10 09:44:23 +00:00
Friso Smit b168f9a98b Fix zooming for high resolution scroll wheels
BUG: 432671
2023-02-09 16:28:29 +00:00
Forest ix c57c5384fc Reveal the Backspace shortcut in the UI
Since the Back action already has two standard shortcuts, a third one appended
to the list will be invisible in the UI, which shows only the first two.  This
leaves users unable to reassign it.

We therefore make it the first shortcut in the list, so that the hidden third
entry will be the dedicated Back button, which users are far less likely to
want reassigned.

BUG: 371130
2023-02-09 11:17:26 +00:00
Andrew Gunnerson 34e0a5488e KFileItemModelRolesUpdater: Skip directory item count if it isSlow()
This makes the behavior of kernel cifs/nfs mounts the same as with kio's
smb://. It also helps reduce the chance of the UI hanging due to
opendir/readdir slowing down stat calls on the UI thread.

Signed-off-by: Andrew Gunnerson <accounts+kde@chiller3.com>
2023-02-09 09:18:35 +00:00
Alexander Volkov 24cc1483bc Avoid crash on start when help actions are restricted through the Kiosk system
This was first applied in 0ac57fbe90,
but then "reverted" in 3ccdcc2176 by
misunderstanding.
2023-02-09 09:09:21 +00:00
Serg Podtynnyi 36dfe5795f Selects next item in list after delete/trash actions
BUG: 419914
BUG: 181214
2023-02-06 10:47:49 +07:00
Serg Podtynnyi 38c34eeca3 Add clang-format and format code as in Frameworks 2023-02-05 12:45:38 +07:00
Serg Podtynnyi a9ac1f1252 Add Page count and Publisher columns
BUG: 374561
2023-02-04 22:14:46 +07:00
Davide Garberi f0d201dcf1 dolphinview: Fix right click broken on placeholderLabel
* This commit fixes the right click context menu not being shown
  whenever the click is made right on the placeholderLabel text

Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2023-02-01 10:20:09 +00:00
l10n daemon script 572f4d2e9a SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-01-30 02:05:00 +00:00
l10n daemon script 4a3ddf29f9 GIT_SILENT made messages (after extraction) 2023-01-30 01:00:43 +00:00
Heiko Becker 9eb780a288 GIT_SILENT Update Appstream for new release
(cherry picked from commit dd7a4fc0e8)
2023-01-29 23:39:25 +01:00
Bharadwaj Raju 3c48004086 Fix sudo message
We don't have KIO PolKit support yet
2023-01-29 10:46:12 +00:00
l10n daemon script e26438e3c2 GIT_SILENT made messages (after extraction) 2023-01-28 01:01:14 +00:00
Serg Podtynnyi 96323e049c Clear filter bar on clicking current folder in places
Reset the filter bar when user clicks on the current folder in places
list, also rename slot function to be more clear.

BUG: 259382
2023-01-25 18:37:55 +07:00
l10n daemon script 83964c2071 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-01-22 02:03:57 +00:00
l10n daemon script 579eadeb6d GIT_SILENT made messages (after extraction) 2023-01-22 01:00:52 +00:00
Oliver Beard 86d89c3bd1 Use both split view names in tab names
When the tab is a split view, use the name of both views rather than only the active view.
2023-01-19 22:33:10 +00:00
Willyanto Willyanto 0a0f0c76db Replace qswap with std::swap
Fixes obsolete function 'qSwap' called. It is recommended to use 'std::swap'
instead. (CWE-477)
2023-01-16 23:45:56 +07:00
Nicolas Fella 7df627a7d6 Add missing KCodecs link 2023-01-15 01:38:10 +01:00
Kai Uwe Broulik afba1fd4f3 Update split action when settings change
In case "closing split view closes active view" setting is changed
2023-01-12 17:50:21 +00:00
Felix Ernst df5cf6fe85 Adapt autotest to new expected "Space" key behaviour
The old expected behaviour was that pressing Space would select
the current item. We now trigger selection mode instead and don't
select. At some point in the future we might want to instead have
Space trigger a "QuickLook" feature for quick viewing of full
files. In any case, the old behaviour of having Space select is
no longer expected, but Ctrl+Space can still be used for this.

It might also make sense to have Space trigger the old selection
behaviour if both selection mode and "QuickLook" are disabled, but
that is very low priority and will cause more code complexity than
the non-default benefits are worth.
2023-01-11 16:11:36 +01:00
Felix Ernst 44c82a16b3 Make space shortcut for selection mode view-local instead of global
Before this commit, the "Space" keyboard shortcut was bound to
triggering selection mode by default. After this commit, pressing
"Space" will only trigger selection mode when the file view area
has keyboard focus.

Pros:
+ Other buttons in the UI can be triggered with Space once again
  just like it is expected from an accessibility point of view.
+ "Type-ahead" searching works once more when typing the space
  char for file names containing such a space char.

Cons:
- "Space" can no longer be used to add the currently underlined
  item to the selection. Instead "Ctrl+Space" needs to be used.
  (However, this is the current status anyway unless a user has
  manually unbound "Space" as a shortcut from Selection Mode.)
- The Selection Mode action will no longer show "Space" as its
  shortcut in menus.

Overall, I see solutions to all of these problems, but they seem
over-engineered for the issues they are trying to solve, so I
believe this somewhat small commit is the best solution for now.

BUG: 458282
BUG: 458281
CCBUG: 463048
FIXED-IN: 23.04
2023-01-11 15:49:20 +01:00
Fabian Vogt eab9205c31 Remove unnecessary method parameter
(cherry picked from commit ee919ea329)
2023-01-09 16:21:34 +01:00
Fabian Vogt 50b9913233 Fix size of directories if a subdir fails to open
If opening the directory fails, it returns -1 as size. Don't add that to the
parent's total size.

(cherry picked from commit a6490755ca)
2023-01-09 16:21:33 +01:00
Fabian Vogt a81b287e7a Don't recurse into symlinks when counting directory contents
Symlink contents should not be visited for the purpose of displaying sizes.
Not only is potentially misleading because the storage is actually used
elsewhere (the target location), it can be completely wrong as contents can
be visited multiple times, even recursively.

BUG: 434125
(cherry picked from commit 491068a440)
2023-01-09 16:21:31 +01:00
Felix Ernst eede574723 Fix potential nullptr de-reference
The `break` that is replaced by a `return` here would only break
out of the innermost while loop so the std::vector::end could still
become accessed after that. By returning here we completely exit
out of both nested loops and therefore don't access the
std::vector::end.
2023-01-08 15:07:16 +01:00
Albert Astals Cid 2b11166bb2 GIT_SILENT Update Appstream for new release
(cherry picked from commit 28f49e6b91)
2023-01-03 00:14:37 +01:00
l10n daemon script d11d478148 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-01-02 02:34:18 +00:00
l10n daemon script dccd8c4899 GIT_SILENT made messages (after extraction) 2023-01-02 01:08:31 +00:00
Nicolas Fella 6d21deb6e4 Properly use X11 startup ids
When one instance of Dolphin activates another it passes a startupId (X11) / activation token (wayland) along.

On X11 this is passed using the DESKTOP_STARTUP_ID environment variable. The code tries to read that through KStartupInfo::startupId().

That doesn't work though, since Qt at startup reads the environment variable afterwards. However, it is nice enough to allow us to access
it through QX11Info::nextStartupId(). Use that to read the token in the first instance and pass it to the second instance like we do on Wayland

The user-facing impact of this is minimal since KStartupInfo::setNewStartupId internally falls back to KWindowSystem::forceActiveWindow when no
startupId is passed.
2022-12-30 12:33:01 +00:00
l10n daemon script 36fda229fe SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-12-30 02:12:34 +00:00
l10n daemon script df11f2f168 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-12-28 02:03:50 +00:00
l10n daemon script 42fd1964bd GIT_SILENT made messages (after extraction) 2022-12-28 00:52:36 +00:00
Laurent Montel 2aa64b2c38 Not use forward and includes 2022-12-26 13:22:44 +01:00
Laurent Montel 7d3bf84e9d Remove duplicate headers between cpp/h files 2022-12-20 21:54:57 +01:00
ivan tkachenko a19f29f4e5
Ensure there's a dot at the end of each --help options description
It will help make --help output more uniform, which in turn will be used
in Tab-completions for zsh.
2022-12-12 21:19:41 +03:00
Kai Uwe Broulik fcdb202577 DolphinView: Add placeholder label for AFC kio
Similar to how it's special-cased for MTP
2022-11-30 13:28:53 +00:00
Heiko Becker 34167be708 GIT_SILENT Update Appstream for new release
(cherry picked from commit 37db7aeaa3)
2022-11-30 00:52:50 +01:00
Méven Car a2c9c05de2 Exit the deleted directory when it is removed
If current directory is a local file, try to find nearest dir ancestor and
open it. Display warning to the user.
2022-11-29 18:16:59 +00:00
Kai Uwe Broulik de289800b2 Places Panel: Delegate open file error to KIO
This functionality is now provided by `KFilePlacesModel` as long as
you tell it to do the teardown rather than calling into the device yourself.
2022-11-29 10:22:19 +00:00
Nicolas Fella 61de8da9ea Port away from deprecated KDirLister API 2022-11-28 09:40:22 +00:00
Shivodit Gill 1c22a23d90 Fixed build-time deprecation warning about KStandardGuiItem::yes()
While building dolphin, a warning comes up about KStandardGuiItem::yes()
being deprecated, and that another action verb should be using instead.
This commit fixes the warning by replacing KStandardGuiItem::yes() with
a KGuiItem constructor in the file src/views/dolphinview.cpp. 

The icon for the "Rename and Hide" button has also been changed from a 
check mark (dialog-ok) to an eye with a cross (view-hidden) to make the 
button look more unique and grab the attention of the user.
2022-11-25 10:58:07 +00:00
Haozhe Jiang dfe05c587b Use \r to terminate command in integrated terminal
\r should be used instead of \n

BUG: 458411
2022-11-23 17:46:00 +00:00
l10n daemon script b72f800ac4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-11-19 01:51:46 +00:00
l10n daemon script 4f1d8fef92 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-11-06 01:51:33 +00:00
l10n daemon script 5ef1136ea3 GIT_SILENT made messages (after extraction) 2022-11-06 00:49:39 +00:00
Heiko Becker 6ed5aedb20 GIT_SILENT Update Appstream for new release
(cherry picked from commit 98ec3e98a0)
2022-10-30 21:47:37 +01:00
Felix Ernst f267544472 Fix view mode-specific settings not always applying
When the current view mode is different from the view mode for
which settings were changed in Dolphin's settings dialog, those
changes were sometimes not present when then changing the view
mode of a view to the view mode for which settings were changed.

This commit fixes this by always loading the settings for all view
modes in the DolphinItemListView even if the view is currently
using only one of those view modes.
2022-10-27 09:40:03 +00:00
Felix Ernst 57cdee5951 Change the full row highlight checkbox to radiobuttons
This commit changes how the setting to switch between full row
highlight and the old way of only having the icons and names be
activatable in details mode is presented on the settings page.

Before this commit a singular checkbox is used that talks about
the highlight effect.

But the highlight effect isn't actually what users should be
interested in. They mostly care how much of the area can be used to
activate an item. To make this clear this commit uses radio buttons
instead that give a distinctive choice between activation areas.
2022-10-27 09:40:03 +00:00
Felix Ernst a4fc7b0be9 Make details column text readable
When not using the full row highlight, the text of non-name columns
in details view mode was wrongly colored in a way that pretended
that the full row selection highlight was active.

When it isn't active we use the normal color that we generally use
when the additional information is not within the selection
highlight.
2022-10-27 09:40:03 +00:00
Felix Ernst 9478f14730 Make details view mode's full row activation optional
In d383961719 the details view mode
was changed in a way that made the full row of an item the click
target instead of only having the item's icon and text be the
representative clickable area of an item.

This commit makes this new behaviour optional through a setting
which can be changed in Dolphin's settings dialog.

The explanation for introducing yet another setting in this case is
as follows:

While the introduced change is an improvement for many typical
workflows, there are some workflows for which this new behaviour
is problematic. Quite prominently a usage of Dolphin that tries
to maximise information density is made worse by the change because
now side padding is necessary to click the view's background. While
the side padding is and was optional, disabling it made switching
the active view in split view mode more difficult among other
things. For a more complete discussion about the issues, please
check out the bug report(s) and the discussion in Dolphin's gitlab
issue with number 34.

Co-authored-by: Ivan Čukić <ivan.cukic@kde.org>

BUG: 453700
FIXED-IN: 22.12
2022-10-27 09:40:03 +00:00
l10n daemon script 3333246dba SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-10-20 02:11:03 +00:00
l10n daemon script 58ff9c9cc8 GIT_SILENT made messages (after extraction) 2022-10-20 00:54:36 +00:00
Ahmad Samir 1d04d04cf3 Fix build with older KF versions
GIT_SILENT
2022-10-19 17:45:10 +02:00
Laurent Montel 3834cf786b Fix compile against qt6.4
"error C2397: conversion from 'qsizetype' to 'int' requires a narrowing
conversion"
2022-10-16 17:02:04 +02:00
Ahmad Samir 197a7f6905 Port away from deprecated KIO API 2022-10-16 13:13:55 +02:00
Ahmad Samir a0c0b43b97 DolphinTrash: port away from deprecated KIO API
Also change empty() method to return void, nothing was using the KJob * it was returning.
2022-10-16 13:13:22 +02:00
Felix Ernst 75679f628a Fix dismiss button in selection mode paste bar
This one liner changes the signal that is emitted when the
"Dismiss" button is pressed on the Paste bottom bar in selection
mode. Before this commit, the `leaveSelectionModeRequested()`
signal was used but it had no effect because technically the
selection mode isn't active anymore when the paste bar is shown.

Everything works as expected if instead
`barVisibilityChangeRequested()` is emitted.
2022-10-15 08:44:41 +00:00
Friedrich W. H. Kossebau 5be69f0dab Port away from deprecated KMessageBox Yes/No
GIT_SILENT
2022-10-15 07:18:34 +00:00
Nicolas Fella 6c19e73367 Fix Wayland window activation when attaching to an existing instance
The application launching Dolphin passes a token via the XDG_ACTIVATION_TOKEN environment variable

We need to pass that to the running instance so that it can use it to raise itself
2022-10-14 14:46:29 +00:00
Andrey Butirsky c628c9d64d fix opening new windows unnecessary
fixes a regression introduced by
https://invent.kde.org/utilities/ark/-/merge_requests/44

BUG: 440663
2022-10-12 20:04:07 +00:00
Laurent Montel 9e2418f025 Remove unused includes 2022-10-12 13:48:32 +02:00
Felix Ernst 0c8183afed Rename variable
Based on code review feedback by Andrey Butirsky.
2022-10-11 16:25:39 +02:00
Felix Ernst 37a98417cd Add helper methods to tab widget for view containers
This commit introduces the private getter
DolphinTabWidget::viewContainerAt(ViewIndex)
and another private method
DolphinTabWidget::activateViewContainerAt(ViewIndex).

Both methods return nullptr if there is no valid
DolphinViewContainer at the specified ViewIndex.
2022-10-11 15:26:31 +02:00
Felix Ernst 4d81aabd1e Fix item highlighting through DBus
Before this commit, even items that are distant children of
currently open views were considered selectable. This lead to the
bug that items meant to be highlighted through DBus would not be
highlighted if any ancestor of the item was open in any view.

This was fixed by only considering items in view if they can be
seen by scrolling. Main difficulty here was to make this also work
for the details view mode which allows expanding.

To implement this cleanly, some refactoring seemed necessary
because the logic to determine if an item is already in view
was previously intertwined with the logic to identify already open
directories.

This commit also contains the following refactorings aiming to
make the code more readable:
- A magic value (-1) is replaced using std::optional.
- A boolean trap is removed.
- A QPair is replaced by a struct with named variables.
- More and improved documentation
2022-10-11 15:26:31 +02:00
Laurent Montel 8916a647d6 don't use const'ref here (found by clazy) 2022-10-11 08:59:26 +02:00
Laurent Montel 8e0d84d0af Remove unused include 2022-10-11 08:59:19 +02:00
Laurent Montel 6b0483bf8a Use std::chrono_literals 2022-10-11 08:59:06 +02:00
Laurent Montel a490a6625b Use QStringLiteral 2022-10-11 08:58:50 +02:00
Laurent Montel a50cc58e1b Use const'ref 2022-10-11 08:58:40 +02:00
Laurent Montel bb30d8f01a Remove unused includes 2022-10-11 08:51:12 +02:00
Laurent Montel a5c0f7588a Show all includes in qtc6 2022-10-11 08:51:03 +02:00
Laurent Montel 40cc5f665d port to KIO::createDefaultJobUiDelegate 2022-10-11 08:46:12 +02:00
Heiko Becker d3617c06d4 GIT_SILENT Update Appstream for new release
(cherry picked from commit 87d846346d)
2022-10-10 21:48:22 +02:00
Marco Martin 71ea4a88d8 Replace context menu on long press with selection mode
on long touch (and not on mouse press) don't pop up the context menu
anymore but enter selection mode, similar behavior to mobile applications.
the full context menu is still available from the actions toolbar
appearing in selection mode
2022-10-08 07:02:00 +00:00