Commit graph

7035 commits

Author SHA1 Message Date
Méven Car 629a5d44dd
Add a TODO KF6 to solve bug 464722
CCBUG: 464722
2023-05-10 16:41:30 +02:00
Méven Car ac1f8131f9 Fix a typo, take 2 2023-05-09 12:11:21 +02:00
Méven Car 2b877de270 Fix a typo 2023-05-09 11:20:34 +02:00
Heiko Becker c3fb0dc15b Fix build without KF5Activities 2023-05-09 08:49:28 +00:00
Méven Car 5887d1d852 Fix a bunch of Qt6/Kf6 warnings 2023-05-09 10:30:14 +02:00
Méven Car d6da4a903f Fix dolphinvcs_export.h export path 2023-05-09 10:11:54 +02:00
Méven Car d2092ed444 Fix for KUserFeedbackQt6 includes 2023-05-09 09:34:38 +02:00
Méven Car 468df35149 Fix for KUserFeedbackQt6 includes 2023-05-09 09:24:46 +02:00
Méven Car 0a581f97be Ensure good export of dolphinvcs headers 2023-05-09 09:24:19 +02:00
Méven Car 863ee3a87c Merge branch 'master' into kf6 2023-05-08 17:46:51 +02:00
Méven Car 69f6b9b78b Revert "partially Improve kuserfeedback import"
This reverts commit 047bf33d90.
2023-05-08 17:43:48 +02:00
Méven Car 047bf33d90 Improve kuserfeedback import 2023-05-08 16:23:15 +02:00
Méven Car 76e3eab6ea
Port to Qt6 2023-05-07 18:32:17 +02:00
Heiko Becker 26808a188c GIT_SILENT Update Appstream for new release
(cherry picked from commit 3fb0380fd4)
2023-05-06 10:10:17 +02:00
Méven Car 47e4c64e6a KFileItemModelRolesUpdater: test isSlow in startDirectorySizeCounting
NO_CHANGELOG
2023-04-29 10:47:40 +00:00
Méven Car 4e6939e1f5 Fix test regression in DolphinMainWindowTest::testGoActions 2023-04-25 16:14:29 +00:00
Felix Ernst 64ae87f402 Revert "Adapt autotest to new expected "Space" key behaviour"
This reverts commit df5cf6fe85.

The autotest was orginally changed to adapt to new behaviour when
the Space key is pressed. This change used to be implemented in
KItemListController which meant that the KItemListControllerTest
needed changing, but this is no longer the case.
Instead the new behaviour when the Space key is pressed is now
implemented further up the hierarchy, so the KItemListController
change could be reverted in
7b6a67e520 and as such we can also
revert this autotest change.
2023-04-25 15:19:09 +02:00
Eugene Popov 7b6a67e520 Fix activating the Selection Mode with a keyboard shortcut
If a spacebar is used as a keyboard shortcut to activate the Selection Mode, then allow this shortcut to be triggered only if the view has a keyboard focus.

BUG: 465489
2023-04-25 13:05:39 +00:00
Eugene Popov 215923b33f Add DolphinTabPage::inactiveViewContainer() 2023-04-23 09:33:09 +00:00
Eugene Popov 78a3cd3e4b Improve copying and moving items between panels
Currently, copying the selected items between panels is performed by the active panel, which is wrong, because the inactive panel cannot select the copied items after the operation is completed (as it happens when drag'n'dropping or copying using keyboard shortcuts).
2023-04-23 09:33:09 +00:00
Eugene Popov 6fd77a96b4 FilterBar: improve keyboard behavior and tab ordering
With this MR, when the filterbar has the keyboard focus:
- pressing the Tab key moves the keyboard focus to the view
- pressing the Down, PageDown, Up and PageUp keys moves the focus to the view and emulate pressing the same key in it (you can navigate directly from the filterbar)
2023-04-22 17:09:31 +00:00
Méven Car c9217337c7 TerminalPanel: rename currentWorkingDirectoryIsParentOf to currentWorkingDirectoryIsChildOf
NO_CHANGELOG
2023-04-22 09:33:01 +02:00
Méven Car a654b8dae6 TerminalPanel: better check if terminal needs to change its currentWorkingDirectory when unmounting
CCBUG: 467403
2023-04-21 15:32:58 +02:00
Méven Car 040e2afcfa DolphinView: allow selectUrls to be considered for selection in more cases
* when there is some selection already (some files were created previously)
 * when the model has not yet insert all the selectedUrls

Also
 * Rename DolphinView::slotCopyingDone to slotItemCreatedFromJob

BUG: 407161
2023-04-20 15:17:19 +00:00
Felix Ernst 49ea43e24f Reuse existing proxy style
Before this commit, a new QProxyStyle was created every time the
selection mode was enabled. The previously used one was
automatically deleted in the process because of the std::unique_ptr
re-assignment. This isn't really a problem in itself, but I
strongly assume that the sudden deletion of the old style shortly
before setting a new style might be the cause of the crash/bug
468548.

This commit simply re-uses the previously created proxy style which
doesn't seem to cause any behaviour change even when the
application style has been changed in the time since the proxy
style was created.

Another potential solution might be to simply use deleteLater() on
the old proxy style instead of letting std::unique_ptr delete the
old proxy style instantly while it is still in use. That seems more
involved than simply re-using the old style though.

BUG: 468548
FIXED-IN: 23.08
2023-04-20 14:42:04 +00:00
Méven Car b99f6f50ee Restrict attaching instances to those on the same activity or same virtual desktop
CCBUG: 408919
2023-04-20 08:50:40 +00:00
Heiko Becker 5f01edcfe7 GIT_SILENT Update Appstream for new release
(cherry picked from commit fb084ec1a1)
2023-04-12 18:00:19 +02:00
Nate Graham 70e20a310a Make "don't run me with sudo/kdesu" message informative
We tell users what not to do, but we don't tell then what to do instead.
At one point we told them to just use Dolphin normally and the polkit
integration would kick in, but that work ended up being reverted and
abandoned. Instead, tell them to use kio-admin, which exists as a
released product and will hopefully not get removed anytime soon.

CCBUG: 467948
2023-04-05 16:17:56 +00:00
Felix Ernst 95905ce761 Add test for openFiles()
The basic mainWindow methods openFiles(), openDirectories(),
isUrlOpen(), and isItemVisibleInAnyView() have some non-obvious
behaviours that shouldn't regress. We never want to open
directories that are already open. We only want to open new tabs
when the currently open ones don't have the file that should be
highlighted in view already. This should work even if view modes
that allow folder expansion are in play. It should also work when
the view area is split.
2023-04-03 15:34:32 +00:00
Méven Car e190977a90 PlacesPanel: clean some warnings
NO_CHANGELOG
2023-04-03 15:34:16 +02:00
Méven Car 9061b22a0d Context menu: allow to show copy to/move to inactive split view
Prevent copying/moving to same folder as origin when copying/moving to inactive split view

BUG: 356436
2023-04-02 07:22:07 +00:00
l10n daemon script 5149ede257 GIT_SILENT made messages (after extraction) 2023-03-27 00:51:23 +00:00
l10n daemon script 080572c67a 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-26 01:45:57 +00:00
l10n daemon script 09f25ee461 GIT_SILENT made messages (after extraction) 2023-03-26 00:50:38 +00:00
Oliver Beard 278380bf17 panels/information: Add option to not show information for hovered item
BUG: 364956
BUG: 453211
2023-03-25 10:01:52 +00:00
l10n daemon script 53eba0b14c 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-21 01:43:27 +00:00
Méven Car 9967a5cdee Prevent dragging on non-writable directories
KFileItemModel::supportsDroppin now returns the rootItem when -1 is passed and checks for write access.
2023-03-16 14:27:52 +00:00
Méven Car 6e5460697b Prevent a non-initialized value access
NO_CHANGELOG
2023-03-09 19:00:27 +01:00
l10n daemon script 7b2a09511d 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-06 01:43:29 +00:00
l10n daemon script aabacff070 GIT_SILENT made messages (after extraction) 2023-03-05 00:56:55 +00:00
Alexander Lohnau 50c889e24c Use separate KMoreTools library 2023-03-04 23:49:48 +00:00
Nicolas Fella c64059bd02 Port away from deprecated KNewFileMenu ctor 2023-03-04 23:49:48 +00:00
Dāvis Mosāns c2ef0392e9 Remove deprecated KServiceTypeTrader 2023-03-04 23:49:48 +00:00
Dāvis Mosāns d0fd5e3869 Remove deprecated ConfigurePreviewPluginDialog 2023-03-04 23:49:48 +00:00
Dāvis Mosāns b44b4806cb Port to KF6 KParts 2023-03-04 23:36:46 +00:00
Dāvis Mosāns c31d60e630 Port to KF6 KSelectAction 2023-03-04 23:11:01 +00:00
Dāvis Mosāns 05e003e41b Port to KF6 KWidgetItemDelegate 2023-03-04 21:01:18 +00:00
Dāvis Mosāns 6600dc9bdc Rename KF5 to KF6 2023-03-04 20:58:48 +00:00
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
Kai Uwe Broulik 380543334c DolphinTabBar: Open folder in new tab when dropped onto tab bar 2022-10-06 12:21:15 +00:00
Kai Uwe Broulik 8402b98995 DolphinTabWidget: Allow specifying new tab position in openNewTab 2022-10-06 12:21:15 +00:00
Kai Uwe Broulik f4a400bad7 Remove superfluous setData call
It's done by urlNavigatorHistoryAction already
2022-10-02 15:10:15 +02:00
John Brooks 3656da18b0 terminal: Clear line using escapes instead of SIGINT
Sending SIGINT can be destructive, for example if we interrupt the
loading of the shell init files (e.g. .bashrc) and clobber history
preservation settings. Follow the example of Kate and send a Ctrl-E
Ctrl-U to clear the prompt instead.

BUG: 279614
Signed-off-by: John Brooks <john@fastquake.com>
2022-10-02 07:14:23 +00:00
l10n daemon script 13712a5065 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-09-28 02:00:06 +00:00
Laurent Montel aa54a68e93 Add missing include (needed for building qt6) 2022-09-26 09:03:55 +02:00
Laurent Montel e19aa49a08 Remove unused includes 2022-09-26 08:17:13 +02:00
l10n daemon script c9271bf5b8 GIT_SILENT made messages (after extraction) 2022-09-24 00:49:05 +00:00
Felix Ernst 75183e609f Increase code coverage of places panel width resistance test
Improve the test by also testing the various selection mode bars.
No combination of bars should lead to a resize of the paces panel.

This commit also helps with increasing code coverage by making all
possible selection mode bars appear.
2022-09-23 21:17:19 +02:00
l10n daemon script 6c65d06bcd 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-09-21 01:48:38 +00:00
l10n daemon script fede2094e3 GIT_SILENT made messages (after extraction) 2022-09-21 00:49:27 +00:00
Felix Ernst f4bed9333e Trigger "Exit Selection Mode" button on clicked and not on pressed
This way it works just like every other button.

This commit also removes two empty files that sneaked in by
accident.
2022-09-15 14:18:44 +00:00
Felix Ernst 11ada1515d Improve selection action toggle code
@broulik noticed an issue in the code. This commit fixes it.

-------------------

Before this commit there was a `QObject::disconnect` call that did
nothing (because it had `nullptr` as the first parameter) and there was a `QObject::connect` call that created
the same connections multiple times because of this.

This had no effect on end users. However such code can lead to
issues in the future e.g. if we ever had a situation in which the selection mode could be toggled for an inactive view container.

This commit solves this by replacing the `QObject::disconnect` call
with one that works. The `QObject::connect` call is moved so
there won't be multiple connections of the same type.
2022-09-15 13:36:05 +00:00
Felix Ernst 3dd49a8539 [dolphinview] Disconnect modelChanged when destructing
Deleting DolphinView deletes KItemListContainer, which deletes
KItemListController, which emits modelChanged, which causes a
signal delivery to the already destroyed DolphinView

This is never good, and in Qt6 causes an assert
(https://codereview.qt-project.org/c/qt/qtbase/+/381860).

Co-authored-by: Nicolas Fella <nicolas.fella@gmx.de>
2022-09-15 14:15:31 +02:00
Eric Edlund 8ff021ca69 Change "OpenExternallyCalledFolderInNewTab" to false by default 2022-09-09 16:14:38 +00:00
l10n daemon script f49cba188a GIT_SILENT made messages (after extraction) 2022-09-06 00:48:29 +00:00
Heiko Becker 56ff2bed7e GIT_SILENT Update Appstream for new release
(cherry picked from commit 4986d7c8df)
2022-09-02 23:59:56 +02:00
Felix Ernst 4ddc4159ed This commit removes the ability to enter selection mode by
click-and-holding with a pointing device like a mouse.

This functionality was originally implemented because it seemed
useful to save users the effort of entering selection mode
explicitly by using its corresponding action.

However, click-and-holding to trigger anything is not really an
expected behaviour. (This contrasts with touch devices where
press-and-holding is common to trigger something.)

Aside from the above reasoning, the click-and-hold behaviour was
also buggy so that selection mode was entered in a couple of
situations that weren't strictly about click-and-holding.

So this commit removes the functionality and the bugs.

BUG: 457973   
BUG: 458129   
CCBUG: 457975
2022-08-27 09:40:51 +00:00
Kai Uwe Broulik a44830c3a9 Don't show error message on ERR_USER_CANCELED
There's no point telling the user what they just did.

After f192c133eb
this error has a text associated with it, so it might
show up in the UI.
2022-08-24 17:00:01 +02:00
Laurent Montel 29cd7b8e1f GIT_SILENT: Terminal=false is default value. Not necessary to keep it in desktop file 2022-08-23 20:47:01 +02:00
Méven Car 4150960081 InformationPanel: better refresh state when current dir changes
Refactor and simplify things along the way.

BUG: 457813
2022-08-22 23:32:28 +02:00
Kai Uwe Broulik 06df12013b Places Panel: Don't show error message on UserCanceled
There's no point telling the user what they just did
2022-08-22 19:55:30 +02:00
l10n daemon script 53be1a4ccb GIT_SILENT made messages (after extraction) 2022-08-22 00:49:02 +00:00
Eugene Popov eafe63b5f4 Fix sorting by file extension
Folders don't have extensions
2022-08-21 11:45:01 +00:00
l10n daemon script b5de7d7945 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-08-21 01:51:22 +00:00
Felix Ernst 3ccdcc2176 Clean up code that became redundant through framework changes
There were two changes in framework that triggered this commit:
KHamburgerMenu and KToolTipHelper.

When the Dolphin-specific hamburger menu was replaced by
KHamburgerMenu, I didn't clean everything up correctly. Not
anymore!

Help texts also weren't updated accordingly. This commit replaces
any mention of the old hamburger menu which was called "Control"
with text that reflects the current application state.

The other framework change "KToolTipHelper" takes responsibility
for opening links in help texts. So we won't need code to do this
in Dolphin anymore. This means we can also get rid of some
duplicate help texts which only existed because links didn't work
correctly in some places.
2022-08-18 09:05:03 +00:00
Kai Uwe Broulik fac08af081 Don't include iconOverlays in rolesData if it is empty
If this role isn't in the model yet, it would be `QVariant::Invalid`
which is obviously a distinct type from an empty string list.

This means `KFileItemModel::setData` treats them non-equal and
potentially does expensive operations on the model, which is
called every time a role is resolved in `KFileItemModelRolesUpdater`.

With this change, the number of pointless layout calculations is
significantly reduced.
2022-08-15 15:02:13 +02:00
Felix Ernst f45d2e9854 Add "Invert Selection" and "Select All" to bottom bar
In selection mode, a bottom bar with contextual actions appears
when at least one item is selected. This commit makes it so this
bottom bar also contains the "Invert Selection" and "Select All"
actions so users have more complete control over changing what is
and isn't selected while in selection mode.
2022-08-14 14:42:40 +00:00
Felix Ernst 6b0dcb62da Simplify implementation of mouse long-press detection
Now uses the same method as for touch long-press detection.
2022-08-14 14:42:40 +00:00
Felix Ernst 0f50abe12d Don't show selection toggle areas on files while in selection mode 2022-08-14 14:42:40 +00:00
Felix Ernst e464b58c33 Address Nate's UX feedback: Episode 2
- Make Esc leave selection mode and have it only clear selection
    when already outside selection mode.
- Let translators know that the "More" overflow button should only
    have a short text on it.
- Fix a crash that happened when any code tried to exit selection
    mode even though selection mode had never been enabled to begin
    with.
2022-08-14 14:42:40 +00:00
Felix Ernst 261b741d5f Address Nate's UX feedback
-More labels
-More icons
-"Abort" -> "Cancel"
2022-08-14 14:42:40 +00:00
Felix Ernst eb7a2e18ed Make touch tap to select items work in selection mode
Thanks to Steffen Hartleib for the help.
2022-08-14 14:42:40 +00:00
Felix Ernst 2e588733c7 Improve naming consistency and leave mode on Escape 2022-08-14 14:42:40 +00:00
Felix Ernst 78cffd2979 Improve code quality 2022-08-14 14:42:40 +00:00
Felix Ernst 8e55f2c240 Better separation of classes
Make obvious when actions trigger selection mode.
2022-08-14 14:42:40 +00:00
Felix Ernst 402b4a5698 Keep working towards a reviewable state
- Various code improvements
- Smoother animations
- The bottom bar in General Mode only becomes visible if items are
    currently selected
- Removed the selection mode action from the default toolbar since
    it can already be toggled in various ways
- More documentation
- Some cleaning
2022-08-14 14:42:40 +00:00
Felix Ernst 3b7c05b385 Add Selection Mode
The selection mode action is a checkable toggle action named
"Select Files and Folders" which has "Space" as the default
shortcut.

In selection mode a bottom bar with contextual actions is shown.
These should mostly mirror the actions which are available through
the right-click context menu aka DolphinContextMenu.

Resizing of the window might make a overflow button appear in the
bottom selection mode bar.

This commit makes press and hold in the view activate selection
mode. This behaviour is not triggered if the press and hold is
used to either start a rubberband selection or a drag operation
within a short time. The length of the short timeframe is defined
by a QStyleHint. This is currently not implemented in touch
because I can't test it.

Mix the selection mode bars' background colors using a nice
combination of colors from the current color scheme

BUG: 427202
2022-08-14 14:42:40 +00:00
Albert Astals Cid 9dbe481377 GIT_SILENT Update Appstream for new release
(cherry picked from commit c9ab65174b)
2022-08-10 23:33:51 +02:00
Elvis Angelaccio 19cd2364a9 Update copyright and maintainership info 2022-08-05 17:40:20 +02:00
l10n daemon script 86c103e765 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-08-03 01:49:02 +00:00
Alexander Lohnau f506666540 Install dolphinpart actions as standalone file
This will allow Konqueror to use it without relying on the KPart being loaded using KService
2022-08-01 16:35:35 +00:00
Nicolas Fella d7ca76799b Remove service type file for vcs plugins
We don't support old-style plugins any more, so no need to install this
2022-07-30 17:47:40 +02:00
l10n daemon script ef042cbefe 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-07-25 01:46:13 +00:00
l10n daemon script f0749ee42c 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-07-23 01:50:13 +00:00
l10n daemon script d0c3e373a1 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-07-20 01:45:24 +00:00
Nicolas Fella 9bcac452ca Remove references to KServiceTypeTrader in comments 2022-07-18 22:42:39 +02:00
Nicolas Fella 6b5ca39a93 Remove unused includes 2022-07-18 22:38:43 +02:00
Kai Uwe Broulik 1e13885c93 KItemListHeaderWidget: Use QHeaderView font
Makes it consistent with "real" tab widgets.
2022-07-18 15:01:16 +00:00
l10n daemon script d4ed58f6a9 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-07-15 01:51:02 +00:00
Nicolas Fella 513fe3bb42 Port from KNewFileMenu::setPopupFiles to KNewFileMenu::setWorkingDirectory
The former is deprecated
2022-07-14 11:58:19 +00:00
Kai Uwe Broulik 05941a522b Add "Show statusbar" menu entry in "Settings"
Makes this setting more accessible and makes it consistent with other
KDE applications. Since Dolphin has a separate status bar on each view
container and doesn't use kxmlgui's statusbar, we don't get this menu
entry automatically.
2022-07-13 17:13:25 +02:00