┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
12 daysterminalpanel: allow refreshing the terminal locationAntti Savolainen
When a program is running on front while the graphical view is being changed, that can make the terminal and file view working directories out of sync. I wasn't able to find a signal from Konsole for when the foreground program exits, so having the terminal respond to F5 is the second best thing. BUG: 510557
2026-04-18dolphincontextmenu: move "Empty Trash" to where you expect destructive ↵Antti Savolainen
actions to be "Empty Trash" has caused me to delete files that I've wanted to restore. This moves the position to where you expect them to be. To my understanding the standard order in the context menu is: Creation operations Visual adjustments Destructive operations Misc. Settings | Before | After | Restore for comparison | |-|-|-| | ![image](/uploads/16e8bc66d3123be2f6ab598972d8be3c/image.png){width=185 height=144}| ![image](/uploads/fbcded1023c7133099b2dcddbd6c7bc3/image.png){width=225 height=161} | ![image](/uploads/8bdb39e0e21a9128204181d38acb0ed6/image.png){width=270 height=159} | BUG: 518713
2026-04-17dolphincontextmenu: Show 'Open Terminal Here' only for folders not for filesBrijesh krishna
2026-04-14dolphinnavigatorswidgetaction: Add "Open KDE Connect" buttonKai Uwe Broulik
When browsing kdeconnect scheme, offer to open the KDE Connect app to configure the devices. On the overview, the button just opens the app. When listing storage on a device, it opens the app directly with the given device.
2026-04-13KItemListRoleEditor: Remove document adjustSizeAkseli Lahtinen
This method would adjust the document to "reasonable size" but such size is set nowhere, nor there is any indication what is a reasonable size. This leads to the rename field being a lot wider than the actual item size, making it look broken. Removing this just keeps the document size same width as the widget itself, making it more sensible and less broken looking.
2026-04-12kitemviews: remove unused variable and add missing fallthrough annotationSebastian Englbrecht
Remove unused `referenceItem` variable in KFileItemModelRolesUpdater and add Q_FALLTHROUGH() annotation for intentional SingleSelection → MultiSelection fallthrough in KItemListController.
2026-04-12informationpanel: clear stale hover item on selection changeSebastian Englbrecht
Reset m_hoveredItem when a new selection is set, preventing the information panel from showing outdated hover data after selecting a different item
2026-04-12GIT_SILENT made messages (after extraction)l10n daemon script
2026-04-10SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
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"
2026-04-10GIT_SILENT made messages (after extraction)l10n daemon script
2026-04-09SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
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"
2026-04-08GIT_SILENT Update Appstream for new releaseHeiko Becker
(cherry picked from commit 707947a73a6c31097960a94c07aa0ee608ad4a65)
2026-04-07Revert "KItemListController: Use entire row for drag and drop if ↵Felix Ernst
highlightEntireRow is true" This reverts commit 17e55c976581aa58b4500e426fb2925a3d45c308, making drag and drops on non-selected item rows count as drops on the folder of the view, which was the intended behaviour. The commit being reverted here makes it very difficult to drag and drop items between Dolphin windows, tabs, and split views, whenever the view is full of items. Drag and drop should be a natural and easy interaction with the file system, aiming at the margins to the sides of the view to even be able to drop an item is IMO very uncomfortable. This was also directly pointed out by Cristoph Feck in the bug report https://bugs.kde.org/show_bug.cgi?id=515439#c4. The bug report also has only one active requester and no duplicates. This is insufficient reason to encumber such a basic behaviour as drag and drop.
2026-04-03dolphinmainwindow: use directly ShowMenubar actionOleksandr Bondar
to change menuBar visibility The menubar check was defined by menubar isHidden var. The logic has been reverted. The toggleShowMenuBar func was simply inverting the isVisible var. Now it's being set the menubar isChecked value. This led to testedObjectsSizeAfterTraversingForwards=10 instead of 11 (apparently there was a phantom object), so adjust the comparation in dolphinmainwindowtest. BUG: 492298
2026-04-02kfileitemmodel: sort dotted numeric names naturallyPan Zhang
Natural sorting already handled plain numeric chunks, but names containing dots between numeric segments were still ordered lexically in important cases. This broke expected ordering for decimal-style names like 0.09 and 0.1, and for version-like names such as v1.2.3 and v1.2.10. Teach KFileItemModel's natural string comparison to recognize dotted numeric chains instead of relying solely on QCollator's numeric mode. Compare two-part numeric chains (e.g. 0.09 vs 0.1) as decimal values, and compare longer chains segment by segment like version numbers, while still treating real file extensions separately so names like 1.09.txt keep working correctly. Add a direct unit test for KFileItemModel::stringCompare covering decimal-style names, version-like dotted numeric names, numeric basenames with extensions, leading-dot names, and the non-natural sorting fallback. BUG: 411707
2026-04-02dolphin/kitemlistwidget: Fix full selected state persisting on deselect with ↵Filip Fila
non-Breeze QStyles For non-Breeze QStyles Dolphin is currently drawing the full highlight effect for items even when they are deselected. The issues is that it treats keyboard focus as the same state as a selected state, resulting in a persisting highlight effect. This patch adds and extra check to paint `State_Selected` only when `m_selected` is true, thereby fixing the problem. **TEST PLAN** Tested with Oxygen, Fusion, Kvantum, Darkly, MS Windows 9x. - all of the styles had the issue with the full selected state persisting on mouse deselect - after this change all of the styles lost the full selected state and retained only their keyboard focus state **SCREENSHOTS** Before (MS Windows 9x): ![2026-03-29_21-42-03](/uploads/b369a63acb817a2b79e769a7c99a0378/2026-03-29_21-42-03.mp4) After (MS Windows 9x): ![2026-03-29_21-40-54](/uploads/b65230529dee7b552d58a1139353eca9/2026-03-29_21-40-54.mp4)
2026-04-02Refresh shortcut: Ignore repeat events Ritchie Frodomar
Disables auto-repeat on the action for refreshing Dolphin's file list, preventing flickering, when holding F5 pressed/long. BUG: 514209
2026-03-29KItemListWidget: Use primitives instead of custom paintingAkseli Lahtinen
We should avoid custom painting since that will cause issues with Union and other styles. We however still use the old hardcoded painting for Breeze style, which can be removed when Breeze 6.8 is released. For other styles, we draw using the primitives the QStyle provides. Also make the icon items less wider for better information density. CCBUG: 508294 BUG: 508465
2026-03-23dolphintabpage: setRowMinimunHeight for navigator splitterMéven Car
In navigator in frame mode (as opposed to inToolbar). Once we set a colspan and rowStretch on the main widget (the splitter), we don't need to pass bogus rowspan/colspan values to addWidget. This prevents some warnings. `QGridLayout: Multi-cell fromRow greater than toRow`
2026-03-23kitemviews: Preserve inline rename when item scrolls out of viewPan Zhang
Inline rename was canceled when the edited item scrolled out of view. Scrolling could both finish the edit and recycle the item widget, causing the typed name to be lost. Keep the inline rename editor alive while the item is temporarily offscreen. Update the editor geometry on scroll, avoid recycling the widget while it is being edited, and suppress the temporary FocusOut triggered by hiding the editor. If the user interacts with another item while the edited one is offscreen, finish the hidden edit first so normal selection behavior is preserved. BUG: 506884
2026-03-22panels/information: prevent memleak when closing mediawidgetMéven Car
Parent the QMediaPlayer and QAudioOutput so they can get deleted with their parent.
2026-03-22kitemsviews/listviewanimation: add a started signalMéven Car
To allow to cancel an edit role when the widget starts being animated. This was hooked to a function not a signal.
2026-03-22kitemviews: ensure endPositionChanged slot has the correct definitionMéven Car
2026-03-22SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
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"
2026-03-21dolphinview: Add placeholder for KDE Connect folderKai Uwe Broulik
When no device was found or no storage within.
2026-03-21SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
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"
2026-03-19dolphincontextmenu: Set item list properties before adding actionsKai Uwe Broulik
Sometimes the selection is empty or not updated properly. Better be safe than sorry and make sure the items are always up to date. This amends commit db49ac4e
2026-03-19kitemlistview: cancel editing when animation startsMéven Car
For this widget. If a file is being moved due due to external events, an animation may start, in which case we better cancel the edit. If we hook this at the animation start instead of checks spread out, we can't miss this cancellation anymore. KStandardItemListWidget gets a cancelRoleEditing slot to cleanly cancel editing and clean up its internal state.
2026-03-18DolphinTabPage: Prevent re-entrant signal activation for slotViewActivatedMāris Nartišs
When switching tabs with split view enabled and the filter bar visible, a storm of activation calls is triggered and at the end signal/slot connections for both views is a mess (no listeners, navigation buttons linked to unfocused view etc.). Disconnect DolphinTabPage slot when it changes its own state. BUG: 508554, 512011, 508405, 511076, 503576
2026-03-17dolphinviewcontainer: Avoid adding an extra history entry when leaving ↵Pan Zhang
search results When navigating away from a search result, hiding the search bar unintentionally emitted urlChangeRequested(searchPath). This inserted an extra navigation step into the history, causing the “Back” button to require multiple presses to return to the search results. Introduce Search::Bar::HideBehavior to allow callers to hide the search bar without triggering a URL change, and use it when the bar is automatically hidden due to non-search navigation. BUG: 515236
2026-03-14animatedheightwidget: prevent viewport scrollingPan Zhang
The search field moves upwards and becomes obscured when pressing navigation keys like the down arrow. This happens because the underlying QScrollArea processes keyboard navigation events, shifting the visible viewport even when scrollbars are completely hidden and disabled. Move the event filter from the contents container directly to the QScrollArea (m_contentsContainerParent) and its viewport. Update the filter to intercept Qt::Key_Up and Qt::Key_Down events, preventing the scroll area from handling these inputs. BUG: 510469
2026-03-14dolphinmainwindowtest: correct assertions in testViewModeAfterDynamicViewMéven Car
2026-03-12KitemListSmoothScroller: delete cloned QWheelEvent after useMéven Car
Prevent a mem-leak detected with asan.
2026-03-12kfileitemmodeltest: Add a test for the new KFileItemModel's filter modesAlessio Bonfiglio
2026-03-12filterbar: Add support to match case and glob patterns for the filter barAlessio Bonfiglio
Currently, Dolphin's filter bar defaults to plain text, but it actually has a hidden regex functionality too: it tries to auto-detect and switch to a regular expression if characters like '*', '?', or '[' are present in the search string. This approach has a couple of issues. First, the regex/wildcard functionality is completely hidden from the user. Second, the auto-detection is flawed because those are perfectly valid characters in Linux filenames. If a user tries to filter for a file literally named [draft].txt, the auto-switching kicks in and causes unexpected behavior. This MR fixes this by making the filtering modes explicit through a ComboBox at the side of the filter bar, with the options 'Plain Text', 'Glob' and 'Regular Expression'. It also adds a button to toggle the case sensitive matching. A visual feedback for when the user is inputting an invalid expression has also been implemented by turning the bar background red and making appear an error symbol.
2026-03-11viewproperties: Add per-folder zoomWagner Soares
Adds ZoomLevel flag to the directory and uses it instead of global settings when globalViewProps is set to false. CCBUG: 169405
2026-03-11tests: prevent warnings open not checked in createFileMéven Car
2026-03-11informationpanel: ignore gestures on media sliderMéven Car
Explicitly grabGesture TapAndHoldGesture to be able to ignore them and thus prevent bubbling the event to the parent widget. BUG: 431307
2026-03-11Fix incorrect app id for KfindYago Raña Gayoso
This removes the .desktop suffix to match https://invent.kde.org/utilities/kfind/-/blob/master/src/org.kde.kfind.appdata.xml?ref_type=heads#L3 BUG: 510370
2026-03-11trashsettingspage: prevent a memleak on exitMéven Car
KCModuleLoader when passed in a parent Widget will add a layout to it. The internal widget is added to it. When we don't pass a parentWidget, this layout leaks. Instead don't add a layout ourselves, let the one in KCModuleLoader do the work. Detected by asan.
2026-03-11GIT_SILENT made messages (after extraction)l10n daemon script
2026-03-10dolphinmainwindow: set parent for DockWidgetMéven Car
Prevents a mem-leak on exit spotted by -fsanitize/asan.
2026-03-10information/pixmapviewer: handle hdipi for animated imagesMéven Car
BUG: 510829
2026-03-09kitemviews: add "Folder Name" column to details viewJussi Räsänen
BUG: 433937
2026-03-09kitemlistview: when editing file name set anchored selectionMéven Car
So the selection manager can consider the selection has changed. This makes sense as when editing file name you can only have a single item selected. BUG: 453262
2026-03-06KItemListController: Check for highlightEntireRow on rightClickAkseli Lahtinen
Like with leftclick, we should check this for rightclick. If user has highlightEntireRow enabled and right clicks an item, the item should be activated. BUG: 508356
2026-03-06dolphinviewcontainer: Fix infinite loop in isTopMostParentFolderWritableEgor Maksimov
Certain urls lead to an infinite loop that causes dolphin to halt. Any url that starts with `file:` and the path doesn't have first `/` will lead to this. For example: `file:test` or `file:another/test`. If dolphin somehow saves this state, the program halt right at the start. Rename the function to make its usage less confusing.
2026-03-05settings: make most settings page center alignedMéven Car
Limit the width of text labels.
2026-03-05Revert "!1026"Geri Gelóczi
Revert "!1026" The behavior change introduced in !1026 significantly alters the new folder creation behavior in Dolphin and has proven controversial among users. It likely requires additional design discussion and iteration to arrive at a solution that works well in all cases. Until a more robust solution is agreed upon, revert the change and restore the previous behavior. BUG: 516341
2026-03-04SVN_SILENT made messages (.desktop file) - always resolve oursl10n daemon script
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"