┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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.
2025-01-20InformationPanel: fix potential glitches with gifsMéven Car
2025-01-17Refactor Overlay HandlingMéven Car
Now all overlays icons in kitemviews are added in KStandardItemListWidget::updatePixmapCache. data[iconOverlays] now contains icon names. DolphinFileItemListWidget::refreshCache is the sole responsible of setting the overlays either coming from KFileItemModelRolesUpdater or KVersionControlPlugin. This garantees consistency in rendering. BUG: 497372
2025-01-17InformationPanel: prevent animated images from glitchingMéven Car
And show them in their actual pixel density.
2025-01-15Clean stop-gap porting ifdef for KICONTHEMES_VERSIONMéven Car
That were introduced in: a55c467fbb31d822d89722812388425327830377 38ab14c87a945153e683657483fa4bcf44d6b0fb
2025-01-14ToolTipManager: double the size of the preview and use dprMéven Car
2025-01-11KFileItemModelRolesUpdater: add utility cacheSize functionMéven Car
2025-01-11KFileItemModelRolesUpdater: Show emblems even in hover sequenceMéven Car
2025-01-11Icons: when adding overlays pass in the output sizeMéven Car
Instead of the pixmap size that won't be accurate. It allow KGuiAddons::addOverlays to draw larger images to add overlays. Consequently the emblems are not longer dependant scaled based on the pixmap aspect ratio. BUG: 498211
2025-01-10SpaceInfoObserver: don't instantiate MountPointObserver if m_url is emptyMéven Car
This prevents "Invalid URL:" on dolphin start.
2025-01-09information panel: scale according dprMéven Car
Also use dpr for icons. Amends cebcf8db BUG: 497576
2025-01-07dolphinpart: fix a warning around = in lambdas for thisMéven Car
being deprecated in C++20.
2025-01-07Improve trash context menu UINate Graham
Right now the "Delete" item is right next to "Restore", which means you can accidentally destroy the item you meant to restore! To prevent this, the menu is re-arranged slightly, and "Restore" is given a more visually clear icon and label. BUG: 498132 FIXED-IN: 25.04.0
2025-01-07Elide file names in the middle againNate Graham
In ye olden days, filenames were elided on the right. This prevented seeing the filename extension and any suffix style text the user included in the filename (e.g. "myfile 1", "myfile 2" and so on). In 97f49347482519b9ad53b7596d7462e68b7c2e14, this was changed to elide in the middle, fixing both problems and bringing Dolphin into Jakobs' Law style consistency with MacOS Finder and Windows Explorer, and possibly other file managers too. However it worsened the situation for users who name their files such that most of the information was on the left. After some complaints, it was changed in 99cf24c03def1c0722ba8dbd86a27b9dbc521f43 to right-elide again, but excluding the filename extension. Unfortunately user complaints have continued. At this point it's clear that nothing will satisfy everyone due to diversity of file naming styles. In such a situation, Jakobs' Law consistency with the rest of the industry is the best solution short of making it configurable, which has its own drawbacks. Accordingly, return to middle-elision. BUG: 497664 CCBUG: 404955 FIXED-IN: 25.04.0
2025-01-06When marking recent folders access specify mimeTypeMéven Car
CCBUG: 496179
2025-01-06Fix focus changing when unminimising on X11Felix Ernst
In f220e3b0783a24a6c7195f170297cf4b12a29d85 I made the keyboard focus move to the places and terminal panel whenever they are toggled visible. Unfortunately the QDockWidget::visibilityChanged() signal is also emitted (at least on X11) simply when the window containing that panel is minimized or restored. This commit overrides the QDockWidget::event() method to ignore such spontaneous show or hide events so QDockWidget won't emit the visibilityChanged() signal then. BUG: 497803
2025-01-04Update copyright to 2025Justin Zobel
BUG: 474515
2025-01-02GIT_SILENT Update Appstream for new releaseHeiko Becker
(cherry picked from commit b3022e728b86f0ad94053369aedf164fee54c229)
2024-12-29Mirror details view mode for right-to-left languagesFelix Ernst
This commit implements mirroring of the details view mode for right-to- left languages. This is the last of the Dolphin view modes which did not adapt to right-to-left languages correctly. Implementation-wise this is mostly about adapting the math so all the information is placed correctly no matter the view mode or layout direction. While most of the view actually changes the painting code for right-to-left languages, for the column header I decided to keep the logic left-to-right and instead reverse the order of the role columns. To implement this mirroring I needed to rework quite a bit of logic, so I used the opportunity to fix some bugs/behaviur quirks: - Left and right padding is now saved and restored separately instead of only saving the left padding - Changing the right padding no longer disables "automatic column resizing". - The grip handles for column resizing can now be grabbed when near the grip handle instead of only allowing grabbing when slightly to the left of the grip. - Role column headers now only show a hover highlight effect when the mouse cursor is actually above that role and not above the grip handle or the padding. - There is now a soft-boarder when shrinking the right padding so shrinking the padding "below zero width" will no longer immediately clear automatic resize behaviour. So now it is possible to simply remove the right padding by resizing it to zero width. BUG: 449211 BUG: 495942 # Acknowledgement This work is part of a my project funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology.
2024-12-29Have special keyboard controls in selection modeFelix Ernst
Prior to this commit keyboard controls and behaviour of Dolphin's main view were identical no matter if selection mode was enabled or not. While selection mode makes it impossible to accidentally clear the selection by singular mouse clicks, any press of an arrow key on the keyboard would still clear the full selection which goes against selection mode's objective. Furthermore, keyboard-only users had no reason to ever enable selection mode because it made no difference to them. This commit changes this by offering a changed control scheme for key presses while in selection mode. Arrow key presses without modifier now only move focus between items but do no longer clear or change the selection. Similarly, Page Up/Down, Home, and End key presses only move keyboard focus. Enter, Return, and Space key presses now only toggle the selection for the current item. The above controls are however mostly unchanged when combining them with Modifier keys like Shift or Control. The type-ahead feature is also changed in selection mode to only move keyboard focus without changing the selection. This way keyboard users are less likely to clear their selection by mistake. Regression tests are added for these selection mode controls. The code changes to change this keyboard behaviour are quite minimal. Most of the added code is for making selection mode accessible. That's because we need to make sure the changed control scheme is properly announced and communicated or a blind user will be left utterly confused why the normal keyboard controls "stopped working". Enabling or disabling selection mode is announced to accessibility software. Furthermore whenever focus goes to the main view, the selection mode state is also mentioned when active. BUG: 458091
2024-12-19dolphinview: Update thumbnail on filename changeAkseli Lahtinen
If filename of an item was updated previously, it would modify the model before the file was actually changed. This led to the model calling a signal that would try to run a previewjob, but since the filename is not actually changed yet on disk, it would fail. This patch moves the model updating after copyjob. Copyjob will take care of the file renaming if there is already existing file. We just need to update the model correctly after the job has succeeded. BUG:497555
2024-12-16ViewProperties: Return nullptr if viewPropertiesString is emptyAkseli Lahtinen
If viewPropertiesString is empty, return a nullptr. This will later used in the stack by the defaultProperties call. In defaultProperties, if we can't find the global directory, create new one with a tempfile. If tempfiles can't be created, use default instead. This will ensure that view settings are saved and loaded correctly if user has separate view properties per folder. This will also add an unit test, where we create a global directory, modify it and make sure the changes are reflected in the unmodified folder. BUG:495878
2024-12-16DolphinViewContainer: make sure searchbox is initialized before setSearchPathAkseli Lahtinen
If searchBox is not initialized, it can't be updated properly with setSearchPath due to some buttons not existing. There is also just no need to update it if it's not initialized. Make sure we check for it's initialized during setting the search path. BUG:497021
2024-12-14SVN_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"
2024-12-14GIT_SILENT made messages (after extraction)l10n daemon script
2024-12-09Fix inline renaming multiple files when renaming changes sorting orderIlia Kats
Suppose we are renaming file i and the new name will be sorted after file i+1. We are now pressing ArrowDown to immediately start renaming file i+1. However, because of the sorting we would not actually end up renaming what used to be file i+1. What would happen is that editing would be started in dolphinview.cpp:2065. However, after 100 ms the timer in KFileItemModel would fire, resulting in the model emitting itemsMoved(). This would trigger doLayout() in KItemListView::slotItemsMoved(). doLayout() resizes the KItemListWidgets, wich causes the renaming to be canceled in KStandardItemListWidget::resizeEvent(). Now, we start a new renaming operation for the correct widget after the relayouting is complete.
2024-12-09GIT_SILENT made messages (after extraction)l10n daemon script
2024-12-05Adapt to Orca 47Felix Ernst
The screen reader Orca has seen some fundamental changes between Orca 46 and Orca 47. While they are improvements overall, they do require changes to Dolphin to preserve the intended user experience for Orca users. The biggest change is perhaps that Orca will now not only announce changes to the currently focused item, but also of its parent, which means we do not need to pass focus around between file items and the main view within Dolphin, but can keep focus on the file items most of the time. This commit implements this. The only exception of when we cannot have focus on the items within the main view is when the current location is empty or not loaded yet. Only then is the focus moved to the view itself and the placeholderMessage is announced. This commit worsens the UX for users of Orca 46 or older, so this should only be merged once most users are on Orca 47 or later.
2024-12-04Always focus the view after place activationFelix Ernst
This one-liner makes sure keyboard focus always moves to the active view when a place in the places panel is activated. Previously focus would remain on the places panel if the activated location was identical to the already displayed location. This added consistency is helpful because keyboard-only users will get used to be able to move from the places panel to the view by pressing the Enter key, even though this does not always work prior to this commit. This issue was identified in an accessibility scan done by HAN University of Applied Science.
2024-12-03GIT_SILENT Update Appstream for new releaseHeiko Becker
(cherry picked from commit 73b83b866eae1e095d84d611ceb6dd094a54b98f)
2024-12-02KItemListSmoothScroller: stop animation on property or targetobject changeAkseli Lahtinen
Due to changes in 15e0c2a98f480f203ce168b6fa9a2e1f2b0ed8f8 we do not automatically stop animations now on property or targetobject change, which causes warnings and timeouts. This patch makes sure we stop them if their state is Running, before modifying them. See also: https://invent.kde.org/system/dolphin/-/merge_requests/857#note_1083279
2024-12-02SVN_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"
2024-12-02GIT_SILENT made messages (after extraction)l10n daemon script
2024-11-29Make "open path" and "open path in new tab" scroll to the selected itemAkseli Lahtinen
**Open Path** When user clicks on "Open Path" after searching for an item, user expects the view to show the item immediately. We wait for the KItemListSmoothScroller to be done with its animation before the scrollbar sizes are being changed. **Open Path in New Tab** When user selects "Open Path in New Tab", we open a new tab to the folder where the file is, then select and set the file current. We need to get the correct tab when opening one, so it has been added as a return value. BUG:495613
2024-11-28DolphinTabPage: Update container view url on redirectionAkseli Lahtinen
On url redirect, we should check which container url is being changed and then update it accordingly. This makes sure the tab name is updated. We also should not disconnect redirection on view activation since the redirection might be used by the other split. The disconnection is done in `setSplitViewEnabled` instead. This allows us to update the tab name every time the url changes, even inside a splitview where the split which name is changed is not active. BUG:496414
2024-11-27DolphinViewContainer: setSearchPath value only if searchBox is activeAkseli Lahtinen
Fixes a crash when searchbox is not active and tab gets renamed. I forgot to add this to merge request https://invent.kde.org/system/dolphin/-/merge_requests/864 CCBUG:496387