| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
So the new folder is in view.
|
|
It turns out that since f6c97d52220be9bd996b71309051e56ff7aa1834 a temp file is created here with each `save()` call for this default config, which is not deleted later. In another place where `defaultProperties()` is called for `m_node`, the file is deleted in the destructor of this class. But it is not deleted here.
So, remove temp file after loading defaultConfig or it will create temp file on each save() operation in /tmp folder.
Also keep the global/.directory file when xattr isn't supported.
BUG: 510500
|
|
Previously in cases where user was expanding a folder that has only
images in detailed view, it would suddenly change into dynamic view.
This patch avoids doing any changes to the user workflow if they have
expanded the folder, avoiding surprising behavior.
|
|
222c8eb5 has accidentally reverted 4deeb7bc. This re-applies this.
|
|
When a file is deleted using the Delete key, the next item gains focus but loses its selection, which breaks further keyboard deletion.
This patch ensures the next item is explicitly selected after clearing the previous selection.
BUG: 513371
|
|
If we have return early because dynamic view is not enabled
or we have Icon View already, then do not try to load view
properties to get 'dynamicViewPassed' property.
Otherwise, for example, it infinitely calls
the ViewProperties::save() method for the /tmp folder,
which generates a bunch of temporary files
(on new user, if dynamic view is not enabled
and Icon View applied by default)
BUG: 508402
|
|
BUG: 513345
|
|
If you are in ~
And create at once ~/1/2
Select the 1 folder afterwards
|
|
Use current view url as fallback.
Don't update the selection after a directory is created, except if there
was no selection.
CCBUG: 508196
BUG: 512020
|
|
Similarly to Microsoft explorer.
FEATURE: 512383
|
|
"Sort By field" could be understood as an extra field that contains a "Sort By" value
|
|
Rather than its description, which for an empty charset is:
"Other encoding ()", that can't be empty and will always enter the
branch.
|
|
Ensure proper font synchronization between KItemListStyleOption and the base font system. Previously, when switching from a view mode with custom font to one with system font, the style option would retain the custom font setting, causing font settings to persist incorrectly between view modes after application restart.
The changes:
- Unify the font setting logic for both system and custom fonts
- Ensure style option font is synchronized with actual font in system mode
BUG: 511604
|
|
Instead of ViewModeSettings default mode.
The original resetZoomLevel() implementation used settings.useDefaults(true) to force reading the system's hardcoded default icon size (typically 16px), ignoring the user's custom default size configured in Dolphin's View settings. This caused Ctrl+0 to reset icons to the minimum size instead of the user's preferred default.
This patch removes the useDefaults(true) call, allowing ViewModeSettings::iconSize() to directly retrieve the user-configured default icon size. Ctrl+0 now correctly resets to the size the user set in Dolphin's settings, aligning with expected behavior.
BUG: 482322
|
|
|
|
This reverts commit 4b7d49dfca757e28a659bd01614b8f3ee3a03fc0.
|
|
And no hostname set cases.
For other invalid cases (invalid host, host unreachable), we get the Canceled Loading status.
BUG: 509253
|
|
|
|
Since the Menu will then be used in the chain of focused elements.
|
|
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`.
|
|
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
|
|
So that when those actions appear in toolbars or shortcut configuration,
users can know what they correspond to.
|
|
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
|
|
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
|
|
Found via `codespell -S "*.desktop,*.po,*.svg,*.xml,./po" -L aparent,childs,goup,lokal`
|
|
While the file's content won't change, applications may no longer
recognize it.
|
|
We should use styleOption().iconSize instead of iconSize(), since
the styleOption returns always the correct size depending on
if we are showing previews or not.
In DolphinItemListView we set the iconSize based on the
previewSize or iconSize, and the styleOption().iconSize is
whichever value it is here.
KItemListWidget::iconSize always returns the settings.iconSize
BUG: 508352
|
|
QString::slice is preferable when available, as it does not allocate.
Amends db92361e10f356ed0d1bf2dc7ea3453086ce876c
|
|
|
|
when copying multiple files.
CopyJob skip those by default (CopyJobPrivate::slotSubError), and emits warning.
Hook this to errorMessage.
We would need to improve this as only the last error Message will be
visible.
BUG: 506282
|
|
when copying multiple files.
CopyJob skip those by default (CopyJobPrivate::slotSubError), and emits warning.
Hook this to errorMessage.
We would need to improve this as only the last error Message will be
visible.
BUG: 506282
|
|
When using the Delete action.
|
|
|
|
Replaced a KActionMenu that contained separate Zoom In, Zoom Out and
Reset Zoom actions with a single QWidgetAction that provides the same
functionality using three buttons arranged in a single line. Keyboard
shortcuts for the three actions are preserved, and the actions still
appear separately in the View submenu in the menubar.
|
|
This adds a new selection effect that is similar to what we have in QtQuick file item views.
There are also changes to some usability: Instead of only the icon and text being the clickable area in icon and details mode, the whole selection is now the clickable area.
Otherwise the usability should stay the same, it's mostly a visual change.
See also: https://invent.kde.org/teams/vdg/issues/-/issues/94
|
|
File descriptors would keep leaking here since tempFile never gets
deleted. This would be especially noticeable when browsing /tmp/ folder.
This patch makes the QTemporaryFile an unique_ptr, so it gets
deleted when it's out of scope. This also causes the files to be
handled accordingly.
BUG: 505215
|
|
Added a 'dynamic view' option, which allows to switch from a 'compact' or 'details' view to an 'icons' view if most of the files in the directory are images or videos. It reverts to the previous view mode when we switch to a directory which doesn't meet that criteria.
The view mode is only changed once so users don't have to undo that for specific folders when they don't want icon view.
A setting is added in the "Display style" section of the general view setting page.
BUG: 491139
|
|
In future Qt versions, Qt Timers do not allow negative intervals.
Instead, they will be changed to 1.
Related Qt commit:
https://github.com/qt/qtbase/commit/f1f610bc67bfd5c2ef31270a6945e7bae93b5e4a
Instead of relying on the interval, use a boolean variable
to check if the autoactivation is enabled or not.
|
|
Correctly find the last element in the list instead of the one after the last
Amends: 0464ea82a6850f58805bc4d6fc1df5369d83c3df
BUG: 503610
|
|
|
|
Do not end anchored selection when selection state is updated, such as
when Dolphin is started with --select "thing.txt" flag.
If we end here, and user wants to press shift to select from
current item to X items, this would cause the anchored selection
to start from the clicked item, not from the first selected item.
BUG: 503221
|
|
When using single click to select, user can double click the file to
start renaming it. If user at the same time also opens context menu,
user can delete the file while the renaming prompt is open, which causes
weirdness.
This patch makes sure we abort the double click renaming when context
menu is requested.
BUG: 503185
|
|
Now it's in the first level of the "View Settings" dropdown, no
need to be nested in the "Sort" menu.
|
|
This should replace the "View Mode" button in the toolbar by default. Its
dropdown menu contains more actions related to the view: zoom, sort by,
show additional columns, show hidden files, grouping, show file previews.
The original "view_mode" action is kept so the "Change View Mode" submenu
in the main menu (or in the hamburger menu when this button is invisible)
is unchanged.
|
|
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.
|