Shitong Xu [Sun, 23 Mar 2025 15:02:24 +0000 (15:02 +0000)]
KFileItemListWidget: wrong selection when renamed file ends with a dot
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.
Angus McLean [Mon, 17 Mar 2025 08:14:55 +0000 (08:14 +0000)]
contextmenu: Use default terminal's icons for "Open Terminal" and "Open 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.
Akseli Lahtinen [Thu, 13 Mar 2025 12:26:40 +0000 (12:26 +0000)]
KFileItemModelRolesUpdater: reset size and count before updating folders
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.
Akseli Lahtinen [Mon, 3 Mar 2025 09:59:23 +0000 (11:59 +0200)]
DolphinNavigatorsWidgetAction: add margins to splitview navbar splitter
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.
Wang Yu [Mon, 3 Mar 2025 02:34:10 +0000 (10:34 +0800)]
placespanel: Use correct loop index when connecting device signals
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.
Méven Car [Sun, 23 Feb 2025 13:04:12 +0000 (14:04 +0100)]
kstandarditemlistwidget: make overlay icons independant of preview size
This consists in replacing the use of KIconUtils::addOverlay to custom
adapted function, based on KIconLoader::global()->drawOverlays previous
behavior.
Akseli Lahtinen [Fri, 28 Feb 2025 17:43:20 +0000 (17:43 +0000)]
Fix crash when opening new tab with search
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.
Akseli Lahtinen [Thu, 27 Feb 2025 10:07:33 +0000 (12:07 +0200)]
dolphinview: Add widget parameter to elided QToolTip::showText
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.
Akseli Lahtinen [Mon, 24 Feb 2025 18:39:22 +0000 (18:39 +0000)]
Add smaller statusbar and set it as default
- 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
Yifan Zhu [Thu, 20 Feb 2025 18:35:06 +0000 (10:35 -0800)]
kitemlistkeyboardsearchmanager: smarter search start position
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
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.
Méven Car [Fri, 7 Feb 2025 10:16:05 +0000 (11:16 +0100)]
Viewproperties: prevent loosing view settings
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.
When using keyboard search, normalize the item names and remove marks
first. Now, items containing characters with marks can be found using
keyboard search.
Akseli Lahtinen [Thu, 30 Jan 2025 09:25:12 +0000 (09:25 +0000)]
Change three view buttons into one with menu arrow
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
Nate Graham [Wed, 29 Jan 2025 18:57:09 +0000 (11:57 -0700)]
Make "Empty trash" icons red
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.
Méven Car [Tue, 14 Jan 2025 17:52:36 +0000 (18:52 +0100)]
Refactor Overlay Handling
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.