| Age | Commit message (Collapse) | Author |
|
|
|
This commit corrects previous attempt of bug fix done in
https://invent.kde.org/frameworks/kio/-/commit/71b2b38b0c4fc4c7820fd95b031413d854d8f8c6?merge_request_iid=2074
which incorrectly recognized drop action from Places View (based only
on missing Qt::MoveAction which had side effects described in BUG 514697)
This time DolphinView indicates that the given dropEvent
comes from Places View so we must avoid potentially destructive
Move-like plugins actions. This is done by setting proper
KIO::DropJobFlags additional flag for KIO::drop().
CCBUG: 509231
CCBUG: 514697
|
|
We show the error message in our own message widget already.
|
|
This all seems to be done by the PreviewJob in KIO already.
|
|
Folders are less important than images or videos so they should weight less.
BUG: 508304
|
|
The mentioned Qt Wayland fix that makes us properly reject drops has
long been released by now.
|
|
We already support dropping onto desktop files.
This is also something that KDirOperator did but Dolphin does not.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|