┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-04-12DolphinNavigator: Hide the KUrlNavigator background if DolphinNavigator is ↵Akseli Lahtinen
outside of toolbar When the DolphinNavigator is outside of the toolbar, it's better to hide the background for better looks. This change works only when Dolphin is built against KIO 6.14.
2025-04-07Rewrite search integrationFelix Ernst
This huge commit is a nearly complete rewrite of the Dolphin search code. It implements most of the improved Dolphin search UI/UX as designed and discussed in a collaborative effort by Kristen McWilliam, Jin Liu, Andy Betts, Tagwerk, a few others and me. See https://invent.kde.org/system/dolphin/-/issues/46. # Notable changes - A toggle to change the search tool is provided as most contributors deemed that useful in https://invent.kde.org/system/dolphin/-/merge_requests/642#note_985112. - The default search is changed to filenamesearch for maximum reliability. - Removing all search parameters will take users back to the view state prior to starting a search instead of keeping the search results open. - The UI for choosing file types or modification dates has been made more powerful with more granularity and more options. - Most search parameters can be configured from a popup menu which gives us extra space for extra clarity. - Labels and help buttons as well as hyperlinks to settings makes sure the user always knows why some search parameters are unavailable in some contexts. - Chips show important search parameters while the popup is closed. They allow quickly removing filters. - The titles of the search and the input field placeholder message change to make clear whether file names or file contents are searched. - When the user actively switches the search tool, whether content should be searched, or whether to search everywhere, this is preserved for the initial state of the search bar when the user opens it the next time after restarting Dolphin. # Architecture - The new DolphinQuery class is independent of the UI and contains all search parameters modifiable in Dolphin as easy setters and getters. - DolphinQuery objects are also used to update the states of every component in the search UI. There is now a clear separation of UI and search configuration/DolphinQuery. - DolphinQuery is responsible for exporting to and importing from search URLs. - The search UI always reflects the currently configured DolphinQuery no matter if the user changed the UI to change the DolphinQuery or loaded a DolphinQuery/older search URL which then is reflected in the UI. - I tried to simplify all classes and their interaction between each other as much as possible. - I added some tests BUG: 386754 CCBUG: 435119 CCBUG: 458761 BUG: 446387 BUG: 470136 CCBUG: 471556 CCBUG: 475439 CCBUG: 477969 BUG: 480001 BUG: 483578 BUG: 488047 BUG: 488845 BUG: 500103 FIXED-IN: 25.08
2025-04-07GIT_SILENT Update Appstream for new releaseHeiko Becker
(cherry picked from commit 4713c6bf91e825bac4965a34d3b79c4401b23ce9)
2025-04-02dolphinui: Set view_mode action to low priorityAkseli Lahtinen
Viewmode text is rather long, so we should hide it by default. Setting the priority to low seems to fix that. BUG: 501498
2025-03-27Move "Show in Groups" toggle action into Sort menuNate Graham
This is the sort of thing a user might want to toggle temporarily, as sometimes grouping is a helpful visualization and sometimes not. Right now, doing that is easy when using the in-window menubar or the global menu: View > Show in Groups. However when using the default hamburger menu, it becomes difficult: Burger menu > More > View > Show in Groups. It's four levels of nesting and requires precision. This change addresses that by moving the action into the "Sort By" menu. This improves discoverability for people using the default UI, and makes the location of the action consistent for people using all UI styles. It also gets the item into the view context menu, where it currently isn't, providing another entry point for it.
2025-03-24DolphinContextMenu: Add properties entry last for trash entryKai Uwe Broulik
It's supposed to be consistent and always last.
2025-03-23KFileItemListWidget: wrong selection when renamed file ends with a dotShitong Xu
When a file name ends with a dot, it should be treated like there is no extension. When triggering a rename, the file name except the extension should be selected, which is equal to the full file name when the file ends with a dot.
2025-03-17contextmenu: Use default terminal's icons for "Open Terminal" and "Open ↵Angus McLean
Terminal Here" actions The "Open Terminal" and "Open Terminal Here" actions now use the icon of the user default terminal emulator application, instead of always using the "utilities-terminal" icon. BUG: 501435
2025-03-16Apply 1 suggestion(s) to 1 file(s)Luc Schrijvers
Co-authored-by: Felix Ernst <[email protected]>
2025-03-16only use KDirNotify if existingLuc Schrijvers
will not be there if we have no dbus enabled for kio
2025-03-13KFileItemModelRolesUpdater: reset size and count before updating foldersAkseli Lahtinen
Folder count would not update properly when user would delete file from a folder, or add a new file to it. Previously when size value is set to -2 after update, the update will never be called again unless user presses F5. This change will instead reset that -2 to 0 whenever we are requesting for calculating directory sizes. We never updated the count when a file was deleted, so that has been added as well. This change also calculates the item counts from the processedAmount, which is the total amount of items we're processing. From there we remove the unwanted items and get the final count. For remote files, we set the count to -1 since we don't calculate them. BUG: 500502
2025-03-09kstandarditemlistwidget: render overlays in paintMéven Car
This allows to keep the original pixmap in m_pixmap when resizing so it can have nice rendering when being resized and simplifies implementation
2025-03-04dolphinstatusbar: Fix negative value warnings with small statusbar fixedwidthAkseli Lahtinen
During splitview animations the parentWidget()->width could be lower than scrollbarWidth. If it goes to negatives it causes a lot of warnings. Make sure to bound the value between 0 and parentWidget()->width() so that it can't go into negatives.
2025-03-04Use nicer split iconNate Graham
This is the icon that Konsole uses, and it communicates the point better than the current one. Related to #68
2025-03-03DolphinNavigatorsWidgetAction: add margins to splitview navbar splitterAkseli Lahtinen
The splitter is rather cramped next to the navigation bars with the new KIO navbar look. This adds slight padding to its sides, making it look more relaxed and easier to grasp that user can move this.
2025-03-03icon(svg): move spdx text to fix flatpak svg detectionDarshan Phaldesai
2025-03-03placespanel: Use correct loop index when connecting device signalsWang Yu
The loop in slotRowsInserted was using the 'first' parameter instead of the loop variable 'i', causing only the first index to be connected multiple times.
2025-03-01kstandarditemlistwidget: make overlay icons independant of preview sizeMéven Car
This consists in replacing the use of KIconUtils::addOverlay to custom adapted function, based on KIconLoader::global()->drawOverlays previous behavior. BUG: 500428
2025-03-01GIT_SILENT made messages (after extraction)l10n daemon script
2025-02-28Fix crash when opening new tab with searchAkseli Lahtinen
When new tab is opened and it has a search started, it tries to set the location URL to a navigator that is not yet necessarily assigned in memory: This is because the new tab is not active. The locationUrl will be changed properly when tab is activated. BUG:500101
2025-02-27GIT_SILENT Update Appstream for new releaseHeiko Becker
(cherry picked from commit b16c9f666929d381f4f9d80befa3bc9bd3f14751)
2025-02-27statusbar: fix offset for selectionModeBottomBarAkseli Lahtinen
If selectionMode was running, statusbar would get hidden behind the selectionmode bottom bar. Instead of calculating offsets, just check for the view geometry bottom position and use that for the statusbar yPos.
2025-02-27dolphinview: Add widget parameter to elided QToolTip::showTextAkseli Lahtinen
Without this parameter the QToolTip can not always determine what is the parent, so it will create a toplevel window in those cases. Make sure we have dolphinview itself as a widget there, so QToolTip and thus QtWayland can resolve what is the parent. This avoids creating random windows when opening a tooltip. BUG:500009
2025-02-26Do not show the Zoom toggle context menu on small statusbarAkseli Lahtinen
Small statusbar should not have zoom slider enabled, but this could be bypassed by using the context menu. If we have small statusbar, just return early instead.
2025-02-24Add smaller statusbar and set it as defaultAkseli Lahtinen
- Statusbar has three modes: Small, FullWidth and Disabled - FullWidth is the original statusbar - Small is the new default statusbar - This statusbar overlays on top of the items instead of taking space - It changes size according to content - Disabled turns statusbar completely off - Zoom slider and space information is only shown in full-width statusbar - Space information is now always on - If user navigates with keyboard, or scrolls to selection, the scrolling will take the statusbar into account - This makes sure the statusbar does not cover any items Related discussion: https://invent.kde.org/system/dolphin/-/issues/50
2025-02-23Improve Close split menu action labelKai Uwe Broulik
A "Close" isn't very descriptive. Instead, show "Close Left View" or "Close Right View" in the menu.
2025-02-22kitemlistkeyboardsearchmanager: smarter search start positionYifan Zhu
Search from the next position for new search and special repeated key search. Otherwise search from the current position, which is current selected item if something is selected or in selection mode, and 0 (the beginning) otherwise. Test plan: - create directory with files ab1, ab2, and ab3 - click ab2, and press escape to deselect - type ab; verify that ab1 is selected - wait a while, type ab again, verify that ab2 is selected - wait a while, type ab again, verify that ab3 is selected - click ab1, type ab, verify that ab2 is selected BUG: 422951
2025-02-20kitemlistcontrollertest: fix warningsMéven Car
NO_CHANGELOG
2025-02-20Add a dolphin to the iconDarshan Phaldesai
Added an dolphin overlay on top of the folder icon. The intention is to add subtle branding and personality to icon while leaving the overall shape and design untouched.
2025-02-18GIT_SILENT made messages (after extraction)l10n daemon script
2025-02-17kfileitemmodel: allow more than 2 single quotes in translated stringsSergey Katunin
This change concerns `timeRoleGroup`.
2025-02-08VersionControlObserver: start scanning earlierMéven Car
And avoid scanning directory that don't need it. Stops the working thread upon model change.
2025-02-08viewpropertiestest: simplify two testsMéven Car
2025-02-08Viewproperties: prevent loosing view settingsMéven Car
When they match the hardcoded internal settings, when they should be kept as long as they don't match the currently set default viewproperties. Is saved in metadata the diff with the hardcoded internal defaults still. A stable default reference allows to change defaults without changing existing saved viewproperties. CCBUG: 495878
2025-02-06Removed conditional in renameTab to allow unsetting custom labelsambar chakravartty
co-authored by: Felix Ernst
2025-02-06changed all calls to "title(), setTitle()" to "customLabel(), setCustomLabel()"ambar chakravartty
2025-02-06Made style and context enhancements ambar chakravartty
Co-authored by: Felix Ernst
2025-02-06changes saveState() and restoreState() to restore renamed tabs (if any)ambar chakravartty
2025-02-06refactored renameTabambar chakravartty
2025-02-06Apply 1 suggestion(s) to 1 file(s)ambar chakravartty
Co-authored-by: Méven Car <[email protected]>
2025-02-06Apply 1 suggestion(s) to 1 file(s)ambar chakravartty
Co-authored-by: Méven Car <[email protected]>
2025-02-06Apply 1 suggestion(s) to 1 file(s)ambar chakravartty
Co-authored-by: Méven Car <[email protected]>
2025-02-06Removed unused imports to QUuid,quuidambar chakravartty
BUG: 197009
2025-02-06Added code for a "Rename Tab" feature.ambar chakravartty
BUG: 197009
2025-02-03implement shortcut action for file creationChristian Schwarz
BUG: 462899
2025-02-01Ignore diacritical marks for keyboard searchThomas Moerschell
When using keyboard search, normalize the item names and remove marks first. Now, items containing characters with marks can be found using keyboard search. BUG: 482394
2025-01-31GIT_SILENT Update Appstream for new releaseHeiko Becker
(cherry picked from commit c56eec82ee1169f18f3e98d09d5baebd673110f7)
2025-01-30Change three view buttons into one with menu arrowAkseli Lahtinen
Instead of showing three buttons, which is quite visually noisy, show only one button that is split: First button, when clicked, loops through the view modes. Second smaller button with the down arrow shows menu of the available view modes. See also https://invent.kde.org/system/dolphin/-/issues/68#toolbar-button-changes Alternative for https://invent.kde.org/system/dolphin/-/merge_requests/893 ![Screencast_20250121_123718](/uploads/e8625c485c58a9c47e8168106b3e7419/Screencast_20250121_123718.mp4)
2025-01-29Make "Empty trash" icons redNate Graham
This is a destructive action, and the HIG specifies that icons for destructive actions should be colored red. The current icons are black, inconsistent, and semantically incorrect. edit-delete is red in the Breeze icon theme, and also more semantically correct since the items in the trash will be deleted. Let's use this icon instead.
2025-01-28Clear forward action popup menu before adding history actionsKai Uwe Broulik
Otherwise the menu keeps growing and growing. The back button had the clear call but here it was forgotten.