┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-10-23viewactionhandler: set parent to KActionMenu's menu with MenuButtonPopupMéven Car
Since the Menu will then be used in the chain of focused elements.
2025-10-23dolphinmainwindowtest: prevent kaboutdata warningsMéven Car
2025-10-23dolphintabwidget: make sure to emit activeViewChangedMéven Car
2025-10-22dolphinviewcontainer: in middle-click file opening use targetUrlMéven Car
as file url to open, as does `slotItemActivated`. Allows to open files using the middle click, with protocols using `UDS_TARGET_URL` such as recentlyused://.
2025-10-21Bottomcontentscontainer: don't pass a parent for a sub-layoutMéven Car
Layouts are parented to their containing layout by default, and layouts can't share a same parent. This prevent a runtime warning regarding QLayout.
2025-10-21Fix a couple compiler warningsMéven Car
2025-10-20SVN_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"
2025-10-17dolphincontextmenu: Update "Empty Trash" enabled state dynamicallyPan Zhang
Initialize the action state based on current trash contents and keep it in sync with Trash::emptinessChanged to avoid incorrect disabling on startup. BUG: 501091
2025-10-17dolphincontextmenu: Update "Empty Trash" enabled state dynamicallyPan Zhang
Initialize the action state based on current trash contents and keep it in sync with Trash::emptinessChanged to avoid incorrect disabling on startup. BUG: 501091
2025-10-14Removing fundraiser adopters section completely, as it seems to break the ↵Paul Brown
pipeline for some reason
2025-10-13removing last year's fundraiser supportersPaul Brown
2025-10-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"
2025-10-05SVN_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"
2025-10-03Add integration test for split view activation and tab title update after ↵Wendi Gan
renaming a folder In a split-view tab, the child folder is opened in the left view and other tabs, while the parent folder is opened in the right view. After renaming the child folder from the right view: - The activated view should not switch to the left view. - All tab titles should be updated. CCBUG: 496414
2025-10-03DolphinViewContainer, DolphinView: Fix incorrect view activation when ↵Wendi Gan
renaming folder Issue: In a split-view tab, if a folder is opened in the left view and its parent folder is opened in the right view, renaming the folder from the right view activates the left view. Reason: When renaming the folder, the emitted `DolphinView::urlChanged` will invoke `KUrlNavigator::setLocationUrl()`, which finally calls `DolphinViewContainer::setActive()` and activates the left view. Change: - Temporarily disconnect the `DolphinUrlNavigator::activated` signal to avoid activation of `DolphinViewContainer`. - Force inactivate `DolphinUrlNavigator`.
2025-10-03DolphinTabPage, DolphinView: Fix duplicate folder for MTP deviceWendi Gan
Issue: When opening an MTP device via the sidebar, Dolphin shows one "Internal shared storage" folder. However, clicking the entry again results in a duplicate folder being displayed. This regression was introduced by !865 (commit 6c7c047). Reason: The URL of an MTP device in the sidebar is `mtp:udi=/org/kde/solid/udev/sys/devices/...`. When clicking to open the MTP device, it is redirected to `mtp:/...`. - On the first click (no cache), `KCoreDirListerCache::slotUpdateResult()` calls `KCoreDirListerPrivate::emitItems()`. - On the second click (with cache), `KCoreDirListerCache::slotRedirection()` first calls `KCoreDirListerPrivate::emitItems()`. Besides, `DolphinTabPage::slotViewUrlRedirection()` calls `KCoreDirLister::openUrl()`, which triggers `CachedItemsJob::start()`, and eventually calls `KCoreDirListerPrivate::emitItems()` again. As a result, two `KCoreDirLister::itemsAdded` signals are emitted, causing `m_pendingItemsToInsert` to be appended twice. --- BUG 496414: Need to rename folder twice to make it reflect in the tab title. Reason: `m_url` is updated after emitting the `DolphinView::redirection` signal. It triggers `DolphinTabWidget::tabUrlChanged()`, which still uses the old URL and thus resets the tab title incorrectly. --- Change: - Revert the change in `DolphinTabPage::slotViewUrlRedirection()`. - Update `m_url` before `DolphinView::redirection` to fix BUG 496414. - Emit `DolphinView::urlChanged` signal to refresh the navigator of the inactive view. BUG: 506634 CCBUG: 497313 CCBUG: 496414
2025-10-01SVN_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"
2025-09-30GIT_SILENT Update Appstream for new releaseHeiko Becker
(cherry picked from commit d8831f3d6ccc46058cdc00f32c2f07b96f259cb8)
2025-09-28informationpanelcontent: prevent repeated disabled effect on previewsPan Zhang
When switching files quickly in the Information Panel, the preview pixmap could appear progressively brighter/whiter. This happened because markOutdatedPreview() was applying KIconEffect::toDisabled() multiple times on the same pixmap while a preview job was still pending. This patch fixes the issue by: - Tracking the URL that was last disabled, and only applying the disabled effect once per URL. - Clearing the disabled state whenever a new preview job starts or when a new pixmap is shown. With this change, the "disabled preview" effect is preserved (still useful for slow HDD or network filesystems), but the progressive white-out artifact no longer occurs when navigating rapidly. BUG: 507844
2025-09-28SVN_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"
2025-09-27SVN_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"
2025-09-26dolphinviewactionhandler: Improve text for roles actionsMéven Car
So that when those actions appear in toolbars or shortcut configuration, users can know what they correspond to.
2025-09-26placespanel: Fix default width by moving things from showEvent to constructorTem PQD
Move instantiation, setModel, and some connections to constructor and remove showEvent. This was being done in an erroneous lazy order which led to the places panel's sizeHint not being called properly. Also removes the double loading workaround in setUrl, which is no longer needed either. BUG: 449070
2025-09-25SVN_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"
2025-09-23GIT_SILENT: Don't duplicate headers between .h/.cppLaurent Montel
2025-09-22itemactions: Add context menu actions to hide and unhide files using .hiddenKostiantin Korchuhanov
Summary: This patch introduces context menu actions that allow users to hide or unhide selected files by editing the .hidden file in their parent directories. What this patch does: - Implemented HideFileItemAction plugin based on KAbstractFileItemActionPlugin - Plugin is disabled by default unless explicitly enabled in kservicemenurc via the hidefileitemaction key - "Hide" action adds selected file names to the .hidden file, avoiding duplicates - "Unhide" action removes selected file names from the .hidden file - Action visibility logic: - If only visible or only hidden files are selected, only the relevant action is shown - If both are selected, both "Hide" and "Unhide" actions are shown - Write permission checks ensure actions are disabled if the .hidden file cannot be modified - Optimized redundant path computations by calculating parent directory and .hidden file paths once and reusing them
2025-09-21dolphinview: position the focus after the last removed fileMéven Car
Previously, the code could misposition the selection after removal if the last file in the view was removed and several files were selected. And since it didn't clear the selection, the previous selection influence the selection. Instead clear the selection and position only the focus, either on the next item after the last index, or the last item still in the view if the last item was removed. BUG: 504490
2025-09-19DolphinTabPage: Show separator when navigator is outside of menubarAkseli Lahtinen
When navigator is outside of menubar, we should show separator under it to make it visually easier to understand it's a clickable area. This adds a small separator, that will be disabled when the navigator is moved back to menubar. BUG: 508303
2025-09-17SVN_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"
2025-09-17GIT_SILENT made messages (after extraction)l10n daemon script
2025-09-16animatedheightwidget: ignore PageUp/PageDown to avoid invisible scrollPan Zhang
When typing in the search bar (or other widgets using AnimatedHeightWidget), pressing PageUp or PageDown would cause the internal QScrollArea (with hidden scrollbars) to react and scroll. This made the entered text appear to disappear even though focus stayed in the input field. PageUp and PageDown are now intercepted in AnimatedHeightWidget to prevent the underlying QScrollArea from handling them, ensuring input remains visible across all users of AnimatedHeightWidget. BUG: 508835
2025-09-16SVN_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"
2025-09-15Don't store window size for ViewPropertiesDialogNicolas Fella
The dialog isn't resizable, so saving/restoring the size is pointless
2025-09-12informationpanel: use QTextEdit for filename display to avoid newlines in ↵Weinan Li
copied text QLabel does not support line wrapping at arbitrary positions. The original code achieved word wrap by manually adding newline characters to the text, which resulted in these newlines being included when the filename was selected and copied. This patch replaces QLabel with QTextEdit for filename display, leveraging QTextEdit's built-in word wrap functionality that handles line breaks purely for display without modifying the underlying text. This ensures copied filenames remain free of unintended newlines. BUG: 493279
2025-09-11dolphinview: add preferred sort order for rolesNathan Williams
BUG: 425457 This commit ensures that both the menu and column headers in table view will have the same default sorting (ascending/descending) for each role. It also saves the user's preferences for each role throughout the session. Previously, sorting by "Modified" would always sort by "Oldest First." If the user then changed to "Newest First" and sorted again by "Name," files would be sorted in reverse alphabetical order (Z-A). Now, sorting by "Modified" defaults to "Newest First." If a user switches between multiple roles, the default for each role will be used unless the user changes to a non-default sort order. In that case, the user's preference will be applied. Defaults: **Descending Order:** Time-based roles - modificationtime - creationtime - accesstime - deletiontime - imageDateTime - releaseYear Size/dimension roles - size - width - height - pageCount - wordCount - lineCount Quality/Quantity roles - rating - duration - bitrate - frameRate **Ascending order:** - Text based roles (A-Z) - All other roles
2025-09-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"
2025-09-09GIT_SILENT made messages (after extraction)l10n daemon script
2025-09-08SVN_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"
2025-09-07Double scroll distanceFelix Ernst
This commit doubles the distance a single scroll tick will scroll in the main view. While fixing a bug and improving scroll behaviour in 8e3addb7e73122a4c89ef347b03f714ff75a253a, the scroll distance was effectively reduced to a third of the original value. Most users seem to be okay with this, but there is some disgruntlement. Even though the new scroll speed is consistent with KWrite, it is way slower than e.g. Firefox. In a perfect world we would have a similar scroll distance in every scroll area so users could predict how much they have to scroll to see a certain part of the content, however we are not there yet. This commit aims to find a middle ground between our own definition of scroll distance and user expectation. BUG: 508290
2025-09-07Fix crash between selection mode and folder icon chooserFelix Ernst
Opening selection mode twice with a single folder selected causes a crash. SetFolderIconItemAction expects its widget to be destroyed but the SelectionMode::BottomBar code path keeps it alive, so the second call to QWidgetAction::createWidget() of the folder icon chooser crashes because the previously created widget still has a parent. This small check fixes the crash. Contrarily, the regular context menu does destroy the actions on hide, so no crash happens there. An alternative fix to what was implemented in this commit could look at the lifetime handling of the SelectionMode::BottomBar implementation. Its BottomBarContentsContainer is never destroyed, BottomBarContentsContainer::contextActionsFor does not set lifetimes on contextActions, or destroys its actions on hide. However, fixing this here in QWidgetAction::createWidget() also makes sense because the related QWidgetAction::requestWidget() method transfers ownership to the caller. It's not part of this API to expect the caller to delete the widget immediately. On the contrary QWidgetAction::requestWidget(QWidget *parent) is typically expected to be callable e.g. by toolbars as well where the action will persist indefinitely. BUG: 508648
2025-09-07Add support for Redo operationsGleb Kasachou
This MR updates Dolphin to support redo functionality added in KIO's FileUndoManager. It enables triggering redo operations from the user interface and ensures appropriate integration with the undo/redo command flow. Require: [!1941](https://invent.kde.org/frameworks/kio/-/merge_requests/1941) BUG: 451746
2025-09-04GIT_SILENT Update Appstream for new releaseHeiko Becker
(cherry picked from commit c5823873b64bcf2c5ed7b11919ee53460ce7b09e)
2025-09-03Search::Bar: Preserve cursor positionweinan li
Prior to this commit editing the search term would sometimes change the cursor position. This commit makes sure the cursor position does not move by itself. BUG: 507272
2025-09-03Fix several user-facing and non-user-facing typosKunda Ki
Found via `codespell -S "*.desktop,*.po,*.svg,*.xml,./po" -L aparent,childs,goup,lokal`
2025-09-02KStandardItemListWidget: Clean hover effect on editRole changedAkseli Lahtinen
When editRole is changed, as in we start renaming an item, we should clean up the hover effect. Otherwise we'll have a weird glitchy look. BUG: 508388
2025-09-02KStandardItemListWidget: Do not recolor branch indicatorsAkseli Lahtinen
Since we never set the background color of the branch indicator to something different now, we can just let its color to stay as default.
2025-09-02KStandardItemListWidget: Color icon only if item isPressedAkseli Lahtinen
Due to the new focus changes, our background highlights are more transparent. This means that the selected icon color is wrong, since it's meant for fully opaque background We should color the icon only when the element is pressed, which is the only time we use fully opaque background. BUG: 508418
2025-09-01DolphinContextMenu: Don't parent new file menu to the menuKai Uwe Broulik
It needs to outlive the menu for the file name input prompt to work. While at it, hook up the new rejected signals ot ensure the menu is properly cleaned up also when canceled. Amends commit 697d58e9
2025-09-01DolphinTrash: Only play emptied sound when it was emptied without errorKai Uwe Broulik
Also cancelling the confirmation results in a job finishing with error.
2025-08-30DolphinTabWidget: Use setcurrentIndex() in readProperties()Gleb Kasachou
BUG: 508864