Felix Ernst [Mon, 23 Oct 2023 14:26:52 +0000 (14:26 +0000)]
Fix rubberband selection on icon in icon view mode
As an unintended side-effect of d9a18b04ea0b1b4e427f45083fdc0cdec87cbbfd
items would no longer be selected in icon view mode when the selection
rectangle intersected with the item's icon. This commit fixes this.
Felix Ernst [Mon, 16 Oct 2023 14:50:07 +0000 (16:50 +0200)]
Never show status bar context menu away from status bar
The status bar context menu was hard-coded to always appear at the
cursor position. However, context menus can also be triggered by
keyboard, for example with the Menu key, in which case it makes no
sense to show the context menu at whatever random position the
mouse cursor currently is.
Instead invoke the context menu in the middle of the status bar
when it is opened by keyboard.
Amol Godbole [Sat, 14 Oct 2023 02:08:35 +0000 (21:08 -0500)]
KItemListView: add view position in scrollToItem()
An item, on being scrolled to, is always located at the nearest edge of
the view. This is not always convenient. Allow specifying where the item
should be positioned with respect to the view in scrollToItem().
Felix Ernst [Mon, 16 Oct 2023 14:32:24 +0000 (16:32 +0200)]
Remove new tab shortcut Ctrl+Shift+N
Since https://commits.kde.org/kconfig/782e43f8076e5f4a10111a6b4d2cc6b1741c9798
Ctrl+Shift+N is the standard shortcut for creating a new folder
which leads to a shortcut conflict when this key combination is
invoked in Dolphin.
"New Tab" already has the more popular shortcut Ctrl+T assigned to
it, so Ctrl+Shift+N can simply be removed.
Amol Godbole [Wed, 11 Oct 2023 03:39:03 +0000 (22:39 -0500)]
DolphinView: get rid of writeStateChanged signal in setActive()
The signal writeStateChanged() was not working because it is not connected
to slotWriteStateChanged() slots when the active view changes. Replace the
signal with direct calls to the slots.
Also, do not delay openRequest signal in DolphinSearchBox::slotSearchTextChanged.
It's no longer required.
Felix Ernst [Fri, 8 Sep 2023 15:10:29 +0000 (17:10 +0200)]
Add test for accessibility ancestor tree
This is to make sure that all items that can be tabbed to and their
accessible children have the main window somewhere in their
ancestry/ancestor tree.
Felix Ernst [Mon, 17 Jul 2023 14:13:51 +0000 (17:13 +0300)]
Fix accessibility ancestor tree
Before this commit, KItemListViewAccessible would always return
nullptr as its parent. This meant that accessibility software would
have to guess to which window/hierarchy the KItemListView belongs
to. Guessing shouldn't be necessary here.
This commit makes sure that the KItemListView always returns a
sensible parent in the accessible hierarchy. It does so by
explicitly setting the accessible parent for every KItemListView
after construction in the DolphinView contructor. Since
KItemListView now always knows about its accessible parent, the
accessibleInterfaceFactory can always ask the KItemListView for
that information when constructing the QAccessibleInterfaces.
Amol Godbole [Wed, 4 Oct 2023 02:38:47 +0000 (21:38 -0500)]
DolphinViewContainer: Keep search box open when URL is changed
The search box was being automatically closed whenever the URL is changed.
Keep the search box open if no search text had been entered when the URL
was changed.
Méven Car [Fri, 29 Sep 2023 07:29:16 +0000 (09:29 +0200)]
DolphinPlacesModel: remove usage of alternativeApplicationName
This is now not needed anymore since `PlacesItemModel::cleanupBookmarks` (now removed) from https://phabricator.kde.org/D9333 has run for on users systems.
TerminalPanel: Disconnect destroyed signal in destructor
Otherwise, when QObject cleanup, which runs after our destructor,
destroys the terminalPart, it would call back into us
when we're already half-destroyed.
This trips an assert in Qt "Called object is not of the correct
type (class destructor may have already run)"
Joshua Goins [Sun, 20 Aug 2023 15:33:47 +0000 (11:33 -0400)]
Improve README, add screenshot
I didn't touch any of the content - save for removing that weird header
formatting and removing the soon-to-be-obsolete UserBase link. A
screenshot has been added.
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.