Commit graph

6978 commits

Author SHA1 Message Date
Alexander Lohnau c907ef92c1 Port away from KDesktopFileActions::userDefinedServices
This is planned to go away since the only real user being kdesvn and that is ported to a C++ plugin
2023-10-21 07:10:42 +02:00
Nicolas Fella 064b2539de Adapt to KBookmarkManager API change 2023-10-20 16:37:53 +02:00
Felix Ernst c90afc3e88 Replace a deprecated qAsConst with std::as_const 2023-10-19 11:44:59 +02:00
Felix Ernst 6271ee8a5a 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.
2023-10-16 15:05:23 +00:00
Nicolas Fella 4199e7ef20 Adapt to new KBookmarksWidgets library 2023-10-07 16:56:15 +00:00
Nate Graham 30a807e44a Merge branch 'master' into kf6 2023-10-05 09:15:35 -06:00
Felix Ernst b58fead9be 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.
2023-10-05 12:09:25 +00:00
Felix Ernst 549fad2dae 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.

Fixes https://invent.kde.org/system/dolphin/-/issues/47.
2023-10-05 12:09:25 +00:00
Méven Car 7a6cba7f51 KItemListWidget: make unfocused alternate background slightly lighter 2023-10-05 11:46:47 +00:00
Amol Godbole 4d018e1c3c 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.

BUG: 474951
2023-10-05 09:43:23 +00:00
Amol Godbole e1de6c3492 DolphinRecentTabsMenu: Fix blank text for closed search tab
The recently closed menu adds a blank item when a search tab is closed.
Add the search term and path to the item text.

BUG: 474999
2023-10-03 00:44:55 -05:00
Méven Car cff402356e 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.
2023-09-30 07:15:18 +00:00
Méven Car b6d9cb9949 TerminalPanel: Disconnect signal in destructor only when we have a konsolePart 2023-09-28 13:18:31 +02:00
Marco Savelli d9a18b04ea selection: fix rubberband vertices 2023-09-23 08:36:53 +00:00
Marco Savelli 2a4dd2aa43 selection: select-on-rubberband-on-row as new default
Sets a rectangular, non-full-width rubberband as the new default.
User selection is made wherever the rubberband intersects with the row.
2023-09-23 08:36:53 +00:00
Kai Uwe Broulik 856716e8b6 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)"
2023-09-19 22:43:14 +02:00
Nate Graham 64e40c1d93 Merge branch 'master' into kf6 2023-09-19 08:29:35 -06:00
Oliver Beard 38342ae820 terminalpanel: Improve Konsole missing message
It now forces the pane to fit its height, and will animate on every appearance.
2023-09-16 15:37:17 +00:00
Méven Car 4cbeb81b2b Merge remote-tracking branch 'origin/master' into kf6 2023-09-10 15:24:39 +02:00
Méven Car b58a346be9 Replace qAsConst with std::as_const 2023-09-10 15:19:13 +02:00
Méven Car 5c33e0211f Copy Location: Make sure to export path with native separators 2023-09-10 14:58:36 +02:00
Eric Armbruster a85863befd 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).

FEATURE: 465500
2023-09-09 15:45:26 +00:00
Heiko Becker f900801540 GIT_SILENT Update Appstream for new release
(cherry picked from commit 6fe9932a17)
2023-09-09 10:26:40 +02:00
Méven Car 6eb8f9b47a DolphinContextMenu: Use targetUrl in addOpenParentFolderActions
Amends 3aa8cf00ee
2023-09-06 19:10:21 +02:00
Méven Car 3aa8cf00ee Add open containing folder options for files in recentlyused:/ 2023-09-06 14:39:15 +02:00
Amol Godbole 0e4d428e84 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.

BUG: 393152
2023-09-05 04:58:05 +00:00
Amol Godbole 385146a1e8 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.
2023-09-05 04:58:05 +00:00
Amol Godbole c4bb3db022 Restore the URL when DolphinSearchBox is cleared
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.

BUG: 473775
2023-09-04 07:39:13 +00:00
Amol Godbole 9ba0904013 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.

BUG: 473377
2023-09-04 00:53:38 -05:00
Méven Car 741bea8324 fix test in FreeBsd KItemListControllerExpandTest::testDirExpand 2023-09-02 17:27:25 +02:00
Méven Car fae5fec964 Add focusOut and focusIn event support for KFileItemListView and update selected widget on focus change 2023-09-02 14:42:54 +02:00
Oliver Beard 012f8a224a k[standard]itemlistwidget: Account for view focus in selection highlight 2023-09-02 07:41:49 +02:00
Méven Car 079f903bc8 Fix a bunch of clazy warnings 2023-08-29 07:18:51 +00:00
Méven Car 0cbc912319 Use KMessageBox::warningContinueCancel when appropriate
This will prevent saving the "Cancel" + "don't show again" result, which is meaningless.
2023-08-28 14:08:53 +02:00
Méven Car b45c57332f Confirmations setting: Add checkbox for ConfirmOpenManyFolders and ConfirmOpenManyTerminals
We have to special handle the values saved as it is interpreted by KMessageBox
2023-08-28 13:59:09 +02:00
Méven Car 1318f16fd7 Clean obsolete ifdefs since dolphin requires KF 5.101+ 2023-08-28 10:36:37 +02:00
Méven Car 46d2d147bf Special case file opening with middle click for executable scripts
Since the first action would launch the script, we can use the first application associated to open the file.
2023-08-24 18:27:23 +02:00
Kai Uwe Broulik 5a7b749f5b KStandardItemListWidget: Render pixmap with explicit dpr
Instead of using the one from QApplication, use the one from the window.
2023-08-23 19:48:05 +00:00
Méven Car ae1980442d Merge branch 'master' into kf6 2023-08-23 18:56:41 +02:00
Felix Ernst 11fb9344c0 Allow to not ask again confirmation when opening 5 or more files or terminal at once
BUG: 473513
2023-08-23 16:54:52 +00:00
Méven Car d27ee07de7 On middle-click, open file with the second application for the file mime
FEATURE: 390631
2023-08-23 12:35:48 +00:00
Méven Car ff852b97f1 Re-Allow to set settings in Settings-> View-> General page
Regressed in 489b56b68b

Simplify implementation by sharing making class ViewSettingsPage implement SettingsPageBase sharing implementation with other tabs in viewsettingspage
2023-08-23 14:26:09 +02:00
Ilya Bizyaev d37cb5eb36
Swap "Open Path in New Tab" and "Open Path in New Window"
Looks like I missed it back in
402f7f3041
— so fixing now :)
2023-08-22 23:22:05 +02:00
Kai Uwe Broulik 21cd9da8fd 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.
2023-08-20 20:08:58 +00:00
Nicolas Fella b7e859827d Adapt to KNotifcations API change 2023-08-18 20:39:15 +00:00
Dimosthenis Krallis 489b56b68b Dolphin settings revamp
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.
2023-08-18 07:07:48 +00:00
K. Cottonears 1165a1bc52 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.

BUG: 420870
2023-08-17 07:22:49 +00:00
Heiko Becker 399309d36c GIT_SILENT Update Appstream for new release
(cherry picked from commit c08f661a2c)
2023-08-16 22:48:35 +02:00
Nicolas Fella 62ba2dd877 Adapt to kbookmarks API change 2023-08-14 23:18:19 +02:00
Méven Car aded2d716d Don't compute size for non-local urls
Hide progressInfo for listDir job on the non-recursize path.

BUG: 472912
2023-08-13 08:44:24 +00:00