The selection mode action is a checkable toggle action named
"Select Files and Folders" which has "Space" as the default
shortcut.
In selection mode a bottom bar with contextual actions is shown.
These should mostly mirror the actions which are available through
the right-click context menu aka DolphinContextMenu.
Resizing of the window might make a overflow button appear in the
bottom selection mode bar.
This commit makes press and hold in the view activate selection
mode. This behaviour is not triggered if the press and hold is
used to either start a rubberband selection or a drag operation
within a short time. The length of the short timeframe is defined
by a QStyleHint. This is currently not implemented in touch
because I can't test it.
Mix the selection mode bars' background colors using a nice
combination of colors from the current color scheme
BUG: 427202
Since it actually adds padding on both left and right sides,
"Side Padding" might be more accurate.
This change is also propagated to variable and method names.
BUG: 453172
This commit allows us to very explicitly refer to any set of items
in text. This way buttons don't need to be labeled generically
like "Permanently Delete" but can be enriched to be labeled
"Permanently Delete "FileName"" or "Copy 7 Selected Folders" or
"Copy 6 Files" or "Rename "file1", "file2", "file3", "file4" and
"folder5"".
This commit tries to save translators a lot of work by using a
translation puzzle. This might be problematic for some languages.
The alternative on the other hand would mean that any label which
wants to be explicit would need to have over 10 translations just
for one label which seems quite bad as well.
A fallback is to be implemented for languages that can't really
accommodate for any specific word puzzle. This is explained in the
documentation.
Since KIO 5.82, KCoreDirLister (the base class of KDirLister) emits a jobError()
signal when the ListJob used internally emits an error.
Drop KFileItemModelDirLister class, now redundant.
This also bump the KF version to 5.82.
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
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.
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
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.
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.
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'.
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
Summary:
Adds the capability to sync the terminal with a KIOFuse mount if the URL is remote.
Partly based on the existence of another DBus currenly in review:
https://invent.kde.org/kde/kio-fuse/-/merge_requests/21
Syncing works in both "directions". Changing the URL to a remote URLin the
DolphinView will change the URL in the terminal to the KIOFuse local path equivalent.
Conversely changing the URL in the terminal to one that happens to be in a KIOFuse
mount will change the URL in the DolphinView to the remote URL equivalent.
Test Plan:
Manual testing (see video in comments).
1. Checking that changing directory in DolphinView from remote/local to local doesn't
cause any regressions.
2. Checking that changing directory in terminal from local to local (but not in
KIOFUse mount) doesn't cause any regressions.
3. Checking that changing directory in DolphinView from remote/local to remote
correctly changes URL in terminal to KIOFuse equivalent.
4. Checking that changing directory in terminal from local to KIOFuse path
correctly changes the URL in the DolphinView to the remote equivalent.
5. Checking the KIOFuse not being installed doesn't cause any regressions.
6. Changing directories very quickly does not cause any slowdown.
Reviewers: #dolphin, fvogt, elvisangelaccio
Reviewed By: #dolphin, fvogt, elvisangelaccio
Subscribers: elvisangelaccio, fvogt, kfm-devel, ngraham
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D28290
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
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
Summary:
Extracts the logic that parses `baloosearch:` urls into a new model class. The parser logic itself is kept as is.
The search box UI is later updated using the model fields.
This refactor has been proposed by @bruns in the review of D24422, as it largely simplifies the unit tests and further expansion/improvements.
Test Plan:
No behavior changes.
Test case is added in the follow-up revision: D25258
Reviewers: #dolphin, elvisangelaccio, bruns
Reviewed By: #dolphin, elvisangelaccio, bruns
Subscribers: ngraham, bruns, kfm-devel
Tags: #dolphin
Differential Revision: https://phabricator.kde.org/D25257