Eric Armbruster [Wed, 6 Sep 2023 04:34:13 +0000 (06:34 +0200)]
Add open in split view action
This action is shown only if a single folder is selected. The action
opens the selected folder in the inactive split view (and opens the
split view if necessary).
DolphinView: Reset scrollbars before changing view mode
When view modes are changed, the scrollbars are not reset. This can
cause the scroll area to be moved out of view after changing the view
mode, making the view unusable. This commit resets the scrollbars.
KItemListView: Fix inconsistencies in requiredWidth calculation
Commits d3839617 and 3bf471e0 introduced a few changes to requiredWidth calculation.
This commit makes the calculation of requiredWidth consistent across KItemListView.
Currently, the URL navigator is not updated when the search box is cleared. This MR restores the URL, by closing and reopening the box.
The call for emitting closeRequest() on pressing Esc has been replaced with emitCloseRequest(). The wait duration before starting a search has been reduced to 500ms to increase responsiveness.
Also, the bugfix for BUG: 423328 is slightly incorrect and causes the search term to not be displayed when opening a saved search for the first time. As a better solution for this bug, DolphinSearchBox::setText() now updates the text only if the text has changed.
KFileItemModel: Delay emitting currentDirectoryRemoved() signal
The KCoreDirLister object is modified before KCoreDirListerCache::deleteDir()
returns because the signal currentDirectoryRemoved() is emitted.
This prevents removal of the deleted lister from dirData.listersCurrentlyHolding
in KCoreDirListerCache::forgetDirs() when the tab is closed, which causes the
crash described in the bug. Hence, the signal currentDirectoryRemoved()
is delayed to ensure this does not occur.
Kai Uwe Broulik [Thu, 17 Aug 2023 10:57:26 +0000 (12:57 +0200)]
KItemListView: Use own palette rather than go hunt for the scene
Documentation for `QGraphicsWidget::palette` says:
> When a widget's palette changes, it resolves its entries against its
> parent widget, or if it doesn't have a parent widget, it resolves against the scene.
So I don't see why we would need to do that ourselves.
More importantly, though, it seems in Qt 6 the palette isn't updated in time,
so when changing color schemes, Dolphin picks the old color instead of the new one,
leading to illegible font when e.g. switching between Breeze Light and Dark.
It includes a move of the settings in the Navigation and Startup sections to the Interface (formerly Behavior) section.
It also includes a new tab in the View (formerly View Mode) section, called General where some settings regarding Display style, Browsing and Miscellaneous settings
The Interface section has new tabs named Folders & Tabs and Status & Location bars respectively where most of the Startup and Navigation settings moved.
The `dolphin/kcms/kcm_dolphinnavigation` kcm is removed.
K. Cottonears [Thu, 17 Aug 2023 07:22:49 +0000 (07:22 +0000)]
Set Maximum Tab Width for folders to Tab bar
There is no limit to the width of tabs with the tab bar of the main window. If the directory name is too long, tabs can take up a lot of space and can lead to inconsistent tab widths.
To alleviate this, set a maximum tab bar text width of 40 characters for each folder.
Bart Ribbers [Wed, 9 Aug 2023 12:07:46 +0000 (14:07 +0200)]
Fix musl build by using fts_* from external library
musl does not support fts. There is however a standalone package that
can be used, but it must be linked against. This commit adds a check
that makes sure to link to the external library if it is required.
Ctrl + scroll wheel zoom was not working as designed after Dolphin is launched. Initialize m_controlWheelAccumulatedDelta in DolphinView's constructor.
Jakob Petsovits [Mon, 24 Jul 2023 17:43:18 +0000 (13:43 -0400)]
KF6 Dolphin depends on kio-extras, for kcm_trash embedded in settings
When kio-extras is not installed (or kcm_trash.so exists, but
is outdated) then opening the "Configure Dolphin..." settings dialog
will crash. It tries to load kcm_trash with its old KCModule plugin
construction signature and gets a fatal symbol mismatch.
kcm_trash was recently moved from kio to kio-extras and is
unconditionally loaded in non-Windows environments, so that
dependency should be required in the metadata for kdesrc-build.