Commit graph

6786 commits

Author SHA1 Message Date
Kai Uwe Broulik 8402b98995 DolphinTabWidget: Allow specifying new tab position in openNewTab 2022-10-06 12:21:15 +00:00
Kai Uwe Broulik f4a400bad7 Remove superfluous setData call
It's done by urlNavigatorHistoryAction already
2022-10-02 15:10:15 +02:00
John Brooks 3656da18b0 terminal: Clear line using escapes instead of SIGINT
Sending SIGINT can be destructive, for example if we interrupt the
loading of the shell init files (e.g. .bashrc) and clobber history
preservation settings. Follow the example of Kate and send a Ctrl-E
Ctrl-U to clear the prompt instead.

BUG: 279614
Signed-off-by: John Brooks <john@fastquake.com>
2022-10-02 07:14:23 +00:00
l10n daemon script 13712a5065 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-09-28 02:00:06 +00:00
Laurent Montel aa54a68e93 Add missing include (needed for building qt6) 2022-09-26 09:03:55 +02:00
Laurent Montel e19aa49a08 Remove unused includes 2022-09-26 08:17:13 +02:00
l10n daemon script c9271bf5b8 GIT_SILENT made messages (after extraction) 2022-09-24 00:49:05 +00:00
Felix Ernst 75183e609f Increase code coverage of places panel width resistance test
Improve the test by also testing the various selection mode bars.
No combination of bars should lead to a resize of the paces panel.

This commit also helps with increasing code coverage by making all
possible selection mode bars appear.
2022-09-23 21:17:19 +02:00
l10n daemon script 6c65d06bcd 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-09-21 01:48:38 +00:00
l10n daemon script fede2094e3 GIT_SILENT made messages (after extraction) 2022-09-21 00:49:27 +00:00
Felix Ernst f4bed9333e Trigger "Exit Selection Mode" button on clicked and not on pressed
This way it works just like every other button.

This commit also removes two empty files that sneaked in by
accident.
2022-09-15 14:18:44 +00:00
Felix Ernst 11ada1515d Improve selection action toggle code
@broulik noticed an issue in the code. This commit fixes it.

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

Before this commit there was a `QObject::disconnect` call that did
nothing (because it had `nullptr` as the first parameter) and there was a `QObject::connect` call that created
the same connections multiple times because of this.

This had no effect on end users. However such code can lead to
issues in the future e.g. if we ever had a situation in which the selection mode could be toggled for an inactive view container.

This commit solves this by replacing the `QObject::disconnect` call
with one that works. The `QObject::connect` call is moved so
there won't be multiple connections of the same type.
2022-09-15 13:36:05 +00:00
Felix Ernst 3dd49a8539 [dolphinview] Disconnect modelChanged when destructing
Deleting DolphinView deletes KItemListContainer, which deletes
KItemListController, which emits modelChanged, which causes a
signal delivery to the already destroyed DolphinView

This is never good, and in Qt6 causes an assert
(https://codereview.qt-project.org/c/qt/qtbase/+/381860).

Co-authored-by: Nicolas Fella <nicolas.fella@gmx.de>
2022-09-15 14:15:31 +02:00
Eric Edlund 8ff021ca69 Change "OpenExternallyCalledFolderInNewTab" to false by default 2022-09-09 16:14:38 +00:00
l10n daemon script f49cba188a GIT_SILENT made messages (after extraction) 2022-09-06 00:48:29 +00:00
Heiko Becker 56ff2bed7e GIT_SILENT Update Appstream for new release
(cherry picked from commit 4986d7c8df)
2022-09-02 23:59:56 +02:00
Felix Ernst 4ddc4159ed This commit removes the ability to enter selection mode by
click-and-holding with a pointing device like a mouse.

This functionality was originally implemented because it seemed
useful to save users the effort of entering selection mode
explicitly by using its corresponding action.

However, click-and-holding to trigger anything is not really an
expected behaviour. (This contrasts with touch devices where
press-and-holding is common to trigger something.)

Aside from the above reasoning, the click-and-hold behaviour was
also buggy so that selection mode was entered in a couple of
situations that weren't strictly about click-and-holding.

So this commit removes the functionality and the bugs.

BUG: 457973   
BUG: 458129   
CCBUG: 457975
2022-08-27 09:40:51 +00:00
Kai Uwe Broulik a44830c3a9 Don't show error message on ERR_USER_CANCELED
There's no point telling the user what they just did.

After f192c133eb
this error has a text associated with it, so it might
show up in the UI.
2022-08-24 17:00:01 +02:00
Laurent Montel 29cd7b8e1f GIT_SILENT: Terminal=false is default value. Not necessary to keep it in desktop file 2022-08-23 20:47:01 +02:00
Méven Car 4150960081 InformationPanel: better refresh state when current dir changes
Refactor and simplify things along the way.

BUG: 457813
2022-08-22 23:32:28 +02:00
Kai Uwe Broulik 06df12013b Places Panel: Don't show error message on UserCanceled
There's no point telling the user what they just did
2022-08-22 19:55:30 +02:00
l10n daemon script 53be1a4ccb GIT_SILENT made messages (after extraction) 2022-08-22 00:49:02 +00:00
Eugene Popov eafe63b5f4 Fix sorting by file extension
Folders don't have extensions
2022-08-21 11:45:01 +00:00
l10n daemon script b5de7d7945 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-21 01:51:22 +00:00
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
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
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
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
Alain Laporte da2bad9c68 Use edit-clear-history icon
More semantically (and visually) appropriate icon
2022-06-28 07:36:01 +02:00
l10n daemon script a97adfc4fd 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-06-25 02:01:46 +00:00
Andrey Butirsky 73ff57bef4 do not open excessive tab
even if directory of the file to be created is not the top-most opened in
TreeView

BUG: 440663
2022-06-22 21:49:37 +03:00
Andrey Butirsky 0b208fd990 formatting 2022-06-21 15:23:52 +03:00
Laurent Montel 1be92915b0 Remove duplicate headers between cpp/h 2022-06-20 07:09:01 +02:00
l10n daemon script f31ec8bdaa GIT_SILENT made messages (after extraction) 2022-06-20 00:49:44 +00:00
Felix Ernst 5ebf2065d5 Don't consider drops on a row as drops on the row's item
Since d383961719 in details view mode
clicking anywhere within the row is considered a click on the item.
That commit also changed it so that dropping files anywhere inside
a row would make it so the files are received by the folder of that
row.

This commit reverts the drop behaviour to be identical to the old
one.

I am having trouble explaining why this is better because one can
look at it in different ways. Bottom line is that one doesn't
really feel like one is dropping files inside a folder unless the
mouse cursor is actually directly above a folder's icon or name.

Another argument is that it is normal behaviour to just throw files
onto an application and the files then being opened by it.
Having potentially large parts of the view area covered by the rows
of folders means that there has to be more of a conscious effort to
not drop the files inside one of the folders by accident while with
this commit one has to aim precisely onto a folder to do it
intentionally.

CCBUG: 453700
2022-06-16 09:11:36 +00:00
l10n daemon script ebe3a111e6 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-06-16 01:56:58 +00:00
Ahmad Samir 8aa81a1dc7 Cleanup config-dolphin.h includes 2022-06-15 11:28:44 +02:00
Ahmad Samir 28a74d1780 Use cmakedefine01
This way we get a build time warning if the var isn't defined at all, e.g.
a missing check_include_files() CMake call.
2022-06-15 11:28:42 +02:00
Ahmad Samir 8a0003bfbc Use one config-dolphin.h.cmake configuration file 2022-06-15 11:27:55 +02:00
Dāvis Mosāns fc2d181291 Fix rare ToolTipManager crash on exit
If tooltips are enabled and you hover over item
while immediately closing Dolphin sometimes it would crash
because native parent might have been destroyed before
DolphinView
2022-06-15 02:35:19 +01:00
l10n daemon script 957e6309b8 GIT_SILENT made messages (after extraction) 2022-06-14 00:52:42 +00:00
l10n daemon script 6401e69a4f 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-06-13 02:41:50 +00:00
l10n daemon script bce1f06b26 GIT_SILENT made messages (after extraction) 2022-06-13 01:14:51 +00:00
Laurent Montel a7f35a01ce Fix install/load plugins from kf<version> 2022-06-11 13:34:22 +02:00
l10n daemon script eb4a3cb45a 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-06-09 02:11:47 +00:00
l10n daemon script 3207ed3b97 GIT_SILENT made messages (after extraction) 2022-06-09 01:00:49 +00:00
Marius P 8113af62c4 KItemListView fix valgrind issue "Conditional jump or move depends on uninitialised value"
KItemListView::setAlternateBackgrounds(bool) (kitemlistview.cpp:489)
In C++, a data member of an object is not automatically initialized to "zero".
In this case a bool had random values such as the integer 255.
2022-06-07 11:41:21 +00:00
l10n daemon script e406bc197f 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-06-07 02:25:10 +00:00
l10n daemon script ee76ae866e GIT_SILENT made messages (after extraction) 2022-06-07 01:02:15 +00:00
l10n daemon script 579b38050d 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-06-06 01:43:37 +00:00
Heiko Becker 29acb196ab GIT_SILENT Update Appstream for new release
(cherry picked from commit d0fc5bcd3d)
2022-06-04 10:17:29 +02:00
Heiko Becker 6cd3121c38 GIT_SILENT Update Appstream for new release
(cherry picked from commit 716d814019)
2022-06-03 22:36:05 +02:00
Laurent Montel 8df1ea3327 We depend against qt5.15 2022-06-02 07:55:08 +02:00
l10n daemon script 165448bc7f 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-06-02 01:44:29 +00:00
l10n daemon script 67a149b447 GIT_SILENT made messages (after extraction) 2022-06-01 00:56:17 +00:00
Laurent Montel 6ee1e01eb0 It's enabled by default in qt6 2022-05-31 21:13:09 +02:00
Laurent Montel 4fc25d5949 We depend against kf5.91 => remove check 2022-05-31 21:12:01 +02:00
Ahmad Samir ad23079e1b Fix building KF6 with PackageKit-Qt 2022-05-31 14:25:13 +00:00
Ahmad Samir 0d81efae58 Fix build with Qt6 QFont::setWeight()
In Qt5 it takes an int, in Qt6 it takes a QFont::Weight.
2022-05-31 14:25:13 +00:00