Commit graph

6430 commits

Author SHA1 Message Date
Albert Astals Cid f1fdbf1ec9 Tell translators to leave the ' alone 2021-06-03 22:13:27 +02:00
Shubham 3387b60ca5 Add tooltip to Empty Trash button inside Trash 2021-06-03 18:19:34 +05:30
Friedrich W. H. Kossebau 0d95f5e537 Use more target-centric cmake code
GIT_SILENT
2021-05-31 08:39:17 +00:00
Alexander Lohnau b6ec4b1c9e 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.
2021-05-31 07:02:16 +00:00
l10n daemon script 9fc92e7b51 GIT_SILENT made messages (after extraction) 2021-05-31 00:19:38 +00:00
Elvis Angelaccio 2f3d8c5c96 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.
2021-05-31 00:43:46 +02:00
Eugene Popov 443968a6a3 Revert "Improve padding in the Places View"
This reverts commit e9a39700fc.
2021-05-29 22:16:18 +00:00
Eugene Popov 7a5d4033f4 Revert "fix padding in places view"
This reverts commit 56888a567f.
2021-05-29 22:16:18 +00:00
Eugene Popov df9ae6c24e Use SmallMedium icon size in the Places panel as default
This patch makes the Places panel to use SmallMedium icon size as default, making it easier to read. It also removes extra spacing from items with small icons (reverts e9a39700 and 56888a56).

BUG: 437345
2021-05-29 22:16:18 +00:00
l10n daemon script ec3c196e5a GIT_SILENT made messages (after extraction) 2021-05-26 01:54:56 +00:00
l10n daemon script 83c9108f81 GIT_SILENT made messages (after extraction) 2021-05-26 00:23:27 +00:00
Ömer Fadıl Usta b5e276d115 [src/settings/contextmenu/contextmenusettingspage] Fix Crash because of nullptr
BUG: 437539

(cherry picked from commit 879fa9fa7d)
2021-05-25 17:12:35 +00:00
Ömer Fadıl Usta 879fa9fa7d [src/settings/contextmenu/contextmenusettingspage] Fix Crash because of nullptr
BUG: 437539
2021-05-25 01:49:20 +00:00
l10n daemon script 5fca9ee722 GIT_SILENT made messages (after extraction) 2021-05-23 00:19:48 +00:00
l10n daemon script cdfc40e477 GIT_SILENT made messages (after extraction) 2021-05-22 00:19:19 +00:00
l10n daemon script 8da9816536 GIT_SILENT made messages (after extraction) 2021-05-21 00:19:24 +00:00
Saravanan K 6b64c7ff56 Add action to places panel context menu trash entry to open trash settings
BUG: 367583
FIXED-IN: 21.08
2021-05-20 16:04:41 +00:00
l10n daemon script 2e536476dd GIT_SILENT made messages (after extraction) 2021-05-20 00:19:16 +00:00
Laurent Montel 953b253676 Use directly autorcc 2021-05-19 22:10:14 +02:00
l10n daemon script 2393049df5 GIT_SILENT made messages (after extraction) 2021-05-19 00:21:32 +00:00
Nate Graham 7b112c7b27 Use more appropriate icon for "Create New" action
Right now this action is using the "document-new" icon, which depicts
creating a new file. This is inaccurate, as the menu provides options for
creating more than just files: it has one option to create folders and
three for creating different types of links. In fact, depending on the
set of installed software, there may not be any options to create new
documents at all!

To fix this, the icon would need to be made either more specific or
more generic.

There is no such icon that depicts being able to create a folder, a
document, or a link; such a thing is too specific to be able to
represent with a small icon. So our only real option is to use a more
generic icon.

This commit does that.
2021-05-18 14:45:45 +00:00
l10n daemon script e42659081d GIT_SILENT made messages (after extraction) 2021-05-18 00:21:28 +00:00
Felix Ernst 98e1fb66d0 Fix primary view changing folder for the closing animation
This commit fixes a bug which made it so an UrlNavigator that was
disconnected from a viewContainer would still indirectly control
the viewContainer because of a dubious connection created in
DolphinMainWindow.

Instead the internal UrlNavigator of the viewContainer is used
which is always connected to its own viewContainer.

This way the the supposedly disconnected primary UrlNavigator will
actually not affect the old disconnected viewContainer that is
currently being closed.

BUG: 437080
FIXED-IN: 21.08
2021-05-17 14:52:45 +02:00
Yuri Chornoivan 75d1d25d7e Fix minor typos 2021-05-17 08:48:21 +03:00
l10n daemon script 536d9129a4 GIT_SILENT made messages (after extraction) 2021-05-17 02:06:51 +00:00
l10n daemon script 2765519a8e GIT_SILENT made messages (after extraction) 2021-05-17 00:26:53 +00:00
Carl Schwan c60887781d Add more screenshots 2021-05-16 20:10:59 +02:00
Felix Ernst 53a778c1eb Re-arrange the contents of the hamburger menu
To improve usability, the entries in the hamburger menu are
changed. Maybe the biggest fault of the previous menu contents were
that there were too many actions.

The new menu contents are composed of all the actions which are
necessary to use Dolphin and those which are very useful and should
be of interest for most users. Some menu contents change depending
on the state of the application. We can be more bold in only
showing what really seems necessary because this commit activates
the special sub-menu of KHamburgerMenu that helps users discover
all further features of Dolphin.

The hamburger menu is from now on also added to the context menus
in the view when both the menu bar and toolbar are hidden. This
allows users to hide both of them and still use all features of
Dolphin.
2021-05-13 16:49:27 +00:00
Ismael Asensio 4d9ea4261a Merge branch 'release/21.04' 2021-05-13 15:09:42 +02:00
Ismael Asensio 29636baff0 search/facetswidget: Check for protocol before trying to fetch tags
This was causing an error when trying to list items from the
non-existent `tags:` protocol.

BUG: 435586
FIXED-IN: 21.04.1
2021-05-10 14:05:35 +02:00
Alexander Lohnau 08a4edad3e DolphinContextMenu: Allow disabling "Open Terminal" action
BUG: 436323
FIXED-IN: 21.08
2021-05-10 11:22:06 +00:00
Gastón Haro 996e430b62 Show hidden files and folders last
Hidden files and folders are always displayed after
not hidden files.

BUG: 241227

Revision: https://phabricator.kde.org/D29115
2021-05-10 06:13:56 +00:00
Alexander Lohnau 8f9bf0fe36
Put code for desktop file plugin loading in KIO version check
Loading plugins by their desktop files was deprecated in
https://invent.kde.org/frameworks/kio/-/merge_requests/416.

Task: https://phabricator.kde.org/T12250
2021-05-10 07:32:20 +02:00
l10n daemon script b734cedbbf GIT_SILENT made messages (after extraction) 2021-05-10 00:23:35 +00:00
Heiko Becker 6d242cac0a GIT_SILENT Update Appstream for new release 2021-05-07 20:17:32 +02:00
Heiko Becker f9e3d9c8a0 GIT_SILENT Update Appstream for new release
(cherry picked from commit 6d242cac0a)
2021-05-07 20:17:32 +02:00
Nate Graham c836cf010c Set initial size corectly
The resize() that we do to set the initial size is working around a
bug in frameworks that is going to be fixed soon. See
https://invent.kde.org/frameworks/kxmlgui/-/merge_requests/53.
2021-05-05 03:50:44 +00:00
l10n daemon script 0b5cb44f02 GIT_SILENT made messages (after extraction) 2021-05-04 01:43:39 +00:00
Ismael Asensio 65b283a909 search: Add action to clear tag selection
BUG: 432719
2021-05-03 16:22:21 +02:00
Friedrich W. H. Kossebau 5ce25a5cde Port away from ECMSetupVersion's deprecated *_VERSION_STRING CMake variable
GIT_SILENT
2021-05-03 02:03:19 +02:00
Felix Ernst a4be53fb99 Replace custom hamburger/control menu with KHamburgerMenu 2021-04-29 13:22:10 +00:00
Alexander Lohnau ccb29c6035 kconfig_add_kcfg_files: Fix warnings about including empty moc file 2021-04-25 06:38:58 +00:00
Alexander Lohnau 844d1c0547 Remove code for dolphin < 4.14 tab restore
The old config keys haven't been written for since KDE 4 times
and has been internally marked as deprecated.
2021-04-24 17:16:27 +00:00
Méven Car 6cec386192 InformationPanel: Allow to refresh the panel when its displayed content changes
BUG: 430095
BUG: 412902
FIXED-IN: 21.08
2021-04-24 09:00:31 +00:00
l10n daemon script 020ba2c3fc 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"
2021-04-23 01:19:55 +00:00
l10n daemon script cede4fed79 GIT_SILENT made messages (after extraction) 2021-04-23 00:21:18 +00:00
Harald Sitter 56888a567f fix padding in places view
padding was only applied when the icon size was applied, the icon size
however is only applied when the user had set an explicit size. this
resulted in inconsistent spacing. by default no padding would be used if
the user had changed the icon size to medium and back to small it would
suddenly have padding.

to fix this, set padding unconditionally on construction and never touch
it again .

BUG: 435731
2021-04-19 16:07:50 +00:00
Méven Car 5a0da4a9c8 When renaming files, move to next file using tab key or up/down
To rename previous file:
 Up or Shift-Tab

To rename next file:
 Down or Tab

Credit goes to msciubidlo

FEATURE: 403931
FEATURE: 269987
BUG: 334533
FIXED-IN: 21.08
2021-04-19 05:10:11 +00:00
Nate Graham a27b4c5c60 Increase default window size
The current default window size of 750x500 is quite small on today's
screens, and results in an initial user experience of a very cramped app
window. The very first action that I see from new users interacting with
Dolphin is to make the window bigger.

So let's do it for them by making the default window size a bit bigger
ourselves.
2021-04-19 02:18:53 +00:00
Méven Car 4f4e3d392c PlacesPanel: activating a place does not select its previously selected children
BUG: 421347
2021-04-17 10:44:28 +02:00
Heiko Becker 61b2e2fd5e GIT_SILENT Update Appstream for new release 2021-04-14 17:06:44 +02:00
Heiko Becker 2084814781 GIT_SILENT Update Appstream for new release
(cherry picked from commit 61b2e2fd5e)
2021-04-14 17:06:44 +02:00
Méven Car 46e987d034 Remove dead variable 2021-04-09 07:43:06 +02:00
Laurent Montel e831efc3b2 Not necessary to forward class if we include file 2021-04-08 21:40:59 +02:00
Méven Car 522000ad8d Merge branch 'release/21.04' 2021-04-08 07:09:22 +02:00
Michael Lang ba8158e2fa Add option to hide entire status bar 2021-04-07 09:05:51 +00:00
David Faure 2200e3c06d Fix deprecated method calls when using KIO >= 5.82 2021-04-06 15:12:20 +02:00
Méven Car 0429e5330e KFileItemModel: DetailsModeSettings::directorySizeCount forces m_sortDirsFirst
Before this patch when !m_sortDirsFirst and DetailsModeSettings::directorySizeCount() == true, the ordering of folders before files would be affected by the sortOrder. I.e descending order would put the folders after the files.
2021-04-05 14:27:47 +02:00
Martin T. H. Sandsmark f334a736b9 Check the version of the plugins before trying to load them 2021-04-05 10:38:48 +00:00
Tobias Fella 30371aedc8 Port the VCS plugin system to KPluginLoader
The loader looks for the plugins in ${QT_PLUGIN_PATH}/dolphin/vcs.
The old method of loading the plugins is kept around for now, to support
external, legacy plugins.
2021-04-05 10:37:28 +00:00
Elvis Angelaccio d97782809a appstream: fix homepage url 2021-04-05 11:02:18 +02:00
Elvis Angelaccio c0e3a5afb2 appstream: fix homepage url 2021-04-05 11:01:37 +02:00
l10n daemon script b1ae7860ac GIT_SILENT made messages (after extraction) 2021-04-01 01:40:02 +00:00
l10n daemon script 69881f93b6 GIT_SILENT made messages (after extraction) 2021-04-01 00:20:15 +00:00
Nate Graham 5c3e9ac90f Merge branch 'release/21.04' 2021-03-31 10:17:58 -06:00
Nate Graham b9139c5e1c Fix crash calling openDirectories() in various cases
This can cause a crash when called with a single url and split view, or
when the last URL is not shown, because the iterator gets mutated in
the loop, so we need to make sure it hasn't gone out of bounds. This
check was erroneously removed in 1755380208
and needs to be brought back.
2021-03-31 09:19:33 -06:00
Nicolas Fella 9e8e58147e Port away from KInit
KInit is planned to go away

https://phabricator.kde.org/T14298
2021-03-28 17:11:36 +02:00
l10n daemon script 38e83eacf8 GIT_SILENT made messages (after extraction) 2021-03-28 08:45:07 +02:00
Nate Graham 6f134975ae Merge branch 'release/21.04' 2021-03-27 13:04:05 -06:00
Nate Graham 1755380208 Don't re-open already-open URLs when using session-restore feature
If Dolphin would be asked to open a location that is already open, don't
open it again in a new tab; instead switch to that view. Supports tabs
and split view.

BUG: 434911
FIXED-IN: 21.04
2021-03-26 19:38:47 -06:00
l10n daemon script fc2624960a GIT_SILENT made messages (after extraction) 2021-03-16 03:29:56 +01:00
Nate Graham a32373e587 Allow selecting filename in information panel
BUG: 434329
FIXED-IN: 21.04
2021-03-15 09:43:46 -06:00
l10n daemon script 8988fc01d0 GIT_SILENT made messages (after extraction) 2021-03-15 09:34:17 +01:00
Elvis Angelaccio ffb80cb00d Enable test mode in all test 2021-03-13 17:18:53 +01:00
Méven Car ae429d1674 KFileModel: Let Sort dir first affect size sorting
BUG: 433207
2021-03-07 22:45:09 +00:00
Laurent Montel a440ff1acb Remove not implement methods 2021-03-07 20:41:15 +01:00
l10n daemon script 35ec23ac1b GIT_SILENT made messages (after extraction) 2021-02-25 02:45:20 +01:00
Heiko Becker ae1aeadef7 GIT_SILENT Update Appstream for new release
(cherry picked from commit 7fbe747427)
2021-02-25 00:12:43 +01:00
Méven Car 5e5f236d00 KFileItemModelRolesUpdater: Avoid refreshing items when we receive their content count
It concerns the detail view.

It can cause multiple preview to be generated for the same file.
This is visible for directories whose icons use a random value for their inner files thumbnails.

Only the view needs to be updated for this model change.
2021-02-20 18:37:00 +00:00
David Lerch 0811bf4a2b Use only enabled preview plugins in InformationPanelContent and ToolTipManager. 2021-02-19 23:07:54 +01:00
Alexander Lohnau d691aa96f2 Do not run benchmark test automatically
Same reasoning as https://invent.kde.org/frameworks/kio/-/merge_requests/301 and
the commit series.
2021-02-18 20:08:05 +00:00
Stefan Brüns ba041233e8 Apply 1 suggestion(s) to 1 file(s) 2021-02-17 15:21:41 +00:00
Stefan Brüns 492cfb73a3 [FileItemRolesUpdater] Use STL-style iterator instead of iterating a copy
QSet<T>::erase(it) is the save way of erasing from a QSet while iterating
it. This saves creating a copy of the QSet, lookup of a node by value in
`QSet<T>::remove(item)`, and repeated rehashing caused by `remove`.
2021-02-15 17:40:17 +01:00
Stefan Brüns 7c0b5c08cc [FileItemRolesUpdater] Reserve space in two temporary lists
Reserve sufficient space to avoid reallocation later. Overallocating
actually requires less memory than growing and copying it, and it
is freed immediately after anyway.
2021-02-15 17:34:01 +01:00
Stefan Brüns 68704c2a28 [FileItemRolesUpdater] Fix reservation size
The code below always adds the visible range, up to 5 pages before and
after the visible range (each capped to ResolveAllItemsLimit/2) and
the very first and last page (each up to m_maximumVisibleItems).

Use this number to avoid growing the list later.
2021-02-15 17:24:15 +01:00
Stefan Brüns b4676b71c6 [FileItemRolesUpdater] Fix calculation of requested indexes
In case the last and/or first page (a page being n=m_maximumVisibleItems
items) overlapped the already inserted items, one item for each range
would be inserted a second time, e.g. for the first page and last page:

`beginExtendedVisibleRange == 0` => `endFirstPage := 0` => `0 <= 0` is
inserted again.

`count == 100; endExtendedVisibleRange == 99; m_maximumVisibleItems == 20`
=> `beginLastPage := 99` => `99 < 100` is inserted again.
2021-02-15 17:24:01 +01:00
Kai Uwe Broulik b351afb9e1 [Status Bar] Hide zoomLabel also in menu handler 2021-02-14 23:07:46 +00:00
Méven Car 61a4ae4d3f Remove a missing emit KEYWORD
NO_CHANGELOG
2021-02-14 15:21:22 +01:00
l10n daemon script 39f5f1b530 GIT_SILENT made messages (after extraction) 2021-02-11 03:02:42 +01:00
Nicolas Fella 7c48344d0e Port away from deprecated KToolInvocation::invokeTerminal 2021-02-10 23:08:06 +00:00
Felix Ernst 998d71e5a7 Remove item move animation on view resize
This commit removes an animation that happens when the view is
resized. Before this commit, whenever the geometry of the view
changed, the items in the view drifted towards their new position
in the layout after a 300 ms delay. It would look like the items
are slow to find their position.

This commit simply moves them to their new position in an instant
which will abort any ongoing move animations.
2021-02-10 15:16:42 +01:00
Nicolas Fella f65b0899c3 Build with QT_NO_KEYWORDS 2021-02-09 20:39:50 +00:00
Nicolas Fella 3184c2707f Port to QRecursiveMutex
QMutex::Recursive is deprecated
2021-02-09 00:54:45 +01:00
Nicolas Fella b68abb7d27 Add missing includes 2021-02-09 00:40:54 +01:00
Ahmad Samir dd9405bf2f Port away from deprecated KIO signals
Use KDirLister::listingDirCompleted(const QUrl &) instead of
completed(const QUrl &).
2021-02-08 21:38:34 +00:00
Felix Ernst a825e1bd74 Avoid KJob::exec() in DolphinView
This commit replaces an error-prone usage of KIO::StatJob::exec() in
DolphinView with the recommended KIO::StatJob::start().

The containing method DolphinView::statusBarText() is changed to be a
method without return value: requestStatusBarText()
The new status bar text is instead returned through a new
setStatusBarText() signal that will be emitted asynchronously if
necessary.

The calling code that deals with status bar text is refactored to
correctly work despite the new asynchronicity. The helper method
calculateItemCount() is moved into requestStatusBarText() and some
other code from requestStatusBarText() is moved into a new helper
method emitStatusBarText().

The documentation of KIO::KJob::exec() explains why it should be
avoided. A reproducible crash is the reason for this commit.
2021-02-08 21:32:10 +00:00
l10n daemon script 7eae6bba5f GIT_SILENT made messages (after extraction) 2021-02-08 02:48:28 +01:00
Heiko Becker 24f04d75e1 GIT_SILENT Update Appstream for new release
(cherry picked from commit 0f6b39d0cd)
2021-01-29 21:04:28 +01:00
Nate Graham c161b895ff Merge branch 'release/20.12' 2021-01-25 10:25:51 -07:00
Harald Sitter 5ed12ed44a don't crash when building without baloo
show_information_panel is only created when building with baloo. only
access it when built with baloo, otherwise always report the panel as
off.

this fixes a nullptr deref because action() would return a nullptr since
show_information_panel isn't a thing in all build configurations

(full disclosure: I can't reproduce the crash, nor did I build without
baloo)

BUG: 431730
2021-01-25 10:12:53 +01:00
Nate Graham be73a01f48 Make zoom slider and free space bar a little smaller by default
This makes more room for the new explanatory label for the zoom slider.
The zoom slider in particular was huge, and probably would have stood to
be reduced in width anyway even if we didn't add an explanaory label.
2021-01-23 23:15:56 +00:00
Nate Graham 0ba739c47e Add explanatory label to status bar's icon size slider
Right now the slider has no label. Let's add one so it's clear what it
does.

BUG: 429255
FIXED-IN: 21.04
2021-01-23 23:15:56 +00:00
Laurent Montel 8236e95c76 Autogenerate categories file 2021-01-23 09:23:41 +01:00
l10n daemon script aac6a5245f 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"
2021-01-21 07:07:06 +01:00
Norbert Preining 33270dd442 Show button to open knetattach inline with URL nav on remove:// view
This is a backport of b1cadeba93

  From b1cadeba93 Mon Sep 17 00:00:00 2001
  From: Nate Graham <nate@kde.org>
  Date: Tue, 15 Dec 2020 23:03:00 -0700
  Subject: [PATCH] Show button to open knetattach inline with URL nav on
   Remote:// view

  In conjunction with
  https://invent.kde.org/frameworks/kio/-/merge_requests/260,
  the net result is to hide the knetattach launcher in the view, and show
  it inline with Dolphin's URL navigator toolbar when viewing the
  remote:// view, just like how we add an "Empty Trash" button when
  viewing trash://.

The backport ensures that even with frameworks << 5.78 only one network
button is shown.

BUG: 431626
2021-01-19 07:48:36 +09:00
l10n daemon script 25bfe6149e GIT_SILENT made messages (after extraction) 2021-01-18 03:04:46 +01:00
Kai Uwe Broulik 2e79e21c3f [DolphinView] Fix "Folder is empty" label showing prematurely
Don't show the label while still loading. Since there is no property in
`KDirLister` a dedicated `m_loading` is added for this purpose.

Also, I removed the explicit update on `urlChanged` as the view
probably won't change until the lister starts loading.

BUG: 430085
2021-01-17 13:32:56 +00:00
l10n daemon script 6945a54004 GIT_SILENT made messages (after extraction) 2021-01-17 02:49:13 +01:00
Elvis Angelaccio de8ea90ca7 Merge branch 'release/20.12' 2021-01-16 19:28:59 +01:00
Ilia Kats a6d095fa04 fix folder size calculation on FUSE and network file systems
KFileItem::isSlow uses hardcoded logic that returns true if the
filesystem is Smb or Nfs. However,
KFileSystemType::determineFileSystemTypeImpl on Linux returns Nfs also
if the file system in question is a FUSE file system, which includes
NTFS, sshfs, and others.

BUG: 430778
BUG: 431106
2021-01-16 19:20:11 +01:00
The Imp 764861af51 Change copy location shortcut in dolphin so as to not conflict with Konsole panel
BUG: 426461
FIXED-IN: 20.12.2
2021-01-16 19:15:20 +01:00
Ilia Kats 3b4dae3556 fix folder size calculation on FUSE and network file systems
KFileItem::isSlow uses hardcoded logic that returns true if the
filesystem is Smb or Nfs. However,
KFileSystemType::determineFileSystemTypeImpl on Linux returns Nfs also
if the file system in question is a FUSE file system, which includes
NTFS, sshfs, and others.

BUG: 430778
BUG: 431106
2021-01-15 20:41:24 +00:00
Antonio Rojas 4683c03be6 Don't show "Add network folder" button if knetattach is not available
knetattach is part of plasma-desktop, so it doesn't necessarily have to be installed.
In that case, instead of showing a button that doesn't do anything, don't show it at all.
2021-01-15 18:02:03 +01:00
l10n daemon script 9fde9035a8 GIT_SILENT made messages (after extraction) 2021-01-15 02:57:54 +01:00
l10n daemon script 9b55f5d0f9 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"
2021-01-14 07:07:18 +01:00
l10n daemon script 138c5017d9 GIT_SILENT made messages (after extraction) 2021-01-12 02:59:22 +01:00
Stefan Brüns cade3eb302 [BalooRolesProvider] Use Property IDs instead of string matching
Instantiating KFileMetaDataInfo for each file and property, even when
the role is not used, is somewhat expensive and unnecessary. Use the
numeric Property ID to map it to a role, and only instantiate the used
PropertyInfo's.

Remove the properties provided by KFM::UserMetaData from the map, as
these will newer match.
2021-01-11 12:28:38 +01:00
Stefan Brüns dcdf4b01c8 [BalooRolesProvider] Reduce number of XAttr reads
Typically most of the extended attributes are not set for a file. Instead
of trying to fetch each attribute individually check which attributes
exist first.
2021-01-11 12:28:38 +01:00
Stefan Brüns fa60438376 [BalooRolesProvider] Remove explicit default constructor calls 2021-01-11 12:28:38 +01:00
Stefan Brüns 7d716fd9bd [BalooRolesProvider] Remove unused roleForProperty method 2021-01-11 12:28:38 +01:00
Stefan Brüns 09b6c99325 [BalooRolesProvider] Simplify single tag case
When the list contains just one value, return it instead of trying to
sort the list with a QCollator.
2021-01-11 12:28:33 +01:00
Stefan Brüns 34f74e4226 [BalooRolesProvider] Move static tagsFromValues to anonymous namespace 2021-01-11 12:27:11 +01:00
Stefan Brüns 4c31ec3789 [BalooRolesProvider] Remove unused includes 2021-01-11 12:27:11 +01:00
l10n daemon script a344998ae9 GIT_SILENT made messages (after extraction) 2021-01-11 02:57:22 +01:00
Anthony Fieroni a73e81bf6a Open new tab placement option
Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
2021-01-10 21:54:45 +00:00
Kai Uwe Broulik eb4b0fb480 Emit "itemMiddleClicked" when Ctrl-clicking a view in single selection mode
When Ctrl can't cause a change in selection, so instead emit `itemMiddleClicked`.
This way one can Ctrl-click a Place or folder in Folders panel to open it in
a new tab, similar to what web browsers.
2021-01-10 10:50:41 +01:00
l10n daemon script 6dd67f6f63 GIT_SILENT made messages (after extraction) 2021-01-10 02:57:47 +01:00
Nate Graham b1cadeba93 Show button to open knetattach inline with URL nav on Remote:// view
In conjunction with
https://invent.kde.org/frameworks/kio/-/merge_requests/260,
the net result is to hide the knetattach launcher in the view, and show
it inline with Dolphin's URL navigator toolbar when viewing the
remote:// view, just like how we add an "Empty Trash" button when
viewing trash://.

CCBUG: 430211
2021-01-09 18:32:52 +00:00
l10n daemon script e9f5525696 GIT_SILENT made messages (after extraction) 2021-01-09 02:59:47 +01:00
l10n daemon script d05d8efcf7 GIT_SILENT made messages (after extraction) 2021-01-08 03:00:30 +01:00
Felix Ernst 0cee94ce82 Fix location bar being wrongly aligned on first startup
When starting Dolphin the very first time, the spacing in front of the
location bar is wrong. This commit fixes this by completely updating
all cached geometry every time adjustSpacing() is called. Because this
happens once on a timer 100 ms after every url change, it will happen
once shortly after the window is shown. At that point all geometry is
where it should be and spacing calculation works as expected.

The ViewContainer geometry retrieval is refactored into a small nested
helper class in DolphinNavigatorsWidgetAction by the name
ViewGeometriesHelper.

Previously the logic of that class was divided between DolphinTabPage
and DolphinNavigatorsWidgetAction.

BUG: 429447
FIXED-IN: 21.04.0
2021-01-06 01:38:45 +00:00
Martin T. H. Sandsmark a993a5979d fix crashing on launch 2021-01-05 17:08:17 +00:00
l10n daemon script 49e8b67b71 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"
2021-01-05 06:38:36 +01:00
l10n daemon script 8c4d4b9a12 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"
2021-01-04 06:42:11 +01:00
Elvis Angelaccio f8d1b494db Revert "ContextMenu: Allow plugins submenus to react to Shift modifiers"
This reverts commit ce3c243525.

The apidox of setParentWidget says:

    Set the parent widget for any dialogs being shown.
    This should normally be your mainwindow, not a popup menu, so that it still exists even after the popup is closed
    (e.g. error message from KRun) and so that QAction::setStatusTip can find a statusbar, too.

CCBUG: 425997
2021-01-02 19:22:10 +01:00
Felix Ernst f01a61b76c Animate split view mode toggling
Have the secondary ViewContainer slide into/out of view when split view mode is switched on or off by the user.

This should help users understand what split view mode is about. Without the animation it might seem like the only thing the button does is creating a weird vertical line in the middle of the view or something. With the animation it should be clear that the second view is a separate entity that was added. The closing animation will help users understand which of the ViewContainers was just closed.
2021-01-02 17:48:52 +00:00
Christoph Feck 35104c052f GIT_SILENT Update Appstream for new release 2021-01-02 14:42:54 +01:00
Christoph Feck d3c5bb6e9b GIT_SILENT Update Appstream for new release
(cherry picked from commit 35104c052f)
2021-01-02 14:42:54 +01:00
l10n daemon script 65ad995a8e GIT_SILENT made messages (after extraction) 2021-01-02 09:05:17 +01:00
l10n daemon script 4fc0e0da33 GIT_SILENT made messages (after extraction) 2021-01-02 02:46:01 +01:00
l10n daemon script 030e7857c2 GIT_SILENT made messages (after extraction) 2021-01-01 02:49:09 +01:00
l10n daemon script fc56fb60c1 GIT_SILENT made messages (after extraction) 2020-12-31 08:27:23 +01:00
Piotr Henryk Dabrowski a19469d83d use 'compass' instead of 'bookmarks' icon in Show Places Panel button
'bookmark' icon is already used for Bookmarks Menu
2020-12-30 00:05:49 +01:00
Piotr Henryk Dabrowski 741072272f update KParts' ReadOnlyPart::localFilePath in DolphinPart::openUrl() 2020-12-29 16:06:40 +01:00
l10n daemon script 66ba66b5a0 GIT_SILENT made messages (after extraction) 2020-12-29 02:37:52 +01:00
Duong Do Minh Chau 48af912b83 Add const 2020-12-28 20:18:31 +00:00
Chau Duong 6df591368e Apply Elvis suggestions 2020-12-28 20:18:31 +00:00
Duong Do Minh Chau 238eb86db7 Share actions with main window to avoid duplicating icon name and text 2020-12-28 20:18:31 +00:00
Duong Do Minh Chau 9a0552d51d Remove context menu settings KCM 2020-12-28 20:18:31 +00:00
Duong Do Minh Chau a512176b4b Add options to hide some context menu entries
This commit add options to hide the following context menu entries:
- Add to Places
- Copy Location
- Duplicate Here
- Open in New Tab and Open in New Tabs
- Open in New Window
- Sort By
- View Mode

The Services settings page is renamed to Context Menu

ShowCopyMoveMenu option is moved from GeneralSettings to ContextMenuSettings

BUG: 314594
2020-12-28 20:18:31 +00:00
Eike Hein b339ac1b5f Use a faster way to determine kio-stash isn't installed
Summary:
Dolphin needs to figure out whether or not kio-stash is installed
to set the enabled state of a UI action.

When KProtocolInfo::isKnownProtocol can't find a protocol it gets
worried its protocol cache might be out of date, so it rebuilds it
(doing plenty of disk I/O) and looks again. kio-stash is currently
not yet installed on many systems, so this means most Dolphin
startups out there.

This patch switches to using QDBusConnectionInterface::isServiceRegistered
instead to determine whether the stash notifier daemon is running,
which should be faster than doing disk I/O.

Reviewers: davidedmundson, elvisangelaccio, shortstheory

Subscribers: emmanuelp, alexeymin, ngraham, #dolphin

Differential Revision: https://phabricator.kde.org/D9094
2020-12-28 17:59:14 +01:00
Nate Graham b14f98de19 Make it more obvious that you can connect to servers on remote:/ page
Right now it is not super obvious how you connect to a remote server
in Dolphin when you already know the URL. Users will go to the
"Network" item in the Places panel, but from there it is not totally
clear. The "Add Network Folder" icon in the view opens a complicated
wizard and it's also a bit of an odd UX to have it living in the view as
opposed to being a toolbar button.

Old hands and developers know that the URL navigator is, well, a URL
navigator, and as such, it accepts arbitrary URLs from any view.
However this may not be obvious to other more casual users, for
two reasons:
1. The URL navigator is in breadcrumbs view nearly all of the time and
   by default, so may users may not know that it can accept text at all
2. Even when it's displaying URLs, they are almost always local paths,
   so users may not make the connection that it can accept remote URLs
   rather that just local paths

To improve the discoverability of this feature, this commit makes the
following change:

When the view is displaying the remote:/ ioslave (i.e. the "Networks"
place), the URL navigator is put into URL entry mode and given some
placeholder text that hints at what it can do. It reverts to breadcrumbs
mode when you leave.

BUG: 414670
FIXED-IN: 21.04
2020-12-27 17:38:55 +00:00
Méven Car 88d3f92dff Apply sugestions 2020-12-27 17:18:40 +00:00
Méven Car f6a465c911 Review feedback 2020-12-27 17:18:40 +00:00
Méven Car c1739d5c4d Version Control plugin: allow plugins to return repository root
Currently plugins `fileName()` only return path file extension.

This changes allows plugins to return the absolute file path to their repository root.

CCBUG: 430024
2020-12-27 17:18:40 +00:00
Nate Graham c6cdf4126a Fix typo
GIT_SILENT
2020-12-27 08:25:04 -07:00
l10n daemon script 3c85f4ce3d GIT_SILENT made messages (after extraction) 2020-12-24 02:40:02 +01:00
Méven Car f0d03c7dd7 Details View: display dates as relative Short dates
CCBUG: 340982
2020-12-24 00:11:21 +00:00
Nate Graham 9abe299c77 Merge branch 'release/20.12' 2020-12-23 11:40:09 -07:00
Eduard Manta 303740c68a Fix vertical scroll with horizontal component not being recognized properly
BUG: 430532

a scroll that includes an horizontal component != 0 might still be a vertical scroll
2020-12-23 17:17:19 +01:00
l10n daemon script 7f44b11a5e GIT_SILENT made messages (after extraction) 2020-12-23 02:43:39 +01:00
l10n daemon script ac796744ff GIT_SILENT made messages (after extraction) 2020-12-22 02:41:00 +01:00
Derek Christ 87bb0ca10b Allow non-local startup location
Only local directories were supported to be set as the starting location
of Dolphin. This commit fixes this by using an KIO::StatJob to determine
if the path is actually pointing to a directory or a file regardless if
it is a local or a remote path.

Additionaly a hard-coded exception for urls with the scheme "timeline"
was removed because with the new fix it is now obsolete.

BUG: 428885
2020-12-21 21:28:50 +00:00
l10n daemon script ecd5c7d678 GIT_SILENT made messages (after extraction) 2020-12-21 02:47:25 +01:00
Elvis Angelaccio 125c7aba09 DolphinContextMenu: drop wrong assert
`m_context` can also be `SearchContext` or `TimelineContext`, so this
assert has been wrong since 8b0c12a59c.
2020-12-19 18:25:07 +01:00
Carl Schwan b049f41d7b Improve AppStream description 2020-12-19 16:30:48 +01:00
Nate Graham 59f00343c9 Merge branch 'release/20.12' 2020-12-18 12:22:21 -07:00
Chris Holland ef09315404 Fix crash when device with capacitybar is dragged
BUG: 430441
2020-12-17 19:10:40 -05:00
Ilia Kats acc42f9189 fix display of folder sizes for empty folders
also fixes 1 byte error in size calculation for all folders
2020-12-17 13:04:01 +01:00
Ahmad Samir d74853ef85 Merge branch 'release/20.12' 2020-12-16 23:53:57 +02:00
Ahmad Samir c03b43b4a1 Use setShowOpenOrExecuteDialog(true) with OpenUrlJob
It makes more sense for a file manager to always ask the user:
 - whether to execute binaries
 - whether to open an executable script as text or execute it

The openOrExecute dialog from KIOWidgets has a "don't ask again" checkbox,
and that setting is also accessible from Dolphin's settings dialog.

See the discussion at https://bugs.kde.org/show_bug.cgi?id=429839#c10
2020-12-16 23:51:06 +02:00
Elvis Angelaccio 1b192c67f9 Merge branch 'release/20.12' 2020-12-15 23:28:15 +01:00
Elvis Angelaccio aeea98837d DolphinContextMenu: drop wrong assert
`m_context` can also be `SearchContext` or `TimelineContext`, so this
assert has been wrong since 8b0c12a59c.
2020-12-15 22:56:06 +01:00
Anthony Fieroni c95d7fae79 Fix access url navigator while creating new tab in filename search view
BUG: 429628
BUG: 430434

Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
2020-12-15 21:44:10 +00:00
David Faure 42cd439af8 Merge remote-tracking branch 'origin/release/20.12' 2020-12-15 18:48:11 +01:00
David Faure da636bf513 Fix KIO warning when URL is empty 2020-12-15 18:45:20 +01:00
Alexander Lohnau 20370b4c9f Do not create instance of GeneralSettings just to access static members 2020-12-11 20:06:51 +01:00
l10n daemon script 784586672d GIT_SILENT made messages (after extraction) 2020-12-10 02:44:34 +01:00
Laurent Montel d2f044b32d operator+/- is disabled for QFlags in qt6 2020-12-09 07:55:44 +01:00
Méven Car ce3c243525 ContextMenu: Allow plugins submenus to react to Shift modifiers
In 9e4642d435 support was added for the
NewFileMenu.
This adds support for the Plugins submenu provided they relay their
parentWidget to their own menus.

BUG: 425997
2020-12-07 22:13:29 +00:00
Alexander Lohnau a4a7b5e8af servicemenuinstaller: Remove file if it already exists
This is the case when you update an entry.
2020-12-07 22:10:37 +00:00
Friedrich W. H. Kossebau ac97d98866 dolphinpart: fix broken part icon name 2020-12-07 22:09:58 +00:00
Friedrich W. H. Kossebau 9826d81034 dolphinpart: port to new KPluginMetaData-based KParts API 2020-12-07 22:09:58 +00:00
Friedrich W. H. Kossebau 07b7f76f7c dolphinpart: add JSON metadata to plugin, install into kf5/parts subdir 2020-12-07 22:09:58 +00:00
l10n daemon script 476fe42624 GIT_SILENT made messages (after extraction) 2020-12-06 08:14:05 +01:00
l10n daemon script 3c6f1e6881 GIT_SILENT made messages (after extraction) 2020-12-06 02:38:12 +01:00
Elvis Angelaccio 2274db954a Merge branch 'release/20.12' 2020-12-05 19:24:56 +01:00
Elvis Angelaccio c453393d35 Fix PlacesItemModelTest, 2nd try
This partly reverts 15a5189b11

The KDE CI does not have KDE_FULL_SESSION set, which means that KIO
doesn't add the recentlyused:// urls to the model, but defaults to the
old timeline:// urls instead.

In both cases KIO adds 2 places, so it is safe to always assume that the
expected model count is 14.
2020-12-05 19:15:51 +01:00
Elvis Angelaccio bc3e77d2ef Drop obsolete KF5 version check
We depend on 5.77 now.
2020-12-05 18:39:45 +01:00
Elvis Angelaccio c4a1903dd1 Add missing const 2020-12-05 16:58:04 +01:00
Ahmad Samir 1d64b9bb10 DolphinView: set the parent of layout in the ctor
This silences a runtime warning:
QLayout: Attempting to add QLayout "" to DolphinView "", which already
has a layout

Remove redudant setLayout() calls, passing a parent widget to the
Q*BoxLayout ctor sets that layout as the top-level layout for that widget.
2020-12-03 19:50:04 +00:00
Christoph Feck 9b8ac3ef3f GIT_SILENT Update Appstream for new release 2020-12-02 23:01:21 +01:00
Christoph Feck 16ec949f35 GIT_SILENT Update Appstream for new release
(cherry picked from commit 9b8ac3ef3f)
2020-12-02 23:01:21 +01:00
Méven Car 60b9eaa4c1 Toolbar: move and rename filter to edit menu above Search
This is to expose more filter.
Also rename "Show Filter Bar" to simply "Filter", keep "Show Filter Bar" as tooltip

Adds a toggle filter bar action.
2020-12-02 07:07:41 +00:00
Nate Graham ce11325115 Merge branch 'release/20.12' 2020-11-30 17:08:46 -07:00
Méven Car c2a7bde383 Re-allow to paste files via context menu
BUG: 429762
2020-11-30 22:18:48 +01:00
Alexander Lohnau dbf0f645d2 Utilize KFileItemActions::addActionsTo method from KIO 2020-11-29 14:34:07 +00:00
Nicolas Fella 94c1fe6299 Remove unused includes 2020-11-29 15:03:27 +01:00
Carson Black ad9c955835 [kitemlistview]: Animate rubberband fading out 2020-11-28 21:11:44 +00:00
Nate Graham 78c7429a35 Add placeholder text for empty views
Throughout our QML-based software, we now display placeholder text for
empty views so that the user knows that the view is actually empty, and
it's not that the software is just broken.

This commit introduces the same thing for Dolphin's main view.

BUG: 429248
BUG: 426354
FIXED-IN: 21.04
2020-11-28 19:06:28 +00:00