Commit graph

7055 commits

Author SHA1 Message Date
Méven Car 5186f09cab DolphinView: merge update functions into set functions
NO_CHANGELOG
2024-01-06 11:13:22 +01:00
l10n daemon script e13a47f01f 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"
2024-01-05 02:08:48 +00:00
l10n daemon script 74cad37242 GIT_SILENT made messages (after extraction) 2024-01-05 01:36:14 +00:00
Sune Vuorela 458fa9c5b3 Remove setUpdate KBookmarkManager call
It is related to receiving updates from dbus; but that's removed.

Also, it defaults to true
2024-01-03 15:20:59 +01:00
Nicolas Fella c4bed0e132 Use correct KIO include 2024-01-03 01:02:48 +01:00
l10n daemon script ab75484a9d GIT_SILENT made messages (after extraction) 2023-12-31 01:56:03 +00:00
Carl Schwan bcccdc60df Add separator in Dolphin Status Bar
See https://invent.kde.org/plasma/breeze/-/merge_requests/390 for
explanation and screenshots
2023-12-28 21:51:34 +00:00
Marius P 12e8dbe8c4 org.kde.dolphin.appdata.xml add launchable
Fix "appstreamcli validate --explain" issue
"I: org.kde.dolphin.desktop:~: desktop-app-launchable-omitted
This `desktop-application` component has no `desktop-id` launchable tag,
however it contains all
the necessary information to display the application. The omission of the
launchable entry means
that this application can not be launched directly from installers or
software centers. If this
is intended, this information can be ignored, otherwise it is strongly
recommended to add a
launchable tag as well.".
2023-12-28 08:52:09 +00:00
l10n daemon script ad5fad0eff GIT_SILENT made messages (after extraction) 2023-12-28 01:35:00 +00:00
Alexander Lohnau 5e74b4c017 GeneralViewSettingsPage: Initialize variables in header, avoid unused variable depending on config 2023-12-27 12:11:53 +01:00
Albert Astals Cid f22530d446 Revert "Remove unused m_showToolTips variable"
This reverts commit 9a2fc1526c.
2023-12-27 11:57:15 +01:00
Albert Astals Cid 792a92befe Fix build with cmake >= 3.28
Proposed by krop on #kde-devel

Unless my bisect skills failed broken by ebc9e448b3
2023-12-27 11:56:54 +01:00
Alexander Lohnau acbc78f8ba kfileitemmodeltest: Include KIO/SimpleJob header instead of relying on compat code
Amends 3f92ac800c
2023-12-27 06:57:31 +01:00
Alexander Lohnau 3f92ac800c Do not rely on KIO source-code compat code 2023-12-26 17:11:32 +01:00
Alexander Lohnau 9a2fc1526c Remove unused m_showToolTips variable 2023-12-26 17:11:10 +01:00
Alexander Lohnau 18ff684290 Remove unneeded lambda capture 2023-12-26 17:10:43 +01:00
Marius P b2defa2f98 Fix issues if QT_NO_CAST_FROM_ASCII is defined
Fix issues e.g. "error: ‘QString::QString(const QByteArray&)’
is private within this context".
2023-12-25 10:28:58 +00:00
Marius P 2ba33b9220 main.cpp about data: update homepage 2023-12-25 10:25:32 +00:00
Akseli Lahtinen 7043ae1100 Set viewFocus when DolphinViewContainer state is consistent
Read Felix' comment here: https://invent.kde.org/system/dolphin/-/merge_requests/679#note_835657

In short: 
> The above change moves the `m_view->setFocus()` towards a point in time in 
> which `DolphinViewContainer`'s selection mode state is consistent again.

BUG:478724
2023-12-22 08:29:40 +00:00
Méven Car 3430ad1673 DolphinView: Ensure to update the whole viewState after a job created files
BUG: 476670
2023-12-18 10:10:11 +00:00
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