Commit graph

7072 commits

Author SHA1 Message Date
Felix Ernst 3ccdcc2176 Clean up code that became redundant through framework changes
There were two changes in framework that triggered this commit:
KHamburgerMenu and KToolTipHelper.

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

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

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

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

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

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

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

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

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

BUG: 427202
2022-08-14 14:42:40 +00:00
Albert Astals Cid 9dbe481377 GIT_SILENT Update Appstream for new release
(cherry picked from commit c9ab65174b)
2022-08-10 23:33:51 +02:00
Elvis Angelaccio 19cd2364a9 Update copyright and maintainership info 2022-08-05 17:40:20 +02:00
l10n daemon script 86c103e765 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-08-03 01:49:02 +00:00
Laurent Montel 227ccfdd3d Sync QT_MIN_VERSION with KF's REQUIRED_QT_VERSION
In KF we already looking for 5.15.2
and looking something lower than that
is a bit meaningless
2022-08-01 19:18:23 +02:00
Alexander Lohnau f506666540 Install dolphinpart actions as standalone file
This will allow Konqueror to use it without relying on the KPart being loaded using KService
2022-08-01 16:35:35 +00:00
Nicolas Fella d7ca76799b Remove service type file for vcs plugins
We don't support old-style plugins any more, so no need to install this
2022-07-30 17:47:40 +02:00
Nicolas Fella e0f44ecba5 Remove AUTHORS file
It is horribly out of date and not very useful
2022-07-26 00:24:28 +02:00
l10n daemon script ef042cbefe SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-25 01:46:13 +00:00
l10n daemon script f0749ee42c SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-23 01:50:13 +00:00
l10n daemon script d0c3e373a1 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-20 01:45:24 +00:00
Nicolas Fella 9bcac452ca Remove references to KServiceTypeTrader in comments 2022-07-18 22:42:39 +02:00
Nicolas Fella 6b5ca39a93 Remove unused includes 2022-07-18 22:38:43 +02:00
Kai Uwe Broulik 1e13885c93 KItemListHeaderWidget: Use QHeaderView font
Makes it consistent with "real" tab widgets.
2022-07-18 15:01:16 +00:00
l10n daemon script d4ed58f6a9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-15 01:51:02 +00:00
Nicolas Fella 513fe3bb42 Port from KNewFileMenu::setPopupFiles to KNewFileMenu::setWorkingDirectory
The former is deprecated
2022-07-14 11:58:19 +00:00
Kai Uwe Broulik 05941a522b Add "Show statusbar" menu entry in "Settings"
Makes this setting more accessible and makes it consistent with other
KDE applications. Since Dolphin has a separate status bar on each view
container and doesn't use kxmlgui's statusbar, we don't get this menu
entry automatically.
2022-07-13 17:13:25 +02:00
Friedrich W. H. Kossebau c6f82aa378 Open >5 terminals dialog: use action terms instead of Yes/No buttons
Yes/No buttons in dialogs are discouraged (not only) by KDE HIG in favour
of actions terms.
2022-07-13 10:19:59 +00:00
Friedrich W. H. Kossebau a6f6b14e79 Open >5 items dialog: use action terms instead of Yes/No buttons
Yes/No buttons in dialogs are discouraged (not only) by KDE HIG in favour
of actions terms.
2022-07-13 10:01:23 +00:00
l10n daemon script 8a721c35fc SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-13 01:48:42 +00:00
Albert Astals Cid ecc5279f8d GIT_SILENT Upgrade release service version to 22.11.70. 2022-07-12 23:42:01 +02:00
Harald Sitter 8d7e600f63 portalize drag urls
this enables sandboxed application to receive drop events
2022-07-11 09:04:14 +00:00
l10n daemon script 7fdd9f22d8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-10 01:53:09 +00:00
Marius P 35244bec75 dolphintabwidget.cpp piority of boolean operators
Fix PVS-Studio issue "warning: V648 Priority of the '&&' operation is higher than that of the '||' operation.".
Fix clangd issue.
2022-07-09 15:40:28 +03:00
l10n daemon script b1eb12e03a SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-09 01:52:00 +00:00
l10n daemon script d4476fab9f GIT_SILENT made messages (after extraction) 2022-07-09 00:48:35 +00:00
Felix Ernst bb1b17ae69 Improve goActions test
This merge request fixes up a little oversight by me. I will merge this as soon as the pipeline passes.

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

Some lines verified that nothing is selected when navigating to a
folder that was not acted on yet. These verifications didn't test
anything meaningful because the folder in question was empty.

This commit adds a file and a folder to the test folder so that
testing if nothing is selected means something.
2022-07-07 13:32:28 +00:00
Felix Ernst c288a48fdc Add two autotests
- The first test makes sure that the width of the places panel
    doesn't change no matter what other panels are shown or hidden.
    There used to be bugs about this.
- The second test is kind of an integration test. It makes sure
    that the go actions work correctly. On two occasions we had
    the regression here that after going "Up" in the file system
    hierarchy the folder one emerged from didn't have keyboard
    focus which makes peeking into multiple folders tiresome.
    The test also makes sure that going back and forward works
    as expected and there are some sanity checks about which
    go actions are enabled, which items are selected and that
    using tabs doesn't interfere with any of that.
2022-07-07 10:41:39 +00:00
Kai Uwe Broulik 74ae8478ac Show "Loading canceled" placeholder when loading was canceled
Rather than "Folder empty", which is misleading as we didn't
actually load anything.
2022-07-07 06:03:12 +00:00
Kai Uwe Broulik 5ebc6b865d Don't reinterpret_cast QEvent
We know that we'll be a `QHelpEvent` from `QEvent::ToolTip`, so do a
static_cast from the event handler (where it's obvious from context),
and then pass it along to `tryShowNameToolTip`.
2022-07-06 17:33:42 +00:00
Friedrich W. H. Kossebau f3a0986b8b ViewPropertiesDialog: use action terms instead of Yes/No buttons
Yes/No buttons in dialogs are discouraged (not only) by KDE HIG
in favour of actions terms.
2022-07-03 19:01:58 +02:00
l10n daemon script 7b4644c084 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-03 01:59:38 +00:00
l10n daemon script 710d9af234 GIT_SILENT made messages (after extraction) 2022-07-03 00:50:27 +00:00
l10n daemon script 58a7772a19 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-07-02 02:06:49 +00:00
l10n daemon script 66505d643c GIT_SILENT made messages (after extraction) 2022-07-02 00:52:30 +00:00
Heiko Becker 854c47373a GIT_SILENT Update Appstream for new release
(cherry picked from commit 8887f09b22)
2022-07-01 20:40:59 +02:00
Friedrich W. H. Kossebau dc3d153bb6 Remove defunc & now deprecated SHOW_DEPRECATIONS flag
ecm_set_disabled_deprecation_versions() in versions < 5.96 was brokwn
when it comes to SHOW_DEPRECATIONS, warnings for newer deprecations
were disabled if the flag was set or not.
Starting with ECM 5.96 the macro now enables warnings by default,
so the flag is no longer needed.

GIT_SILENT
2022-06-28 23:25:10 +02:00
Alain Laporte da2bad9c68 Use edit-clear-history icon
More semantically (and visually) appropriate icon
2022-06-28 07:36:01 +02:00