Commit graph

6256 commits

Author SHA1 Message Date
Elvis Angelaccio
8fd0d685a6 Merge branch 'release/20.12' 2020-11-15 22:46:34 +01:00
Felix Ernst
8999580e2a Increment kpartgui version
The defaults changed in 37327c9b0a but
I forgot to also bump the kpartgui version so this commit rectifies
that.
2020-11-15 15:21:44 +01:00
Méven Car
5c99790c94 Context Menu: Only add paste action to folders
Either the viewport, or the selected folder is used as destination.
The paste action is only added when enabled.
2020-11-14 20:28:01 +01:00
l10n daemon script
2bfe601272 GIT_SILENT made messages (after extraction) 2020-11-14 02:37:30 +01:00
Felix Ernst
4f645f1b29 Fix navigator alignment for right-to-left localizations 2020-11-13 11:29:54 +01:00
Alexander Lohnau
1208f86696 Fix qrc icon
Apparently the icon was not null, because the mimetype was known.
But there was no icon associated with it and we got an
icon which is not null, but has a null pixmap.
2020-11-12 17:16:50 +01:00
Alexander Lohnau
208d733ae3 Set empty value for packagekit transaction flags
Otherwise the value would be Trusted Only, which will
forbid installing local packages
2020-11-12 17:15:01 +01:00
Méven Car
6b1524e4ff Places panel: show a tooltip after 500 ms
BUG: 426455
FIXED-IN: 20.12
2020-11-10 08:04:15 +00:00
Felix Ernst
63f4981fe0 Adress the third round of Angelaccio's review comments
Additionally remove some redundant code concerning UrlNavigator visuals.
2020-11-09 23:49:07 +01:00
Felix Ernst
2d4d2ce9a1 Adress most of the second round of Angelaccio's review comments
This commit applies most suggestions which were made on the MR.
Most notably the DolphinUrlNavigator class is split up which leads to
the creation of a DolphinUrlNavigatorsController class.

Additionally some minor coding style and const correctness changes are
included.

The error value of cached integers is changed from -1 to INT_MIN
because situations could come up in which -1 would be a valid value.
2020-11-09 23:49:07 +01:00
Felix Ernst
4202383137 Apply Méven Car's suggestions 2020-11-09 23:49:07 +01:00
Felix Ernst
a418d6229e Fix a crash and extract unrelated changes
The secondary UrlNavigator is now created when and only when:
- split view mode is activated for the active tab
OR
- switching to a tab that has split view already enabled.
This fixes a crash that occurs when the setting to always start in
split view mode is enabled.

An animation for activating split view is also removed from this and
moved into a separate MR. Another unrelated name change left over from
a previous commit (viewContainers() -> activeViewContainers()) is
dropped.
2020-11-09 23:49:07 +01:00
Felix Ernst
37327c9b0a Make UrlNavigators in the toolbar the only option
The UrlNavigators will be automatically added to the toolbar. The Sort By
action is removed from the default toolbar to make space.

Remove all options to have UrlNavigators outside the toolbar and remove
those code paths.

Make it so the new NavigatorsWidgetAction contains two UrlNavigators when
in split view mode. Spacing was also added to align these UrlNavigators
with the ViewContainers when enough space is available.

Force the toolbar to be either at the top or bottom of the window.

Set a sane sizeHint for DolphinUrlNavigator. It would be better to do this
in KUrlNavigator in the future.

This commit also contains a changes which should be moved to a separate
merge requests before this gets merged:
- Add an expansion animation when split view is enabled by the user
2020-11-09 23:49:07 +01:00
Felix Ernst
6151a7aec0 Add the UrlNavigator to the toolbar automatically if needed
This commit adds the DolphinUrlNavigatorWidgetAction::addToToolbarAndSave()
method which changes the users toolbar configuration to contain an
Url Navigator. This way the user doesn't need to do anything manually.

Aside from that a bunch of minor fixes like renaming and reordering
2020-11-09 23:49:07 +01:00
Felix Ernst
b6fc58c3c3 Adress the first round of Angelaccio's review comments
- Split the viewContainers(bool includeInActive) into two methods
    without parameters
- Prevent users from accidently hiding all Url Navigators by
    preventing the dangerous action and then displaying a helpful
    message instead
Unrelated to review comments: Remove a useless line of code
2020-11-09 23:49:07 +01:00
Felix Ernst
00abc6d280 trailing whitespaces 2020-11-09 23:49:07 +01:00
Felix Ernst
ad5d3367c7 Add an option to use an UrlNavigator in the toolbar instead
This commit adds a locationInToolbar KToggleAction to switch between
using a location bar to navigate or using a new custom QWidgetAction
in the toolbar.

A big portion of this MR is refactoring because until now the
UrlNavigator was tightly intertwined with the DolphinViewContainer.
With this MR an UrlNavigator for controlling a View can be freely
connected or disconnected with a single method call.

A DolphinUrlNavigator class is created in the process which contains all
Dolphin-specific UrlNavigator code which did previously reside in the
DolphinViewContainer class. Other application parts that belong to
UrlNavigator-management are also moved here.
2020-11-09 23:49:07 +01:00
Méven Car
880766bd56 PlacesItemListWidget: Use Solid to check if device is a network share 2020-11-09 12:30:43 +00:00
Elvis Angelaccio
f6327ffec8 Add missing reference 2020-11-08 23:23:07 +01:00
Ismael Asensio
ee4ab8ce69 Iterate over a const copy list of containers
This effectively reverts the mutable iterations approach on
2448f88c5f, and fix crashes
and ghost items when using the filter bar

BUG: 428374
2020-11-08 21:59:34 +00:00
Alexander Lohnau
801fb7e0fd Do not expose KCMs in application launchers
We still need to build them, because they
are also loaded on konqueror.
2020-11-07 14:51:20 +00:00
Méven Car
1c2fbdef09 KDirectoryContentsCounter: fix support of symlinks dir
BUG: 428712
FIXED-IN: 20.12
2020-11-07 06:21:11 +00:00
Elvis Angelaccio
465e06138e Add support for KUserFeedback
This commit introduces KUserFeedback in dolphin with some basic data
sources and with a settings page to configure the telemetry values.

There are also a couple custom data sources as proof of concept: a bunch
of settings and the count of available network shares as listed by Solid.

The settings page is shown only if the user feedback framework is
enabled, but currently in Plasma we don't have a global kill switch to
disable it.

At the moment we never show an encouragement message. We need to connect
to the `Provider::showEncouragementMessage()` signal, but first we
should agree to a common way to show a non-annoying message to the users.
2020-11-05 18:31:28 +00:00
Méven Car
61bf84c13d Details view: display empty text instead of unknown for sizeless dirs
BUG: 420037
BUG: 420040
FIXED-IN: 20.12
2020-11-05 08:50:55 +01:00
Chris Holland
6a196bf69d Move m_textInfo to fix ctor warning, and document why it's protected. 2020-11-04 23:16:13 +00:00
Chris Holland
70656d08f9 Use QDeadlineTimer instead of QDateTime.
Use early returns instead of deeply nested if/else.
2020-11-04 23:16:13 +00:00
Chris Holland
60c3fa8d39 Cleanup imports 2020-11-04 23:16:13 +00:00
Chris Holland
9e9cb4d1e1 Remove wip debugging 2020-11-04 23:16:13 +00:00
Chris Holland
ee743717e5 Fix freeSpaceInfo cache not being reset. 2020-11-04 23:16:13 +00:00
Chris Holland
b8e68a5ea9 Use KDE GitLab url instead of the GitHub mirror 2020-11-04 23:16:13 +00:00
Chris Holland
4a0dbdea4f Cleanup unused colors. Use const. Use KColorScheme danger.
The draw code is more like the last state of D21312 now.
2020-11-04 23:16:13 +00:00
Chris Holland
89ede4b9a1 Refactor capacity by to use async KIO FreeSpaceJob.
Based on this kio filepicker patch:
933887dc33
2020-11-04 23:16:13 +00:00
Chris Holland
8f76df41da Only show capacity bar for devices (has a udi). 2020-11-04 23:16:13 +00:00
Chris Holland
e75326077b Only check if place url is mount point once during polish event.
The capacity bars will no longer update when capacity changes. It only
checks the size on init.

Updating during polish event is only a temporarily solution just to
draft code flow for seperating logic from painting. Eventually this
logic update should be in a worker thread detached from blocking the
rendering thread that blocks launching the dolphin window.
2020-11-04 23:16:12 +00:00
Chris Holland
ac6de72048 Draw 2 Rectangles below mount points to represent a disk capacity bar
Draws overtop text that's goes below the baseline like a 'j'. It's
fairly difficult to add extra space below the text as the places view
is a "details" view, so the text is vertically centered in the
widget's "row" as you'd desire it to in the main file view.

We can make the widget 8px taller, adding 4px above and below so
there's adequate room for the capacitybar, but that wastes 4px for
each mount point.

Ideally we'd use the "compact" view, which displays the text/size in a
column beside the icon. However the compact view was not designed to
take up the entire width of the viewport. It's also designed to
overflow with a horizontal scrollbar.
2020-11-04 23:16:12 +00:00
Ezike Ebuka
e9a39700fc Improve padding in the Places View 2020-11-04 21:54:10 +00:00
Méven Car
c7d4c37534 Compute text width taking into account the zoom level
This makes the icon view less crowded.
2020-11-03 10:03:45 +00:00
l10n daemon script
af1e13f9fa 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"
2020-11-03 06:20:03 +01:00
Méven Car
ffe01ee840 FolderPanel: prevents scanning directory tree recursively
KFileItemListView contents are periodically scanned by KFileItemModelRolesUpdater.
It uses then KDirectoryContentsCounter to scan directories to determine their size possibly recursively.

Introduce a scanDirectories setting to disable directory scanning by KFileItemModelRolesUpdater.

BUG: 426617
FIXED-IN: 20.08.3
2020-11-03 02:21:43 +00:00
l10n daemon script
5e9a869a39 GIT_SILENT made messages (after extraction) 2020-11-03 02:35:33 +01:00
Elvis Angelaccio
15a5189b11 Fix PlacesItemModelTest
Since 3dfa0c1c2f87bf1e6bc9 in kio timeline:// is no longer in the places
model.
2020-11-02 01:09:55 +01:00
Elvis Angelaccio
299aff588d servicemenuinstaller: use Q_GLOBAL_STATIC
Global statics should be avoided when possible.
This fixes a clazy warning.
2020-11-02 00:03:20 +01:00
Elvis Angelaccio
6496721110 Port away from deprecated QWheelEvent::delta()
QWheelEvent::angleDelta() returns a QPoint instead of int, so we need to
use its y() value to get the number of steps.
2020-11-01 23:42:46 +01:00
Elvis Angelaccio
327c22bc3b Use QString::rightRef() as suggested by clazy 2020-11-01 23:31:58 +01:00
Martin T. H. Sandsmark
15baa93640 make sure we use valid icons 2020-11-01 22:17:17 +00:00
Martin T. H. Sandsmark
891ebf5758 Fix warnings about scaling pixmaps 2020-11-01 22:17:17 +00:00
Christoph Feck
adfca90730 GIT_SILENT Update Appstream for new release
(cherry picked from commit 92d41a7433)
2020-10-31 17:58:55 +01:00
David Faure
97fbcf3ab5 Port from QStandardPaths::DataLocation to QStandardPaths::AppDataLocation
They are the same on Linux (but DataLocation is deprecated). On Windows this enables the use of the roaming path.

NO_CHANGELOG
2020-10-31 14:31:22 +01:00
Nate Graham
bf11c835eb Disable session management for daemon
We don't need to autostart the daemon if it was running at logout.

BUG: 417219
FIXED-IN: 20.12
2020-10-29 15:00:39 -06:00
Lothar Paltins
129570b131 Fix wrong parameter in function call
In KDirectoryContentsCounterWorker::CountResult, the first parameter in
the call of walkDir was wrong. It should be path without conversion,
because the conversion is done in the called function.

BUG: 428282
2020-10-27 15:54:03 +01:00
Alexander Lohnau
2448f88c5f Use mutable iterators where required 2020-10-24 16:46:34 +02:00
Alexander Lohnau
97415729c3 Compile with QT_NO_KEYWORDS 2020-10-23 18:23:06 +00:00
Alexander Lohnau
a24327cd50 Compile without foreach 2020-10-23 18:23:06 +00:00
Elvis Angelaccio
360a8dd883 DolphinTabWidget: prefer QUrl::toDisplayString() for tooltips
This is better for remote urls.

!35
2020-10-23 19:15:07 +02:00
Elvis Angelaccio
be3ffecf0b KItemListSizeHintResolver: remove no longer used member 2020-10-23 19:02:32 +02:00
Nate Graham
c733b3aa97 Don't session-restore invalid paths
When session restore is populating the main window, it's unconditional;
you'll get whatever was there before. This can be a problem if any of
those things are now missing. For example, maybe you were browsing files
on a removable disk, then quit Dolphin, and finally removed the disk. The
next time you launch Dolphin again, it will try to show you the
view from the now-missing removable disk.

To prevent this, we now look at all the URLs in all of the view
containers that were created after session-restore has finished doing
its thing; if any of them are invalid local URLs, we change the URL to
the home folder instead to avoid showing the user a view with an invalid
location in it.

BUG: 427619
FIXED-IN: 20.12
2020-10-23 17:00:09 +00:00
Nate Graham
ae1d441dac Show home folder if needed after unmounting mounted disk
Right now, when you unmount a device that any active view containers are
displaying, nothing in the view changes. As a result, it's possible to
try to navigate to files or folders in that view, which cannot be done
because the disk that the files or folders are located on has been
unmounted!

With this commit, we detect that case and switch the view containers
to show the home folder after the disk whose contents they are displaying
gets unmounted.

BUG: 158934
FIXED-IN: 20.12
2020-10-23 17:00:09 +00:00
Nate Graham
1501825d44 Fix DolphinMainWindow::viewContainers() to take into account split views
The function was previously assuming that each tab view has exactly one
view container, which is not necessarily accurate; some could have a
split view open.
2020-10-23 17:00:09 +00:00
Laurent Montel
47a5071fc9 If include is define in .h remove it if it's defined in .cpp too (scripted) 2020-10-23 07:43:43 +02:00
Laurent Montel
40cc911319 Remove not implmemented method 2020-10-17 18:05:17 +02:00
l10n daemon script
20a919b787 GIT_SILENT made messages (after extraction) 2020-10-17 02:34:34 +02:00
Elvis Angelaccio
29b894dbba Port away from QTimeLine::setCurveShape()
As recommended, we now set `easingCurve` directly.
2020-10-15 01:27:28 +02:00
Elvis Angelaccio
1ded75ce44 Stop using QVariant < operator
It will be removed in Qt 6 without porting strategy:
f43cb31ba0

We know that that variants will be either ints (for `count`) or longs (for `size`),
so just convert them to longs (to avoid overflows) and compare those.
2020-10-15 01:22:00 +02:00
Elvis Angelaccio
d9956c620e Drop obsolete version check
We require Qt 5.14 now.
2020-10-15 01:22:00 +02:00
Elvis Angelaccio
de69336178 Port to non-deprecated QLabel::pixmap()
Quoting from:
714409b23c

```
The QLabel changes to the pixmap/picture getters provide the following
migration path:

QPixmap *ppix = l->pixmap(); // up to 5.15, warns in 5.15
QPixmap pval = l->pixmap(Qt::ReturnByValue); // new in 5.15, works in 6
QPixmap pixmap = l->pixmap(); // from Qt 6 on
```

Since we can't require 5.15 yet in dolphin, the port is done only when
building with Qt >= 5.15
2020-10-15 01:22:00 +02:00
Elvis Angelaccio
a403df91b7 Port to non-deprecated QString::split() variant
This requires Qt 5.14, which we now depend on.
2020-10-15 01:22:00 +02:00
Elvis Angelaccio
3bf2922e33 Port away from QList::toSet()
The QSet range constructor requires Qt 5.14.

In `DolphinView::slotHeaderContextMenuRequested()` the conversion from
QList to QSet was pointless, so we just use a QList now.
2020-10-15 01:22:00 +02:00
tolu schr
31cba55cff Add tooltip to tabbar 2020-10-13 17:44:32 +00:00
Nate Graham
b343fdffc5 Show "Open With" menu items even for empty dirs
We found some legitimate use cases for this after all! :)

This reverts 14f0cd52f6

BUG: 427573
FIXED-IN: 5.12
2020-10-12 18:16:53 -06:00
Nate Graham
4937992e93 When restoring former window state, append any URLs passed as args
Before, when Dolphin was closed but opened with any URLs, it would open
a new window with only those URLs, rather than restoring any window
state (if the user has this feature enabled).

Now, Dolphin will first restore state (if enabled) and then append any
URLs, rather than replacing the existing set of URLs.

The "new instance" case was previously handled automatically and now
needs to be explictly handled by checking for it, to make sure that new
instances give you a clean window rather than a state-restored window.

BUG: 427274
FIXED-IN: 20.12
2020-10-11 17:02:49 +00:00
l10n daemon script
95e34931c0 GIT_SILENT made messages (after extraction) 2020-10-10 02:33:01 +02:00
Nate Graham
462982faa3 Merge branch 'release/20.08' into master 2020-10-05 15:19:04 -06:00
Jan Paul Batrina
daa0fc341d When an invalid protocol is used, reset the navigator location to the previous url
BUG: 413478
2020-10-05 20:11:11 +00:00
Ahmad Samir
aa12f9ec1d Don't trigger rubberband with back/foward mouse buttons
Right now the back/foward mouse buttons work, but also if you hold either
of them and move the mouse the rubberband selection is triggered.

This is the correct fix (instead of commit d0c71a1435), to match the
original code before the touch events patches,  we need to check the
back/foward buttons after mouseButtonPressed is emitted and before
triggering the rubberbad selection.
2020-10-04 19:41:40 +00:00
Nate Graham
6cf628cbd0 Don't warn when closing multiple tabs if restoring window state
When we're using the "restore window state" feature, there's no need to
warn when closing multiple tabs, because they're saved and you can just
re-open the window.
2020-10-03 09:39:16 -06:00
Christoph Feck
3d8bb6c385 GIT_SILENT Update Appstream for new release
(cherry picked from commit 38f32d5232)
2020-10-03 14:10:20 +02:00
Christoph Feck
38f32d5232 GIT_SILENT Update Appstream for new release 2020-10-03 14:10:19 +02:00
l10n daemon script
e779e6af1a GIT_SILENT made messages (after extraction) 2020-10-02 08:21:10 +02:00
l10n daemon script
f1a1711ec6 GIT_SILENT made messages (after extraction) 2020-10-02 02:29:19 +02:00
Elvis Angelaccio
041d6a4bd8 Fix build failure after last commit 2020-09-26 17:12:39 +02:00
Steffen Hartleib
81cf9f0375 Allow interaction with folder/files with the stylus again
This Patch works for Wayland and X.

BUG: 426582
2020-09-26 14:53:57 +00:00
l10n daemon script
71bc4498a3 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"
2020-09-24 10:10:10 +02:00
Jonathan Marten
b02046c548 Select/Unselect dialogue: Retain a history of entries made there
It's a very useful facilitity, and having a history of entries and being
able to recall earlier ones makes it even more useful for repetitive
operations.
2020-09-23 11:07:29 +00:00
l10n daemon script
06d629ec6e 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"
2020-09-23 06:39:00 +02:00
Nate Graham
15928112ce Make "Show hidden files" action follow HIG
The action is a toggle action, for which the HIG prescribes that the
text should describe the action's checked state, and neither the text
nor the icon should change when the action is checked. Other toggle
actions in Dolphin follow these rules, but this one does not.

This commit makes the action follow those rules.
2020-09-22 20:22:43 +00:00
Ahmad Samir
9b83378c08 Check protocol Class before creating a StatJob
StatJob::mostLocalUrl only works with ":local" protocols, adjust the code
accordingly.

Make the code async.

Remove activeContainerLocalPath() method as it isn't needed anymore.

Drive-by change: minimum required version of Qt should be 5.12 because
that's what KF >= 5.73 already requires.
2020-09-20 21:29:23 +00:00
Ahmad Samir
d0c71a1435 Fix mouse back/forward buttons
We need to emit mouseButtonPressed (now in the onPress method) before the
check needed to not select items on back/foward mouse button press events.
2020-09-20 18:38:29 +02:00
Alexander Lohnau
827b79f5c8 Exclude trash settings from windows 2020-09-20 10:11:37 +02:00
l10n daemon script
a32cb1c915 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"
2020-09-20 09:20:49 +02:00
Ayushmaan jangid
bb85b6267a Fix unused variable warning 2020-09-18 17:21:37 +00:00
l10n daemon script
65c2d95a7d 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"
2020-09-14 09:58:23 +02:00
l10n daemon script
1d47e96913 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"
2020-09-14 06:15:19 +02:00
l10n daemon script
7d3e9f726b GIT_SILENT made messages (after extraction) 2020-09-14 02:33:22 +02:00
Ahmad Samir
b3c815d615 Fix style, not space between method name and (; improve wording
GIT_SILENT
2020-09-13 22:14:34 +02:00
Steffen Hartleib
d7b33b76a1 Improve Touch support
With this patch dolphin now supports the following touch gestures:

* Tap gesture to interact/open with directories, files and so on
* TapAndHold and release gesture for access to the context menu (main window, panel folder, places and information)
* TapAndHold and moving gesture for drag and drop action (main windows, panel folder and places)
* pinch gesture for zoom in main window
* kinetic scrolling (QScroller) for main window, panel folder, panel places, panel information, setting preview and service
* two fingers swipe gesture to left, right and up as shortcut to navigate back, forward and up
* two finger tap gesture to toggle item selection, similar to Ctrl and left mouse click

FEATURE: 385066
FIXED-IN: 20.11.80

 You are currently rebasing branch 'touch' on '85241a924'.
2020-09-13 18:53:32 +00:00
Ayushmaan jangid
d899c2b401 Fix wreorder warning 2020-09-13 17:52:09 +00:00
Ahmad Samir
2abf1c9ddb TerminalPanel: StatJob::mostLocalUrl only works with ":local" protocols
StatJob::mostLocalUrl was changed to cancel the job automatically if the
protocol Class isn't ":local", mostLocalUrl only makes sense with ioslaves
that actually set UDS_LOCAL_PATH (which should have calss ":local").

I tested that kio-fuse still works, when having the terminal panel open and
changing direcotries in Dolphin, with an sftp:// server.
2020-09-13 16:49:43 +02:00
Carl Schwan
ef68a41250 Update org.kde.dolphin.appdata.xml homepage url 2020-09-13 06:53:44 +00:00
Alexander Lohnau
c31b08cf61 Do not build KCMs on windows 2020-09-10 22:37:21 +00:00
l10n daemon script
214b017266 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"
2020-09-10 10:12:36 +02:00
l10n daemon script
ae5ac1dbb8 GIT_SILENT made messages (after extraction) 2020-09-10 08:53:28 +02:00
l10n daemon script
98acc7f193 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"
2020-09-10 06:35:50 +02:00
l10n daemon script
736c9958e7 GIT_SILENT made messages (after extraction) 2020-09-10 02:35:51 +02:00
Carl Schwan
e8386a80ea Port to modern SPDX identifier 2020-09-09 21:39:03 +00:00
l10n daemon script
ddccf4f320 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"
2020-09-09 06:36:13 +02:00
l10n daemon script
f73917872a GIT_SILENT made messages (after extraction) 2020-09-09 02:44:30 +02:00
Nate Graham
67ebd66f94 Merge branch 'release/20.08' into master 2020-09-08 13:38:38 -06:00
Nate Graham
9fffa4b253 Fix untranslated spinbox suffix strings
BUG: 426286
FIXED-IN: 20.08.2
2020-09-08 10:59:34 -06:00
Elvis Angelaccio
576a97d8eb Merge branch 'release/20.08' into master 2020-09-05 22:55:59 +02:00
Elvis Angelaccio
aee26d29f1 Revert "Set a better defaultDropAction for dragging"
This reverts commit 4440e961a0.

BUG: 425757
BUG: 426196
FIXED-IN: 20.08.2
2020-09-05 22:51:36 +02:00
Alexander Lohnau
8e2f0a1d5b Clear services model after KNS entries changed
We can not know if a service got deleted, so we clear
the model and reload the services. The issue that the entries are
not uninstalled has already been solved, this is just a patch to
fix the state of the UI.

CCBUG: 420312
2020-09-05 17:32:48 +00:00
l10n daemon script
a1d5d75bea 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"
2020-09-03 06:10:45 +02:00
l10n daemon script
745fdeece3 GIT_SILENT made messages (after extraction) 2020-09-03 02:33:12 +02:00
l10n daemon script
49b07b3c5c GIT_SILENT made messages (after extraction) 2020-09-02 02:39:58 +02:00
l10n daemon script
4b438da3cb 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"
2020-09-01 10:13:23 +02:00
l10n daemon script
d624af1091 GIT_SILENT made messages (after extraction) 2020-09-01 08:46:02 +02:00
l10n daemon script
f15f74e241 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"
2020-09-01 06:25:15 +02:00
Laurent Montel
7479fef799 Port away from deprecated Qt::MidButton 2020-08-31 21:24:03 +02:00
Christoph Feck
6ffa7f460e GIT_SILENT Update Appstream for new release 2020-08-31 20:52:32 +02:00
Christoph Feck
eafaca44da GIT_SILENT Update Appstream for new release
(cherry picked from commit 6ffa7f460e)
2020-08-31 20:52:32 +02:00
Alexander Lohnau
e8c4500459 Do not build KNS installer and KNS button on Windows 2020-08-31 16:57:03 +00:00
Alexander Lohnau
8d7775b174 Allow Open Terminal action on Windows 2020-08-31 08:21:59 +00:00
Alexander Lohnau
5360bc3ab3 Merge branch 'release/20.08' 2020-08-30 18:49:22 +02:00
Alexander Lohnau
004734e832 Fix file preview for desktop files with absolute icon paths
BUG: 423326
FIXED-IN: 20.08.1
2020-08-30 18:46:32 +02:00
Nikita Churaev
7c2559dd0b Text style fixes 2020-08-26 03:37:31 +03:00
Elvis Angelaccio
6072005ddc Merge branch 'release/20.08' into master 2020-08-26 00:49:00 +02:00
Alexander Lohnau
e42f42fa27 Fix nullptr crash on Windows 2020-08-25 19:36:03 +02:00
Elvis Angelaccio
954e8c4790 Output of licensedigger + manual cleanup afterwards.
Unfortunately licensedigger does not strip the trailing * characters.
While at it, use a common style for all source files.
2020-08-25 17:07:38 +00:00
Nate Graham
a47d8c0e97 Change group spacing from 18px to 12px
This is the value used in QML-based software, so now Dolphin's form
layout settings dialogs look consistent.
2020-08-24 12:35:08 -06:00
Elvis Angelaccio
438620f2b7 Merge branch 'release/20.08' into master 2020-08-23 23:54:23 +02:00
Nazar Kalinowski
771b9c8fc2 Fix 'show space' setting not being re-applied
BUG: 425542
2020-08-23 23:52:13 +02:00
Ahmad Samir
257eeebf4b Port KRun to OpenUrlJob
In DolphinMainWindow, since KRun allows running executables by default, use
setRunExecutables(true) so as not to change the behaviour.

Remove the now redundant slotHandleUrlStatFinished, that whole StatJob
logic is now handled by OpenUrlJob.

Bump KF required version to 5.73, since that's where
OpenUrlJob::setShowOpenOrExecuteDialog was introduced.
2020-08-18 08:43:58 +00:00
Elvis Angelaccio
864b59fcf1 Port away from QWheelEvent::orientation()
We are supposed to use QWheelEvent::angleDelta() instead. Upon an
horizontal/vertical scroll event, its `x()`/`y()` method will return a
value different from zero.
2020-08-17 20:19:44 +00:00
Yuri Chornoivan
97a14db70d Merge branch 'release/20.08' 2020-08-08 15:57:02 +03:00
Yuri Chornoivan
df85f24ecb Fix i18n 2020-08-08 15:34:17 +03:00
Christoph Feck
5c41350eec Merge branch 'master' of invent.kde.org:system/dolphin 2020-08-05 09:43:32 +02:00
Christoph Feck
e9e74dcad9 GIT_SILENT Update Appstream for new release
(cherry picked from commit a499df21bc)
2020-08-05 09:42:52 +02:00
Christoph Feck
a499df21bc GIT_SILENT Update Appstream for new release 2020-08-05 09:42:51 +02:00
Ismael Asensio
73cac464c5 Merge branch 'release/20.08' 2020-08-04 22:39:11 +02:00
Ismael Asensio
f9fd0e7be3 [search] Close tags menu after click when there is only one tag
It stays open otherwise to allow checking/unchecking several tags at a time

BUG: 424873
FIXED-IN: 20.08
2020-08-04 22:34:05 +02:00
Antonio Rojas
7bbae2940d Merge branch 'release/20.08' into master 2020-08-02 18:51:03 +02:00
Antonio Rojas
48158d7079 Remove MaximumSize entry from kdeglobals when settings the preview file size limit to "No limit"
Instead of setting it to 0, which KIO's PreviewJob interprets as "No previews", breaking previews in konsole and Plasma desktop

BUG: 424403
2020-08-02 16:45:15 +00:00
l10n daemon script
52a7af86c5 GIT_SILENT made messages (after extraction) 2020-08-02 07:59:53 +02:00
l10n daemon script
4c3924d923 GIT_SILENT made messages (after extraction) 2020-08-02 02:29:12 +02:00
Timothée Ravier
6faaf3e9e8
Icon: Update with latest breeze icon 2020-07-26 12:11:13 +02:00
l10n daemon script
e25d3c9bba GIT_SILENT made messages (after extraction) 2020-07-23 02:35:24 +02:00
Nate Graham
bb7bdbc911 Merge branch 'release/20.08' 2020-07-19 12:23:25 -06:00
Antonio Rojas
ce981c3e4a Fix "Show folders, tabs, and window state from last time" feature
We were using the DBus interface before declaring it, oops.

BUG: 422300
FIXED-IN: 20.08.0
2020-07-19 08:03:56 -06:00
Alexander Lohnau
00e4571e3c Fix deprecated knsrc file location
This fixes the `kf.newstuff.core: Using a deprecated location for the knsrc file "servicemenu.knsrc"` warning.
2020-07-18 16:43:43 +02:00
Alexander Lohnau
be182ae30b Fix deprecated knsrc file location
This fixes the `kf.newstuff.core: Using a deprecated location for the knsrc file "servicemenu.knsrc"` warning.
2020-07-17 19:31:03 +02:00
l10n daemon script
1995668f8e 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"
2020-07-15 05:52:19 +02:00
Laurent Montel
675699dfc0 Use camelcase includes (scripted) 2020-07-13 14:03:00 +02:00
Ismael Asensio
bf2eb0d69d Fix selection rect after porting from QFontMetrics::width()
After porting from QFontMetrics::width() to QFontMetrics::boundigRect().width() in system/dolphin!10 we have a visual bug on selection rects, that can be seen on details and compact modes.

While from https://kdepepo.wordpress.com/2019/08/05/about-deprecation-of-qfontmetricswidth/ the use of `boundingRect()` would seem the right option to use (and I struggle to get the difference between the two methods when applied to a whole string and not a single char), in this case the `horizontalAdvance()` seems to return the value we need.

BUG: 421973
FIXED-IN: 20.07.70
2020-07-12 23:30:14 +02:00
Ismael Asensio
76a46fd909 Fix selection rect after porting from QFontMetrics::width()
After porting from QFontMetrics::width() to QFontMetrics::boundigRect().width() in system/dolphin!10 we have a visual bug on selection rects, that can be seen on details and compact modes.

While from https://kdepepo.wordpress.com/2019/08/05/about-deprecation-of-qfontmetricswidth/ the use of `boundingRect()` would seem the right option to use (and I struggle to get the difference between the two methods when applied to a whole string and not a single char), in this case the `horizontalAdvance()` seems to return the value we need.

BUG: 421973
FIXED-IN: 20.07.70
2020-07-12 21:28:02 +00:00
Ismael Asensio
2fc117703f Add support to tags: scheme in DolphinQuery
It allows to start a search from a `tags:/mytag/` view.
The use case is to refine a search on additional terms (another tags,
ratings, etc)
2020-07-11 18:33:58 +00:00
Elvis Angelaccio
85241a9246 Port away from QLinkedList
`QLinkedList` has been deprecated and should not be used in new code. Port
to `std::list` instead.
2020-07-06 07:16:27 +00:00
Ismael Asensio
ee97db4dfc [search] Fix corner cases when using quotes in filenames
The `filename` term in a search query is enclosed into quotes.
As the user can have additional quotes in the search term, there were several
corner cases where the parsing would fail to correctly split the terms

New test cases have been added to cover this possibility
Previous tests still passes to avoid regressions

BEFORE:
```
(filename/quoted) Compared values are not the same
Actual   (query.text()): "xyz\"\""
Expected (expectedText): "\"abc xyz\""

(filename/mixed) Compared values are not the same
Actual   (query.text()): "xyz\" tuv\""
Expected (expectedText): "\"abc xyz\" tuv"

(content+filename/quoted) Compared values are not the same
Actual   (query.text()): "abc xyz xyz\"\""
Expected (expectedText): "abc xyz filename:\"\"abc xyz\"\""
```
2020-07-05 17:15:31 +00:00
Ismael Asensio
ec03435022 [search] Do not update text input when it has focus
When the user is entering a search term, a delayed search will be
emmited after a few seconds. This means updating the search URL, which
in turn gets parsed and reflected back on the search input.

To avoid interrupting the user input flow and unexpectedly move the
cursor to the end, let's update the input search box only when it
doesn't have the focus.

It's still updated on other interactions such as changing the search
options or clicking a saved search on the places panel.

BUG: 423328
FIXED-IN: 20.08
2020-07-05 17:14:19 +00:00
Elvis Angelaccio
275d7b537d Merge branch 'release/20.04' 2020-07-05 17:26:52 +02:00
Wolfgang Bauer
7a6956da99 Write correct value for "Open in application" script execution setting
KIO actually uses "alwaysAsk", "execute", and "open" as possible values.

When reading the setting, map unknown values to "open" like KIO does.
That also provides compatibility with older dolphin versions.

BUG: 421294
FIXED-IN: 20.04.3
2020-07-05 15:22:47 +00:00
Christoph Feck
bbae04bc4e GIT_SILENT Update Appstream for new release
(cherry picked from commit a91d1db062)
2020-07-03 22:53:42 +02:00
Christoph Feck
a91d1db062 GIT_SILENT Update Appstream for new release 2020-07-03 22:53:42 +02:00
Yann Holme-Nielsen
86e3b82efb ## Summary
* Adds a "Copy location" item, after the "Copy" Context item and Edit Menu, which will attempt to copy the path of the fist item into clipboard.

## Reasoning
Most File Managers have this option through one or another way.
Also using the default Copy option often results in different behaviour depending on the target software, Konsole will take the path. Other Programs will use the URI. Which ultimately could lead to non optimal User Experience.

## Notes
* Should the target file **not** be on a local hard drive, this fallback to using the remote URL, feedback is wanted on that matter.

FEATURE: 407004
2020-06-29 22:27:33 +00:00
Alexander Lohnau
d1baf3398e Merge branch 'release/20.04' 2020-06-23 17:42:06 +02:00
Alexander Lohnau
37df39b93b Fix file preview for desktop files with absolute icon paths
BUG: 423326
2020-06-23 08:22:42 +02:00
Ismael Asensio
f57ee4b64d Expand DolphinQuery to support different Url schemes 2020-06-22 12:33:29 +00:00
Kai Uwe Broulik
f2c09faf00 Generalize Player protocol support
In preparation for AFC support in KFilePlacesModel.
This needs to go into stable since otherwise once Solid announces
AFC devices Dolphin would see them but try to open them as MTP URL
2020-06-22 09:51:35 +00:00
l10n daemon script
db408cf09d 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"
2020-06-18 08:34:48 +02:00
l10n daemon script
5a9a644fb8 GIT_SILENT made messages (after extraction) 2020-06-18 07:20:24 +02:00
l10n daemon script
aea6128fe6 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"
2020-06-18 05:48:38 +02:00
l10n daemon script
af93215bfd GIT_SILENT made messages (after extraction) 2020-06-18 02:28:52 +02:00
l10n daemon script
d5c1ac07db 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"
2020-06-17 16:57:19 +02:00
l10n daemon script
418b225f89 GIT_SILENT made messages (after extraction) 2020-06-17 15:40:57 +02:00
l10n daemon script
9c43e3de7d 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"
2020-06-17 14:16:01 +02:00
l10n daemon script
d6f95521b3 GIT_SILENT made messages (after extraction) 2020-06-17 11:41:34 +02:00
Méven Car
c81927651a Places: Use Solid::Device::DisplayName for DisplayRole
Summary:
BUG: 415281
FIXED-IN: 20.08
Counter-part of D26113

Test Plan:
Before:
{F8215025}
After:
{F8215027}

Reviewers: ngraham, #dolphin

Reviewed By: ngraham, #dolphin

Subscribers: broulik, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26114
2020-06-16 19:37:18 +02:00
l10n daemon script
799c532d23 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"
2020-06-13 05:34:06 +02:00
l10n daemon script
85f5156a33 GIT_SILENT made messages (after extraction) 2020-06-13 02:21:10 +02:00
Gastón Haro
0f0d14d4c2 Provide ability to configure size cut-off for local file previews
Summary:
FileWidgets read from kdeglobals the property "MaximumSize" under "PreviewSettings" to decide if a preview will be generated for that file.
There is no current GUI to change that file size limit. On the other hand Dolphin ignores it.

This patch aims to fix that by adding new configuration options to Dolphin. That is a new spinbox in Dolphin settings under General -> Previews tab.

Test Plan:
1 - Set up a local folder with 2 jpg images of less and more than 1 MB respectively.
2 - Go to Dolphin Preferences. General -> Previews and check "JPEG Images" from
    the list. And set "Skip previews for files above:" to 1MB.
3 - Navigate to the afore mentioned folder. Only the image of size less than 1 MB should
    show a preview.

BUG: 331240

Reviewers: ngraham, #dolphin, meven, elvisangelaccio

Reviewed By: ngraham, #dolphin, meven, elvisangelaccio

Subscribers: cfeck, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D28402
2020-06-09 11:05:55 -06:00
Christoph Feck
ecc8b18b2a GIT_SILENT Update Appstream for new release
(cherry picked from commit 9e3c8a06ee)
2020-06-08 19:47:52 +02:00
Christoph Feck
9e3c8a06ee GIT_SILENT Update Appstream for new release 2020-06-08 19:47:51 +02:00
Méven Car
bf4388c755 Status bar: Hide the space free bar when size is unknown
Summary:
BUG: 420027
BUG: 422226
FIXED-IN: 20.08

Test Plan: {F8312398}

Reviewers: #dolphin, ngraham, broulik, #vdg, elvisangelaccio

Reviewed By: #dolphin, ngraham, #vdg, elvisangelaccio

Subscribers: elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29213
2020-06-08 07:49:45 +02:00
Ismael Asensio
f7a3318fa5 Detect animated format using mimeType instead of file path
This allows to extend the functionality to non-local files and avoids a warning
on such files (`QFSFileEngine::open: No file name specified`)
2020-06-06 18:40:03 +02:00
Nate Graham
f987a1c404 Merge branch 'release/20.04' 2020-06-03 11:51:01 -06:00
Nate Graham
70b3f61e1e Show progress when duplicating items
For unknown reasons, when I implemented this feature, I turned off
progress notifications. I don't think this makes any sense, and we just
got a bug report about it.

Accordingly, this patches turns on progress notifications.

BUG: 422335
FIXED-IN: 20.04.2
2020-06-01 09:58:25 -06:00
Elvis Angelaccio
c16f777b28 Fix FIFO usage
`m_propriorityQueue` and `m_queue` are used as FIFO queues, so we need
to use `takeFirst()` instead of `takeLast()` when removing elements
from the queue.

While at it, add a comment so that we will remember these are FIFO
queues.
2020-05-31 23:45:07 +02:00
Ahmad Samir
664f97ff0d [DolphinStatusBar] Fix free space info height with bigger fonts
When the font height is more than the zoom slider height, use the former
to set the fixed height of the free space widget on the status bar.
Otherwise the text is cut-off.

This works with Breeze, Oxygen and Fusion styles.
2020-05-31 21:30:22 +00:00
Méven Car
770d083182 Prevents warnings
Warnings such as :
kf5.kio.core: Invalid URL: QUrl("")

It happened for instance with recentlyused:/ ioslave
2020-05-31 21:19:09 +00:00
Méven Car
8aa7cde289 Prevents showing StatJob Progress info
BUG: 422121
Was introduced in ac234a9c55
2020-05-30 15:01:56 +02:00
Elvis Angelaccio
b65576a131 Port away from deprecated QFontMetrics::width()
While the documention says to port to QFontMetrics::horizontalAdvance(),
what we actually need is not the horizontal advance, but the width of
the text. So we need to port to QFontMetrics::boundingRect().width().

Quoting from https://kdepepo.wordpress.com/2019/08/05/about-deprecation-of-qfontmetricswidth/:

"Since it was not clear from the confusingly named function QFontMetrics::width()
that it actually returned the horizontal advance, instead of the bounding width,
this method is now obsolete.
You must port to either QFontMetrics::horizontalAdvance() or QFontMetrics::boundingRect().width().

Please make sure you are aware of the difference, and do not port
blindly. I am pretty sure that in most cases
QFontMetrics::boundingRect() is what you want, unless you are writing
custom text shaping/layouting code. Using the wrong function can cause
clipped text or text that suddenly wraps to the next line despite
calculating the width that it needs."
2020-05-29 23:23:55 +00:00
Adriaan de Groot
7df39255a6 Non-functional change: consistent indentation
Use 4-space indents consistently, rather than a mix of 2- and 4-.
2020-05-28 23:42:23 +02:00
Adriaan de Groot
d3963a7765 Make ruby, and Gem:test-unit, optional
While this reduces test-coverage in cases where the user doesn't have
Ruby or the testing gem installed, it at least allows us to get
through configure and build without disabling **all** testing.
2020-05-28 23:39:52 +02:00
Elvis Angelaccio
0d679da0a3 Port to non-deprecated variant of QPixmapCache::find()
We need to pass the pixmap by address, not by reference.
2020-05-28 23:04:04 +02:00
Elvis Angelaccio
cbb35681f5 Add some missing const qualifiers 2020-05-28 22:42:40 +02:00
Elvis Angelaccio
46c4b902c1 Drop incorrect emit keywork
This is not a signal.
2020-05-28 22:09:38 +02:00
Elvis Angelaccio
c886d3736d Fix clazy-range-loop warning 2020-05-28 22:02:03 +02:00
Elvis Angelaccio
51441cd3c2 Port away from deprecated qrand() 2020-05-28 21:59:39 +02:00
Méven Car
f6afbbc240 KDirectoryContentsCounter: scan first path not in cache
Use a secondary QLinkedList to store the priority path.
2020-05-25 15:31:51 +00:00
Nate Graham
b6700f77dd Merge branch 'release/20.04' 2020-05-24 08:26:34 -06:00
Piotr Henryk Dabrowski
29e6cf01df use KSycoca for updating OpenPreferredSearchTool action
Summary:
Remove all random updates of OpenPreferredSearchTool action, and
use KSycoca for updating it as discussed in https://phabricator.kde.org/D22594#663847

Enhancement for D29441 for bug #420911 caused by D22594.
The bug was fixed by D29442.

CCBUG: 420911

Test Plan:
```
$ cd ${KDE_INSTALL_DIR}/usr/share/applications

$ sudo mv org.kde.kfind.desktop org.kde.kfind.desktop_
$ kbuildsycoca5

$ sudo mv org.kde.kfind.desktop_ org.kde.kfind.desktop
$ kbuildsycoca5
```

Reviewers: broulik, elvisangelaccio, ngraham, #dolphin

Reviewed By: elvisangelaccio, #dolphin

Subscribers: anthonyfieroni, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29568
2020-05-24 08:26:25 -06:00
Méven Car
eda05b12fb KDirectoryContentsCounter: don't schedule scanning a folder already in the Queue
Use a QLinkedList to check for presence in the queue.

merge request !2
2020-05-20 07:45:58 +02:00
Elvis Angelaccio
a3052c3942 DolphinView: rename new methods to copy/move urls
DolphinView doesn't know anything about split views and it shouldn't.
Rename these new methods to what they actually do (just copy or move to a
given QUrl).
2020-05-19 00:30:47 +02:00
Nate Graham
1ee665bac8 Move search and filter bar close buttons to the right
Summary:
Close buttons for windows, tabs, and pretty much everything else in KDE are on the right,
not the left. This patch makes Dolphin's search and filter bars follow that.

BUG: 421372
FIXED-IN: 20.08.0

Test Plan: {F8314176}

Reviewers: abetts, #dolphin, #vdg, elvisangelaccio, GB_2

Reviewed By: #dolphin, #vdg, elvisangelaccio, GB_2

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29693
2020-05-18 07:30:12 -06:00
Méven Car
a058c64eba Merge branch 'release/20.04' 2020-05-18 08:17:01 +02:00
Méven Car
99cf24c03d Left-elide file/folders while keeping their extension visible
Summary:
Tweak behavior introduced in D19471.

BUG: 404955

Test Plan:
Before:
{F8325282}
After:
{F8325283}
{F8325284}

Reviewers: ngraham, #dolphin, elvisangelaccio, #vdg

Reviewed By: ngraham, #dolphin, elvisangelaccio, #vdg

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29794
2020-05-18 08:14:47 +02:00
Nikolai Krasheninnikov
9b7fc506aa Added VCS plugins signals connections for outOfVersionControl() actions.
Summary:
Plugins can now do out of version control actions (D29041), so we need them to inform of their state.
This change connects every plugin signal to Dolphin on plugin instantiation.

Test Plan:
1. Try SVN Update of inaccessible repository: see SVN error message shows up.
2. Try pull inaccessible git repository: see GIT error message shows up.
3. Try SVN Commit: see SVN message.

Reviewers: #dolphin, meven, elvisangelaccio

Reviewed By: #dolphin, meven

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29488
2020-05-15 23:09:05 +03:00
Antonio Prcela
a291c59990 Allow to copy or move selection to the other split view
Summary:
FEATURE: 276167

Default keyboard shortcuts set to `SHIFT+F5` for `copy`, `SHIFT+F6` for `move`

Reviewers: #dolphin, elvisangelaccio, ngraham, meven, dfaure

Reviewed By: #dolphin, elvisangelaccio, ngraham, meven, dfaure

Subscribers: yurchor, kde-doc-english, dfaure, meven, kfm-devel

Tags: #dolphin, #documentation

Differential Revision: https://phabricator.kde.org/D29006
2020-05-14 16:20:14 -06:00
l10n daemon script
57d9eee900 GIT_SILENT made messages (after extraction) 2020-05-13 09:20:03 +02:00
l10n daemon script
8cb3521cb7 GIT_SILENT made messages (after extraction) 2020-05-13 02:40:37 +02:00
Christoph Feck
2afd02f5ee GIT_SILENT Update Appstream for new release 2020-05-11 23:07:46 +02:00
Elvis Angelaccio
42148dd356 DolphinView: rename cutSelectedItems to cutSelectedItemsToClipboard
For consistency with d1a70c0b62.
2020-05-11 22:54:08 +02:00
Alexander Lohnau
2b58f0457e Dolphin: Cleanup service settings page
Summary:
Just some little things :-)
- Refactor foreach
- Fix minor formatting issues
- Use auto keyword where appropiate

Test Plan: Compiles

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29560
2020-05-11 20:02:23 +02:00
Elvis Angelaccio
d1a70c0b62 DolphinView: rename copySelectedItems to copySelectedItemsToClipboard
This makes it explicit that this is just a copy to clipboard, so that
we can use the name for an actual KIO::copy().
2020-05-11 19:31:29 +02:00
l10n daemon script
5ad49db96d GIT_SILENT made messages (after extraction) 2020-05-10 09:03:41 +02:00
l10n daemon script
2c7c8b83f2 GIT_SILENT made messages (after extraction) 2020-05-10 02:45:11 +02:00
Albert Astals Cid
3017f115a8 is use -> is used
CCMAIL: meven29@gmail.com
2020-05-10 00:36:54 +02:00
Méven Car
5936492ab6 Prevent crash in Windows
Summary: https://phabricator.kde.org/D25335#664304

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29470
2020-05-08 13:21:37 +02:00
Ahmad Samir
e3c03e466e Port QRegExp to QRegularExpression
Summary:
Port QRegExp::exactMatch() with QRegularExpression::anchoredPattern().
Port QRegExp::Wildcard with QRegularExpression::wildcardToRegularExpression().
Note that QRegularExpression::wildcardToRegularExpression() returns an anchored
pattern.

Test Plan:
Using the filter bar in dolphin works as before.

All unit tests pass, except:
- kfileitemmodeltest (which is unrelated AFAICS); it fails on master too
- placesitemmodeltest, which fails on master too

Reviewers: #dolphin, elvisangelaccio, meven

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26215
2020-05-06 11:37:38 +02:00
Kai Uwe Broulik
37deaaef2c Merge branch 'release/20.04' 2020-05-06 10:52:38 +02:00
Kai Uwe Broulik
801fdf4c59 Don't update preferred search action on window activation
I don't see why this is necessary and causes a blocking(!) StatJob every single time the window is focussed,
worse, ends up in an infinite loop when the window loses focus on an auth prompt.

CCBUG: 420911

Differential Revision: https://phabricator.kde.org/D29441
2020-05-06 10:52:09 +02:00
Christian Christiansen
1d72710039 Keep name readable on drag to matching background
Summary:
Previously, when a single item was selected and dragged, the
name would become unreadable when the text colour matched the
background colour it was dragged onto.

This is now fixed by not deselecting the item (and hence keeping
the highlighting around the text) before creating the pixmap for
dragging.

BUG: 405266

Test Plan: Tested with Breeze and Breeze Dark.

Reviewers: #dolphin, elvisangelaccio, meven

Reviewed By: #dolphin, elvisangelaccio, meven

Subscribers: meven, elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29378
2020-05-06 09:40:55 +10:00
Alexander Lohnau
3e1cb2c7fb Dolphin: Implement package kit for deb/rpm/pacman service packages
Summary: The deb/rpm/pacman packages are now installed/uninstalled using packagekit.

Test Plan: Try to install deb package from kde store (search for `jetbrains`). Then uninstall it.

Reviewers: #dolphin, ngraham, elvisangelaccio, meven

Reviewed By: #dolphin, ngraham, elvisangelaccio, meven

Subscribers: cblack, anthonyfieroni, asturmlechner, meven, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29119
2020-05-05 17:26:13 +02:00
Kai Uwe Broulik
ecede34048 Merge branch 'release/20.04' 2020-05-05 12:05:49 +02:00
Kai Uwe Broulik
9f268f5f76 Don't use local URL for KMoreTool
This method is called a billion times and spawns a blocking(!) StatJob.
KFind can search local URLs, too, so I don't see why this is necessary.
Either way, I'd rather have a non-KDE search tool broken than the app.
Ideally, I'd like this entire thing redone to use an async StatJob, if any.
Fwiw the KMoreTools in the free space bar doesn't use a local URL either.

BUG: 420911
FIXED-IN: 20.04.1

Differential Revision: https://phabricator.kde.org/D29442
2020-05-05 12:05:18 +02:00
Méven Car
91ea1e29ee Sort by file size according to DetailsModeSettings::directorySizeCount
Test Plan: Sort by file size in details view.

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29424
2020-05-05 07:31:57 +02:00
Méven Car
31f5dc7f7c Fix Windows Build
Summary: Due to D25335

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29425
2020-05-05 07:31:22 +02:00
Nikolai Krasheninnikov
2c72b18661 Fixes Dolphin crash on "Defocus Terminal Panel" menu click if no Konsole is installed.
Summary:
Dolphin crashes if no Konsole is installed and user clicks menu action "Defocus Terminal Panel".
This fix is pretty straight forward.

Steps to reproduce:
1. Run Dolphin without Konsole available.
2. Press F4 to open console window.
3. Click in service menu "Focus Terminal Panel".
4. Click in service menu "Defocus Terminal Panel". Observe the crash.

Test Plan:
1. Run Dolphin without Konsole available.
2. Press F4 to open console window.
3. Click in service menu "Focus Teminal Panel".
4. Click in service menu "Defocus Terminal Panel".
5. Click in service menu "Focus Terminal Panel".
6. Press F4 to close console window.

Reviewers: #dolphin, meven, elvisangelaccio, ngraham

Reviewed By: #dolphin, meven, elvisangelaccio, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29345
2020-05-04 22:40:06 +03:00
Nikolai Krasheninnikov
a9e2f01add Fixes Dolphin crash on "Defocus Terminal Panel" menu click if no Konsole is installed.
Summary:
Dolphin crashes if no Konsole is installed and user clicks menu action "Defocus Terminal Panel".
This fix is pretty straight forward.

Steps to reproduce:
1. Run Dolphin without Konsole available.
2. Press F4 to open console window.
3. Click in service menu "Focus Terminal Panel".
4. Click in service menu "Defocus Terminal Panel". Observe the crash.

Test Plan:
1. Run Dolphin without Konsole available.
2. Press F4 to open console window.
3. Click in service menu "Focus Teminal Panel".
4. Click in service menu "Defocus Terminal Panel".
5. Click in service menu "Focus Terminal Panel".
6. Press F4 to close console window.

Reviewers: #dolphin, meven, elvisangelaccio, ngraham

Reviewed By: #dolphin, meven, elvisangelaccio, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29345
2020-05-04 22:36:51 +03:00
Alexander Lohnau
fd827e412e Dolphin: Cleanup kcms
Summary: Refactor forearch, adjust formatting, remove unnecessary version checks.

Test Plan: Compiles

Reviewers: #dolphin, ngraham, elvisangelaccio, meven

Reviewed By: #dolphin, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29377
2020-05-04 20:36:15 +02:00
Antonio Prcela
ddcca5fb91 Replace the list with the simplified list, instead of concatenate.
Summary: Replace the list m_selectedUrls with a simplified list, instead of concatenating the simplified list to the current one.

Reviewers: dfaure, meven

Reviewed By: dfaure

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29399
2020-05-04 08:00:07 -06:00
Méven Car
e6ea3ab4c4 [Details mode] Allow to fill the column size of directories with actual size
Summary:
Allow to compute the recursive size of directories to fill the details view size column.
A setting allow to set a limit to the recursive level, allowing the user to have some power over the setting.

When sorting by size and the feature is on, we get progressive ordering as the directory size are gathered.

KDirectoryContentsCounter uses a cache internally to keep results so that it can display directory size faster, but counts the dir size of directories each time it is asked to count the size a directory nevertheless and when the size has changed, it is updated.
KDirectoryContentsCounter uses one worker per instance only, meaning one process per view makes the disk spin.

FIXED-IN: 20.08
BUG: 190580
BUG: 158090

Test Plan:
With some recursion allowed:
{F8267580}

Without any recursion allowed (default):
{F8267581}

Reviewers: elvisangelaccio, ngraham, #dolphin

Reviewed By: elvisangelaccio, ngraham, #dolphin

Subscribers: feverfew, anthonyfieroni, iasensio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D25335
2020-05-04 07:26:59 +02:00
Alexander Lohnau
d34559d1c1 Dolphin Service Menu Installer: Launch certain scripts in Konsole
Summary:
In general the issue with installers/uninstallers for the dolphin plugin is
that a lot of the scripts are intended to be run manually in a terminal.
For instance if a script uses `sudo make install` the user can't type in the password.

With this patch scripts that are executed without arg variants are
executed in konsole (if available).

Test Plan:
Tests still pass. Try to install the "Jetbrains Dolphin Plugin" tar.gz file from the kde store.
If you have the required dependencies etc. the konsole window should close.
If the install script fails (type in wrong admin password a couple of times) you
should have a shell opened.

Reviewers: #dolphin, ngraham, nicolasfella, elvisangelaccio, meven

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29089
2020-05-03 20:22:11 +02:00
Elvis Angelaccio
32308843f9 ServicesSettingsPage: add missing connection receiver 2020-05-03 19:05:32 +02:00
Alexander Lohnau
e6d4afa927 Dolphin Services: Add search box
Summary:
You can now filter the list of installed services.
This is especially useful if you install additional service menus
from the kde store, because one instalaton can add a lot of services.
For instance the ReImage plugin.

Test Plan:
Compiles, search for a service menu.
Only services matching the query will show up.

Reviewers: ngraham, elvisangelaccio, meven

Reviewed By: meven

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29375
2020-05-03 12:50:24 +02:00
Méven Car
e076d8668f filenamesearch:/ define a title for the query
Summary: CCBUG: 420354

Reviewers: ngraham, elvisangelaccio, #dolphin, #frameworks, iasensio

Reviewed By: elvisangelaccio, #dolphin, iasensio

Subscribers: iasensio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29198
2020-05-03 12:46:00 +02:00
Méven Car
dcd8c646a5 Information Panel: show early icons for folders
Summary:
Folders previews can be long to generate.
This can be noticeable by the user.

This diff displays folder icons after a 100ms timer.

BUG: 420340
FIXED-IN: 20.08

Test Plan:
rm -r ~/.cache/thumbnails/
In dolphin open trash
Click on download (or any directory with a long to generate preview).

Reviewers: #dolphin, ngraham

Reviewed By: #dolphin, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29204
2020-05-01 07:51:28 +02:00
Nikolai Krasheninnikov
67a5ec53ef For VCS-plugin interface added pure virtual function outOfVersionControlActions()
Summary: This commit changes VCS-plugin interface in order to provide actions for unversioned items (for example clone or checkout repository), updates to dolphin-plugins comes in the separate commit D29042.

Reviewers: #dolphin, meven, elvisangelaccio

Reviewed By: #dolphin, meven, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29041
2020-04-30 16:56:24 +03:00
René Bertin
d3813ee65e prevent a QFileInfo warning
DolphinSearchBox::init() can generate a terminal warning depending on
the user's search history:

QFileInfo::absolutePath: Constructed with empty filename

The warning can seem to appear randomly if you don't use the search
feature often, because of its dependency on previous search activity.

Prevent this warning by adding a simple check if the current
m_searchPath is valid or not. This check has no effect on the value
returned by DolphinSearchBox::isIndexingEnabled() and is in line with
the fact that m_searchPath == QUrl() indicates that no search path has
been set.

Differential Revision: https://phabricator.kde.org/D29194
2020-04-27 10:32:34 +02:00
Nate Graham
caf2fe1c43 Add an option to show tabs from last time when Dolphin starts
Summary:
All modern web browsers offer a function to show tabs from last time when a browser starts, and many apps today
restore their prior state when they're launched. This patch implements thatfunctionality as an option and turns it on by default.

The settings window is accordingly adjusted to be clear about what applies when:

{F7681752}

FEATURE: 413564
FIXED-IN: 20.08.0

Depends on D25106
Depends on D25219

Test Plan:
With the new setting turned off:
- No behavioral changes at all

With the new setting turned on:
- When launched from the GUI or CLI without any URLs, dolphin restores session
- When rebooting with Dolphin open, it restores session normally after the system comes back (i.e. no behavioral change here)
- When launched with URLs, Dolphin window is opened showing those URLs instead of restoring session
- When Dolphin is already running and a new window is opened, that new window shows a single tab with the same URL as was visible in the previously-open Dolphin instance (i.e. no behavioral change here)
- "Open Containing folder" functionality in other apps works regardless of whether or not Dolphin is running

Reviewers: #dolphin, #vdg, feverfew, meven, elvisangelaccio, ndavis

Reviewed By: #dolphin, #vdg, feverfew, elvisangelaccio, ndavis

Subscribers: davidedmundson, ndavis, intika, feverfew, kfm-devel, ngraham, broulik, #dolphin

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D11382
2020-04-26 12:14:56 -06:00
Méven Car
b0ad83eeee Information Panel: hide phonon widget when starting a search
Summary: BUG: 420512

Test Plan:
Select on hove over a video file
Type Ctrl + F
Type some test + enter

Reviewers: ngraham, #dolphin, elvisangelaccio

Reviewed By: ngraham, #dolphin

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29158
2020-04-25 08:05:11 +02:00
Méven Car
72705e4cf8 Information Panel: show the phonon when we can use phonon
Summary: Similar to D29158

Test Plan:
Select a video file
Type CTRL + F and some text
Hit ALt + left or previous button

Before:
The video controls are not visible for selected video file

After:
Video controls are visible again.

Reviewers: ngraham, elvisangelaccio, #dolphin

Reviewed By: ngraham, #dolphin

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29160
2020-04-25 08:04:10 +02:00
Alexander Lohnau
e78fe03294 Merge branch 'release/20.04' 2020-04-21 21:32:46 +02:00
Alexander Lohnau
5bbdf66fce Dolphin Service Installer: Run uninstall scripts, rename methods
Summary:
Now scripts starting with `uninstall` are being executed.
Addtionally the `runInstallerScriptOnce` method has been renamed, because it is used to run the install/uninstall scripts.
Same for `runInstallerScript`.
Depends on D28801

Test Plan: Compile, run tests. Try to uninstall a dolphin service which has a uninstall.sh script.

Reviewers: #dolphin, ngraham, nicolasfella, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: cfeck, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D28836
2020-04-21 21:29:06 +02:00
Méven Car
cb085066ae Information Panel: Make icons as big as previews
Summary:
Make icons match the preview size.
It prevents a user that had a wide information panel,
seeing a size difference between a preview and an icon despite they can look similar (i.e folder preview).

Test Plan:
Before:
{F8248373, size=full}

After:
{F8248370, size=full}

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, ngraham, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29002
2020-04-21 09:20:31 +02:00
Nate Graham
bb48d4f171 Use new "Show/Hide Hidden Files" standard shortcut
Summary:
Note that we lose the F8 shortcut since the KStandardShortcut added in XXXX can only
accommodate toew default shortcuts, and I thought Ctrl+H and Alt+. were the more important
ones. Hopefully that's not too high a price to pay.

Depends on D28802

Test Plan:
- Apply D28802 to kconfig
- Apply this patch to Dolphin, compile, and launch Dolphin
- Hit Ctrl+H or Alt+. and see that hidden files are shown or hidden as approproiate

Reviewers: #dolphin, dfaure, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D28804
2020-04-20 15:41:25 -06:00
Méven Car
b274b6145b Allow statusbar and information panel to stat with KIO::StatRecursiveSize
Summary: Needed after D28901 to ensure we get the UDS_RECURSIVE_SIZE out of the stat calls.

Test Plan: Trash size is visible in status bar and information panel again.

Reviewers: ngraham, dfaure, #dolphin

Reviewed By: dfaure

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D28950
2020-04-18 19:16:52 +02:00
Shlomi Fish
196f4553e6 Move from the searchbox to the results with the down arrow key
Summary:
Move from the searchbox to the search results listbox/view using the
down arrow key in addition to the existing methods using the tab key,
return key, or the mouse.

Test Plan:
use ctrl+f to search in a directory tree, press down arrow key
to go to the results

Reviewers: ngraham, #dolphin

Reviewed By: ngraham, #dolphin

Subscribers: meven, elvisangelaccio, ngraham, iasensio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26362
2020-04-18 10:37:01 -06:00
David Faure
ec2c69726a DolphinPart: port dolphin's last use of KRun::run to CommandLauncherJob.
Summary:
I chose CommandLauncherJob rather than ApplicationLauncherJob
because that would require either looking up org.kde.kfind.desktop
(with a risk of failure) or duplicating the icon name...

Test Plan:
commented out the if() block of the slot, to make sure we end
up launching kfind with this code. Then konqueror /, and Ctrl+F.

Reviewers: broulik

Reviewed By: broulik

Differential Revision: https://phabricator.kde.org/D28810
2020-04-18 13:07:08 +02:00
Alexander Lohnau
8fa3e7c145 Merge branch 'release/20.04' 2020-04-17 15:10:07 +02:00
Alexander Lohnau
76f9d9a5f5 Dolphin Service Menu installer cleanup
Summary:
This patch contains some smaller formatting/coding style changes
to avoid unrelated changes in other patches.

- Use {} instead of QStringList{} consistently
- Use parehthesese in `UncompressCommand({})` consistently
- Use `QStringList name = {}` instead of `auto name = QStringList{}`
- Add one qAsConst, remove qAsConst if value is already const

Test Plan: Compile, install and run tests

Reviewers: #dolphin, ngraham, nicolasfella

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D28801
2020-04-17 15:05:36 +02:00