Commit graph

7035 commits

Author SHA1 Message Date
Akseli Lahtinen 8f043b2958 Resort directory size count after refreshing
After refreshing the view when
size count is selected as the sortRole,
count is 0 at first. When the actual count is loaded,
the sorting is done according to the count being 0. 
This can break the sort order and cause view and model
to be out of sync. 

Making sure we always resort all items
when the directory size/item count is changed fixes this

BUG:473999
2023-12-15 13:07:12 +00:00
Akseli Lahtinen d98037745f Change resortAllItemsInterval to 50ms
Related to https://invent.kde.org/system/dolphin/-/merge_requests/675

Reduces the delay for sorting items when something changes
2023-12-15 13:01:21 +00:00
Akseli Lahtinen a5fb0524b5 Set dockAction enabled according to settings
Panels are unlocked even they're set locked in settings at start of the app.
This sets panels locked according to the setting.

BUG:478117
2023-12-15 10:17:21 +00:00
Méven Car 2aa5477ccf Dolphin: Remove unused code, fix clazy warnings 2023-12-14 10:36:58 +01:00
Akseli Lahtinen b1f9c2e5c9 Do not reset expandability when loading previews
Fixes a weird bug with the treeview if one has
```
[PreviewSettings]
Plugins=audiothumbnail
```
in their `dolphinrc`. It can be any PreviewSettings plugin, as long as there it at least one.

Check the bug report for more, but in short, the bug is reproducible like this:

```
create folder tree inside a test folder with 

mkdir -p 1/A/B/C/D/E/F/G/H/I
mkdir -p 2/A/B/C/D/E/F/G/H/I
mkdir -p 3/A/B/C/D/E/F/G/H/I

make sure you see the test folder, and expand it

expand folder 1, no need to expand all sub folders
expand folder 2
collapse and expand test folder
3 loses its expansion arrow

if all folders are expanded, only 3 keeps its order

if 1 and all its subfolders are expanded, then test is toggled,
folder 2 also loses its expansion arrow
```

Video of the bug:

![Screencast_20231207_112700](/uploads/4fad2a62a5a9a67760fa7faa8e3bec40/Screencast_20231207_112700.webm)

The path to the bug is: `KFileItemModelRolesUpdater::slotPreviewFailed` -> `KFileItemModelRolesUpdater::applyResolvedRoles` -> `KFileItemModelRolesUpdater::rolesData` -> `KFileItemModelRolesUpdater::startDirectorySizeCounting`. 

This causes Dolphin with preview plugins enabled trying to count the directories again, and the data gets reset even if there is something there. This then resets the `isExpandable` flag and that breaks the treeview, causing all kinds of issues, like being able to expand non-directories and makes things out of sync.

BUG:477607
2023-12-08 10:59:19 +00:00
David Edmundson 30691235c5 Do not cache indexes across async tasks
Capturing an index is unsafe as it could be out of date when this is
processed. The user could have changed directory inserted a file or
changed sorting order.
2023-12-08 09:50:24 +00:00
Heiko Becker f89aa7a5e2 GIT_SILENT Update Appstream for new release
(cherry picked from commit beb28a4bde)
2023-11-30 17:55:05 +01:00
Antonio Rojas 9c313813f5 Fix building with activities after the kactivities -> plasma-activities rename 2023-11-30 08:59:04 +01:00
Akseli Lahtinen 697d1648b7 Set style to nullptr before painting listview
Resolves any possible dangling pointers
if application style is changed after
toggling the selection mode

BUG:477288
2023-11-29 16:00:34 +00:00
Kai Uwe Broulik 038f26776f Places Panel: Swap "Open in Split View" and "Configure Trash"
Ensure the "open" actions are all in a row.
2023-11-26 10:31:22 +00:00
l10n daemon script e5387d1481 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"
2023-11-26 02:33:09 +00:00
Felix Ernst 139c729b4a Reduce status bar minimum width
This is to make sure that when the window is resized it is less
likely that the places panel will be resized only because the
status bar doesn't want to become very narrow in width.
2023-11-24 11:52:54 +00:00
Felix Ernst d3637f380c Turn free space label into a flat button
The usage of a label to show this space information is problematic
because there are features/actions hidden behind clicking the
label. A button makes this clear. It also fixes the accessibility
of this control because previously this info would never be read
out by screen readers as it couldn't get keyboard focus.

A side-effect of this change is that the free disk space bar looks
more normal with non-Breeze styles. This had been a long-standing
issue.
2023-11-24 11:52:54 +00:00
Jonathan Esk-Riddell 93237493e4 Port to KF6 rename of KUserFeedback 2023-11-23 17:56:58 +00:00
Kai Uwe Broulik add53b4472 panels/information: Create pixmap with explicit devicePixelRatio 2023-11-21 13:54:27 +01:00
Kai Uwe Broulik 90770d305a Create thumbnails with scene devicePixelRatio 2023-11-21 13:54:25 +01:00
Kai Uwe Broulik ecd3675aaa views: Use scene devicePixelRatio rather than qApp
When possible, use the devicePixelRatio from the scene which on Wayland
unlike the QApplication will properly support fractional scaling.

A KItemViewsUtils class is introduced that can be reused elsewhere.
2023-11-21 13:53:54 +01:00
Oliver Beard 26adfe689a dolphinview: Fix right-click on header whilst unfocused
When the window is unfocused, there's no activeWindow and right-clicking on the header causes the menu to appear with window decorations.
2023-11-21 09:33:18 +00:00
Oliver Beard cee87e2e33 dolphinview: Change case of status bar text
We should use lower case for this text, matching other strings (properties dialog, information panel).
2023-11-21 08:58:22 +00:00
Felix Ernst 046749b073 Make main view react to context menu events
Before this commit, Dolphin's main view would not react to any
context menu events. It only showed context menus based on
hard-coded mouse or keyboard events i.e. mouse right-click and
presses of the "Menu" key.

This commit removes those hard-coded reactions and instead makes it
so the view shows a context menu whenever a QContextMenuEvent is
received. Therefore, a context menu will now be opened when any
platform- or system-specific context menu triggers are invoked e.g.
the Shift+F10 keyboard shortcut.

Aside from this, the only side-effect is a partial removal of an
unrelated bug: Previously, the hover highlight on items was never
cleared when the header column in details view mode was hovered.
With this commit, the hover is now correctly cleared most of the
time.
2023-11-18 10:49:11 +00:00
Felix Ernst 2ad0fa6e87 Fix accessibility ancestor tree for folders panel
This is a followup to 549fad2dae.
That previous commit made sure that the accessibility tree for
Dolphin's main view was complete even though the view had no
parent by explicitly setting an accessible parent.

The folders panel also has a view though and that previous commit
did not contain an explicit call to also set an accessible parent
for it. This commit rectifies that.

Fixes a sanity check & crash in the debug build.
Belongs to Dolphin issue #47.
2023-11-15 11:48:31 +01:00
Carl Schwan 0eca319318 Remove some frames from the settings
QTabWidget with setDocumentMode is more adapted as the QTabWidget in the
settings are filling the whole view and we only need to draw a separator
at the top.
2023-11-13 10:14:22 +00:00
Piruzzolo Piruzzolo 384e4c9cce Remove hover fadein/fadeout animation for KItemListWidget
Removes hover fade animations for the file item.
Hovering is more effective when it provides instant feedback. Over the
years, we have moved in the direction of removing animations entirely
from our hover-based list and grid views to alleviate a perceived
sluggishness.
2023-11-13 10:09:57 +00:00
Amol Godbole d4e862fb4c DolphinTabWidget: Use tabBarAutoHide property
The tab bar was being hidden manually. Instead, set the tabBarAutoHide
property to true.

BUG: 476742
2023-11-12 08:54:57 +00:00
Felix Ernst 5ae081658e Align location bar splitter with view area splitter
https://commits.kde.org/breeze/18734eea941446d81624a505a18ceed132f0f480
has turned the splitter in our default Breeze style visible. This
made it very apparent that the two splitters visible when Dolphin
is in split view area mode are not aligned perfectly. The
computation is slightly off because the width of the splitter
itself was not taken into account. This commit fixes this.
2023-11-11 10:37:27 +00:00
Eric Armbruster 86c59879ec Set show preview shortcut to F12
To be consistent with kio open/save dialogs.

BUG: 172967
2023-11-11 09:24:01 +00:00
Carl Schwan 67ef4af64f Set position of KMessageWidget
To use a more frameless style
2023-11-10 12:37:05 +00:00
Carl Schwan 659eafd796 Adapt to frame change in Breeze
Reduce margins in some places, make the dolphinstatusbar use a
QStatusBar style, and mark the kitemlistcontainer as no frame
2023-11-10 12:37:05 +00:00
l10n daemon script 86437a130b GIT_SILENT made messages (after extraction) 2023-11-10 01:48:48 +00:00
Nicolas Fella 2cd3d58eec Port away from KMoreTools
The idea behind KMoreTools was to point the user at external tools for a given job.

It provides a rather complex framework for that, including suggesting not-yet-installed tools.

The UX behind that isn't great though, which somewhat deep menu hierarchies and a somewhat arbitrary list of tools.

Most KDE apps have moved away from it, with only Dolphin remaining.

Instead provide direct integration with relevant KDE tools (Filelight, KDiskFree, KFind)
2023-11-08 13:36:51 +00:00
Yifan Zhu 8297e0a8c9 Improve size adjustment of itemlist editor
Currently multi-line file names in dolphin only display a single
line when renaming. This commit ensures multi-line filenames have
all lines displayed by calling `document()->adjustSize` in
`KItemListRoleEditor::autoAdjustSize`, and by calling the latter
function after setting up the editor.

BUG: 452587
2023-11-08 11:10:42 +00:00
Friedrich W. H. Kossebau 91a4d5da94 Adapt to KConfigGroup name officially being a QString type
GIT_SILENT
2023-11-08 12:08:31 +01:00
Laurent Montel 1cf56b2303 Master is qt6 only. Not necessary to use ${QT_MAJOR_VERSION} now.
Remove qt5 specific cmake code too
2023-11-08 09:20:24 +00:00
l10n daemon script 3fde6cbeb0 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"
2023-11-08 09:18:27 +00:00
l10n daemon script 33d8c894f2 GIT_SILENT made messages (after extraction) 2023-11-08 08:48:52 +00:00
l10n daemon script d558c9a5dd 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"
2023-11-07 03:15:28 +00:00
l10n daemon script 5644e08579 GIT_SILENT made messages (after extraction) 2023-11-07 02:44:48 +00:00
Nicolas Fella 6f0fc3e032 Port away from ResourceInstance
The information reported here isn't used by anything

Instead only report that the url was accessed, which is used for things
2023-11-06 13:50:16 +00:00
Nicolas Fella 83608c97ec Use DBus to reparse worker config
See https://phabricator.kde.org/T15956
2023-11-06 10:47:09 +00:00
Méven Car d9c11ee999 Merge branch 'master' into kf6 2023-11-06 10:18:34 +01:00
Nicolas Fella 349eb6cf5e Adapt to NavigationExtension API change 2023-11-05 16:36:50 +00:00
Nicolas Fella 0cf79df76a Remove obsolete Konqueror workaround
This isn't needed any more with recent Konqueror
2023-11-05 16:36:50 +00:00
l10n daemon script b6dac96b84 GIT_SILENT made messages (after extraction) 2023-11-05 12:39:14 +00:00
l10n daemon script d1f4e8d1e7 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"
2023-11-04 12:00:15 +00:00
Heiko Becker 6403ce27cc GIT_SILENT Update Appstream for new release
(cherry picked from commit 1db58ee078)
2023-11-04 11:53:34 +01:00
Méven Car 12162850ff Panel: fix actions and shortcuts to toggle their visibility 2023-10-25 10:05:20 +00:00
Nicolas Fella 1826f905d7 Merge branch 'master' into kf6 2023-10-24 23:14:25 +02:00
Nicolas Fella ef59e42c40 Process correct model when applying service menu changes
The listview's model is a filter model, we must iterate through the source,
otherwise we get incorrect results

BUG: 475547
2023-10-24 20:30:21 +00:00
Yifan Zhu 8ef3c7bc42 Display newline in filename as Unicode line break
BUG: 422998
CCBUG: 444747
2023-10-23 10:09:22 -07:00
Kai Uwe Broulik 8b91acf05b DolphinViewContainer: Use Auto*Warning*HandlingEnabled
Errors are put in a KMessageWidget by us in slotOpenUrlFinished.
Fixes regression from 40cc5f665d.
2023-10-23 17:29:15 +02:00