Commit graph

6036 commits

Author SHA1 Message Date
Yuri Chornoivan 496c6b9e39 Add the 'Duplicate Here' feature description 2020-03-17 11:33:48 +02:00
Elvis Angelaccio 869b8d7e30 Switch to generated MainWindow dbus interface
Summary: This allows compile-time checks for the main window dbus methods.

Test Plan: Same test plan as in D21691, D21666 and D25510.

Reviewers: #dolphin

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26214
2020-03-16 22:43:08 +01:00
Elvis Angelaccio fa806d48da Exclude daemonized processes from Dolphin::attachToExistingInstance()
Summary:
`dolphin --daemon` does not have the `/dolphin/Dolphin_1` dbus path,
because it doesn't have any DolphinMainWindow.

Instead of working around this issue (as we did in D21666 and D25510),
just exclude these processes from the list of dbus instances checked by
`Dolphin::attachToExistingInstance()`.

CCBUG: 408244

Test Plan: Same test plan as in D21666 and D25510

Reviewers: #dolphin

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26213
2020-03-16 22:38:40 +01:00
Nathaniel Graham 405dd624fb Add Duplicate feature
Summary: Adds a Duplicate feature to Dolphin, showing up as a menu item in the File menu that appears when one or more items are selected and the directory is writable. Duplicated items receive the names of the original files with " copy" appended before the file extension, if any.

Test Plan:

{F5201386} {F5201393}

Test cases:

- Try to duplicate when nothing is selected: **PASS**: menu item is grayed out
- Try to duplicate anything on a read-only local volume: **PASS**:  menu item is grayed out
- Try to duplicate anything on a read-only samba share: **PASS**: menu item is grayed out
- Duplicate single local file on R/W volume: **PASS**: item is duplicated and named correctly
- Duplicate multiple local files on R/W volume: **PASS**: 3 items are duplicated, named correctly, and selected
- Duplicate single local directory on  R/W volume: **PASS**: item is duplicated and named correctly, but a rename operation is not initiated
- Duplicate multiple local directories on R/W volume: **PASS**: 3 items are duplicated, named correctly, and selected
- Duplicate single file on R/W samba share: **PASS**: item is duplicated and correctly
- Duplicate multiple files on R/W samba share: **PASS**: 3 items are duplicated, named correctly, and selected
- Duplicate single directory on R/W samba share: **PASS**: item is duplicated and named correctly
- Duplicate multiple directory on R/W samba share: **PASS**: 3 items are duplicated, named correctly, and selected
- Try to undo a successful duplication: **PASS**: operation is undone

This is my first attempt at a big change like this and I'm sure it's full of issues. I will accept any and all suggestions for improvement. :)

Reviewers: #dolphin, #kde_applications, elvisangelaccio, dfaure, broulik, davidedmundson

Subscribers: kfm-devel, meven, markg, fazevedo, cfeck, #dolphin

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D8208
2020-03-15 13:13:08 -06:00
Albert Astals Cid 8e97c4981c GIT_SILENT Upgrade release service version to 20.03.80. 2020-03-15 19:54:17 +01:00
l10n daemon script b10a84c770 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-03-02 05:36:51 +01:00
Alexander Saoutkin 7a2885853a Merge branch 'release/19.12' 2020-03-01 17:22:46 +00:00
Alexander Saoutkin af45eb0af5 Fix typo in comment 2020-03-01 17:20:54 +00:00
Alexander Saoutkin fef7eebc6e Fix files not being highlighted if directory of file is already open
Summary:
In DolphinTabWidget::openFiles it assumes openDirectories will open new tabs, so it
only marks the URL selection for the newly opened tabs. This assumption is incorrect
 as Dolphin might reuse tabs when the folder is already open.

Even then, markUrlsAsSelected does nothing when the folder is already opened.
The selection seems to only be used when the folder finishes loading, calls made after
that only change a variable without updating the actual selection.

A call to DolphinView::updateViewState() is required to restore the intended behaviour, so long as DolphinView::clearSelection() has been called on the relevant tab, otherwise updateViewState() is a no-op.

BUG: 417230
FIXED-IN: 19.12.3

Test Plan:
1. In any application that has an "open containing folder" select that option
2. and then do the same for another file in the same folder

Reviewers: broulik

Reviewed By: broulik

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D27389
2020-03-01 17:17:20 +00:00
Christoph Feck 270ab975fb GIT_SILENT Update Appstream for new release 2020-03-01 10:31:18 +01:00
Christoph Feck 5f4e7a17ba GIT_SILENT Upgrade KDE Applications version to 19.12.3. 2020-02-29 23:22:25 +01:00
Carl Schwan 0bec1518c5
Fix issues found by ebn
Summary:
http://ebn.kde.org/sanitizer/reports/kde-4.x/applications/dolphin/index.html

I ignored the Prefer 'folder' over 'directory' issue, since it was a false positive.

Test Plan: meinproc5 still work and no visual change.

Reviewers: yurchor

Reviewed By: yurchor

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

Tags: #dolphin, #documentation

Differential Revision: https://phabricator.kde.org/D27547
2020-02-21 16:21:37 +01:00
Nikolai Krasheninnikov d0cbcf9718 Fixes multiple KVersionControlPlugin::fileName() calls on entering or updating directory.
Summary:
BUG: 415698
FIXED-IN: 20.04

On each VCS plugin creation corresponding file name is saved (cached) so when we search which VCS plugin is appropriate for current directory we don't need to call KVersionControlPlugin::fileName() again.

Reviewers: #dolphin, meven, elvisangelaccio, ngraham

Reviewed By: #dolphin, meven, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26962
2020-02-18 14:55:24 -07:00
Laurent Montel e545efee73 Port deprecated signal (qt5.15) 2020-02-16 14:44:38 +01:00
Nate Graham 4c923a531f Restore former position of "Create New" menu item in viewport context menu
Summary:
I've seem various complaints from users about the fact that the {nav Create New...} menu
item in the viewport context menu is now below {nav Open With} item. All the other
changes to menus seem to have been well-received but this one has garnered criticism.
Looking through D23757 and D11884, I can't actually see that this was intentional, so
it might even be a bug.

Either way, this patch restores the old position of the {nav Create New} menu items at
the top of the Viewport context menu.

BUG: 417640
FIXED-IN: 20.04.0

Test Plan: {F8093605}

Reviewers: #vdg, #dolphin, elvisangelaccio, ndavis

Reviewed By: #vdg, ndavis

Subscribers: asturmlechner, markuss, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D27267
2020-02-14 08:52:36 -07:00
Ilya Bizyaev 402f7f3041 Swap "Open in New Window" and "Open in New Tab" in context menus
Summary:
Since Dolphin's default behaviour became opening in new tabs rather than in new windows
(a very positive change, in my opinion), I always find myself accidentally opening folders
in new windows from the context menu. This is because in most browsers with tab workflow
(e.g. Firefox, Chromium, Falkon) the top context menu action is opening in a new tab, and
my muscle memory plays a bad trick :) I'm aware of middle-clicking, but I find it
inconvenient with my touchpad.

I suspect I'm probably not alone in that, so I think it makes sense to swap these actions
in Dolphin to match widely used apps.

Test Plan:
Open Dolphin, right click folders in the main view and in the Places panel, ensure the
actions are indeed swapped

Reviewers: #vdg, ndavis, #dolphin, ngraham

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

Subscribers: ngraham, ndavis, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D27318
2020-02-12 18:58:47 +03:00
l10n daemon script 2c29c7ed28 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-02-06 05:34:55 +01:00
Christoph Feck e4c1f4f1fc GIT_SILENT Update Appstream for new release 2020-02-04 00:10:08 +01:00
Christoph Feck e8a9eb899f GIT_SILENT Upgrade KDE Applications version to 19.12.2. 2020-02-02 14:57:53 +01:00
l10n daemon script 7002dc4e8a GIT_SILENT made messages (after extraction) 2020-02-02 02:30:18 +01:00
George Vogiatzis 9e3418bd55 Add natural sorting and case-insensitive sorting for all role-types
Summary:
 Add natural sorting and case-insensitive sorting, for all role-types
that benefit from.

BUG: 406296
FIXED-IN: 19.12.2

Test Plan:
Sort by any role type specified in `isRoleValueNatural()`
Before: Sorting is always case sensitive
After: Sorting according to 'Sorting mode' in configuration.

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

Reviewed By: #dolphin, meven, elvisangelaccio, ngraham

Subscribers: cfeck, meven, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D25741
2020-01-28 08:52:58 -07:00
Nate Graham c2fa8ae9ab Merge branch 'release/19.12' 2020-01-27 09:49:44 -07:00
George Vogiatzis 178eb5927c Change drop indicator color
Summary:
Change drop indicator color form highlight to text.
This makes more visible, when indicator is adjacent to a highlight
item, of a list.

BUG: 415010

Test Plan:
Before vs After
{F7974679}

Reviewers: #dolphin, #vdg, elvisangelaccio, ngraham

Reviewed By: #dolphin, #vdg, ngraham

Subscribers: meven, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26936
2020-01-27 09:49:09 -07:00
Nikolai Krasheninnikov 305085b581 Fixes multiple VCS plugin calls on single directory update.
Summary:
Fixes multiple VCS plugin beginRetrival()/endRetrival()/itemVersion() calls on single directory update.
When VCS pluging finished gathering directory information VersionControlObserver::slotThreadFinished() calls KFileItemModel::setData() on each entry with appropriate item VCS information.
This in turn emits KFileItemModel::itemsChanged() which is connected with VersionControlObserver::delayedDirectoryVerification() which is starting to gather VCS directory information again.
This commits breaks the vicious circle.

BUG: 415698
FIXED-IN: 20.04.0

Reviewers: #dolphin, meven, ngraham, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26721
2020-01-26 17:09:18 +01:00
Méven Car 17e1a48c68 Use QDesktopServices to open urls not supported by dolphin
Summary:

This improves portability.
QDesktopServices uses standard mimetype base resolution to find the app to use.

BUG: 372642
FIXED-IN: 20.04

Test Plan:
 * Open http://google.com, opened default web browser
 * Open mms:// (on my test system opened vlc)

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, elvisangelaccio, ngraham

Subscribers: nicolasfella, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26732
2020-01-20 16:50:14 +01:00
Ismael Asensio 5778099ece (search) Fix searching tags with spaces
Summary:
Tags containing blank spaces were not handled properly in the search widget.
Now we enclose them in quotes and strip the quotes before setting them to the widget.

{F7854247}

Test Plan:
No artifacts when searching tags containing spaces
Added test cases to `bin/dolphinquerytest`

Reviewers: #dolphin, elvisangelaccio, ngraham, meven

Reviewed By: #dolphin, elvisangelaccio, ngraham

Subscribers: meven, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26369
2020-01-19 23:17:26 +01:00
Nate Graham 897ce8480c Use more conventional "Add to Places" text for that action
Summary:
I originally implemented this to show "Add <current folder> to Places" to make the menu
item more clear when invoked from the file menu or the viewport context menu because I
thought it wasn't totally clear that the action would be referring to the folder for the
visible view.

However I think in retrospect that this was a mistake. No other items in the file menu
or the viewport context menu name the current folder like this, so clearly there wasn't
a problem. And then the item's text doesn't match the text for other items.

Thie patch removes that behavior and makes the name match the style of all the other menu
item text.

BUG: 416064
FIXED-IN: 20.04.0

Reviewers: #dolphin, #vdg, meven

Reviewed By: #dolphin, meven

Subscribers: elvisangelaccio, meven, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26590
2020-01-13 08:11:43 -07:00
l10n daemon script ba751e653e GIT_SILENT made messages (after extraction) 2020-01-13 08:15:22 +01:00
l10n daemon script 2fd2f621b7 GIT_SILENT made messages (after extraction) 2020-01-13 02:34:58 +01:00
Ismael Asensio a8dd699840 Get rid of -Wdeprecated-copy warning
Summary:
Remove the explicit copy constructor of `KItemListStyleOption`, since it does not
add any logic to what the implicit copy constructor does, but triggers a compiler
warning if we don't overload `operator=` too.

Test Plan:
Compiles without `-Wdeprecated-copy` warning
No behavior changes

Reviewers: elvisangelaccio, #dolphin

Reviewed By: elvisangelaccio, #dolphin

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26585
2020-01-12 19:00:25 +01:00
Robert Hoffmann 17e127edcd Add only canonical paths to dirWatcher
Summary: KDirWatch only works correctly with canonical paths, i.e. symbolic links resolved.

Test Plan:
1. Create dirs:
$ mkdir test1
$ mkdir test1/subdir
$ ln -s test1 test2

2. Start dolphin, navigate to test2/subdir, then in terminal:
$ echo test > test2/subdir/test

Without the patch, test2/subdir/test won't be shown automatically, only after reload (F5).
With the patch applied, test2/subdir/test will be shown automatically.

3. Restart dolphin, navigate to test2/subdir, then in terminal:
$ echo test >> test2/subdir/test

Without the patch, the increased size of test2/subdir/test won't be shown automatically,
only after reload (F5). With the patch applied, it will be shown automatically.

4. Restart dolphin, navigate to test2/subdir, then in terminal:
$ rm test2/subdir/test

Without the patch, test2/subdir/test stays visible, will only disappear after reload (F5).
With the patch applied, it will disappear automatically.

Reviewers: dfaure, #dolphin, elvisangelaccio

Reviewed By: dfaure, #dolphin, elvisangelaccio

Subscribers: ngraham, elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D25732
2020-01-11 21:59:12 +01:00
Nate Graham 09e215be46 "Use newly-upstreamed rename dialog from KIO""
This reverts commit 41105103b0.

KIO's version was just bumped to 5.67, so this can land now without
breaking the CI.
2020-01-11 13:21:52 -07:00
Elvis Angelaccio 10d6556373 Merge branch 'release/19.12' 2020-01-11 16:15:14 +01:00
Piotr Henryk Dabrowski f729f6f5b1 Hide tooltip instantly on filter change
Summary:
Instantly hide tooltip shown over an element when filter bar changes.

Currently the tooltip stays even when filtering causes the file under the mouse to change or disappears entirely.
The tooltip also continues to cover much of the window - hiding the new filtering results from user.

This is an enhancement to D22512

Test Plan:
1. place the mouse pointer over a file to show the tooltip
2. press "/" to activate filter bar
3. type in filter phrase

Reviewers: #dolphin, elvisangelaccio, ngraham

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26576
2020-01-11 16:13:08 +01:00
Nate Graham 41105103b0 Revert "Use newly-upstreamed rename dialog from KIO"
This reverts commit bae6620f22.

Frameworks 5.67 doesn't exist yet; this needs to wait another month.
2020-01-06 14:34:36 -07:00
Nate Graham bae6620f22 Use newly-upstreamed rename dialog from KIO
Summary:
With the rename dialog upstreamed in D17595, we can use it from there.

This will require the KF5 dep to be bumped to 5.67, which should be feasible given that we're at the very beginning of a new Applications cycle.

Depends on D17595

Test Plan:
1. Dolphin Settings > uncheck "rename inline"
2. Rename one or more files. Observe that it still works

Tests still pass.

Reviewers: #dolphin, elvisangelaccio, meven

Reviewed By: elvisangelaccio, meven

Subscribers: meven, broulik, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D17597
2020-01-06 14:25:44 -07:00
Ismael Asensio 296082b2b9 (search) Keep menu open when selecting tags
Summary:
Keeps the `Tags` menu open while selecting and deselecting tags in the
search panel, saving many mouse clicks for multiple tags.
It cannot be done natively on `QMenu` (https://bugreports.qt.io/browse/QTBUG-6635)
but it is a one-liner and I haven't seen any bad behavior so far.

Test Plan:
{F7853717}

- `Tags` menu does not close when selecting/deselecting tags
- Tag search is consistent
- Clicking anywhere else will close the menu

Reviewers: #dolphin, elvisangelaccio, ngraham, #vdg

Reviewed By: #dolphin, elvisangelaccio, #vdg

Subscribers: #vdg, broulik, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26343
2020-01-06 16:03:46 +01:00
Christoph Feck 771f78276d Update Appstream for new release 2020-01-06 14:49:19 +01:00
Laurent Montel 98dec73ecc Don't use nullptr for flag. Just use default argument here 2020-01-06 13:30:12 +01:00
Christoph Feck a41d0affc0 GIT_SILENT Upgrade KDE Applications version to 19.12.1. 2020-01-05 05:33:19 +01:00
Ismael Asensio c331d70685 Clean-up DolphinFacetsWidget
Summary:
Small refactor patch to clean-up some logic on setter and getter:
- Search terms are previously splitted and set separately, so no need
  for extra splitting and `foreach` loop
- Return search terms on a `QStringList` rather than join first

Depends on: D26029

Test Plan: No behavior changes

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26150
2019-12-29 21:05:45 +01:00
Ismael Asensio 732697d0d6 Rename methods on DolphinFacetsWidget
Summary:
Small refactor patch to rename method names, from `ratingTerm` to `searchTerm`,
since its scope has grown bigger.

Test Plan: No behavior changes

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26029
2019-12-26 19:30:08 +01:00
Ismael Asensio 4dc362db1e Port from deprecated KIconLoader::IconSize()
Summary: `IconSize()` method is deprecated from Frameworks 5.66

Reviewers: #dolphin, elvisangelaccio, meven

Reviewed By: #dolphin, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Maniphest Tasks: T11637

Differential Revision: https://phabricator.kde.org/D26237
2019-12-26 19:25:55 +01:00
Laurent Montel 984e8686e8 Don't use nullptr/0 as flags (deprecated in qt5.15) 2019-12-26 14:23:45 +01:00
Elvis Angelaccio 61edac1842 Use non-deprecated install dir variables from ECM 2019-12-24 19:30:44 +01:00
Elvis Angelaccio 224028d931 Rename variables to improve readability of Dolphin::attachToExistingInstance
Services and interfaces are not the same thing. Also clarify the name of
dbus replies.
2019-12-24 17:33:55 +01:00
Kai Uwe Broulik 151a17e048 [DolphinContextMenu] Use contains check for scheme again
Regression introduced in 8b0c12a59c
There's "filenamesearch" and "baloosearch".

Differential Revision: https://phabricator.kde.org/D26169
2019-12-23 11:44:58 +01:00
Piotr Henryk Dabrowski 6cb4d81a02 Use KParts::ReadOnlyPart::localFilePath() in DolphinPart::slotOpenTerminal()
Reviewers: ngraham, elvisangelaccio, #dolphin

Reviewed By: ngraham, elvisangelaccio, #dolphin

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D26140
2019-12-21 12:28:06 -07:00
Nate Graham 0804983685 Merge branch 'release/19.12' 2019-12-21 11:54:53 -07:00
Nate Graham 403de19d9c Improve scroll wheel speed by basing it on label height, not icon height
Summary:
Dolphin currently scrolls by the height of three items at a time per "step" when
using a scroll wheel. Because item height is highly variable, this leads to scroll
speed being inconsistent between views, and generally far too fast when using
icon view with icons larger than 22px size.

This patch makes the size of the scroll step based on the text label rather than the
icon size just like D25683, ensuring that the scroll speed does not vary and become
super fast when using large icons in particular.

It also reverts 90beb4a5e3, which is no longer needed.

BUG: 386379
FIXED-IN: 19.12.1

Test Plan:
Use a mouse with a scroll wheel and scroll in Dolphin item views with list view,
details view, icon view, etc, using different item sizes. Speed should be
consistent in all views now, and also feel consistent with other KDE apps.

Also try with multiple scale factors to make sure the behavior does not change.

No change with high-resolution two-finger touchpad scrolling.

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: ahiemstra, lots0logs, anthonyfieroni, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19190
2019-12-21 11:54:46 -07:00