| Age | Commit message (Collapse) | Author |
|
|
|
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"
|
|
|
|
|
|
|
|
(cherry picked from commit ca201fbcbdb614f13fcffaba7a016872a330304d)
|
|
|
|
The natural sort comparison helpers compare Qt::strong_ordering values
against the literal 0. The compiler reads that 0 as a null pointer
constant and warns under -Wzero-as-null-pointer-constant.
Use the named ordering helpers is_lt, is_gt and is_neq instead, which
express the same checks without a literal 0. The plain integer
comparisons in the surrounding code are left as they are.
|
|
|
|
|
|
|
|
konsole commit 55ee7c6b added optional libssh support and already
disabled it in konsole's own flatpak manifest, but the dolphin
flatpak manifest was not updated accordingly, breaking the flatpak
build.
|
|
|
|
|
|
|
|
The test created a file in a collapsed subtree and then waited five
seconds for an items-inserted signal that must never arrive, spending
that whole time on every run and making kfileitemmodeltest about three
times slower than it needs to be.
Create a file in the watched top directory instead and wait for its
insertion. Once that arrives the directory change has been processed and
the model has settled, so the collapsed file has had its chance to appear
and only the expected items are present. The sentinel stays as a
top-level sibling, so the later re-expansion expects it alongside the
restored subtree.
testInsertAfterExpand drops from about 4.9 seconds to 1.6 seconds and the
whole kfileitemmodeltest from about 7.2 seconds to 2.4 seconds.
|
|
testWindowTitle compares the window title against fixed strings such as
"Home" and "Trash". On a machine configured for another language the
title comes back translated, for example "Dossier Personnel", and the
test fails.
Set the language environment variables to English in main(), before
QApplication is constructed and before any translation is loaded, so the
comparisons are deterministic regardless of the machine's configured
language.
|
|
On Windows QFileInfo::isWritable() returns true for a directory that
carries the read-only attribute, because the attribute does not prevent
creating child files. It does prevent writing the directory's own
extended attribute, the Alternate Data Stream where the view properties
are stored, so the save fails with access denied and the settings are
lost.
Detect the read-only attribute with GetFileAttributesW and store the view
properties in the destination directory instead, the same way a directory
without write permission is handled on other platforms.
The read-only directory test checks that the properties land in the
destination directory.
|
|
dolphinmainwindowtest requires a real window server
no_bare_qwait_in_tests requires bash and only serves as lint, so linux only is OK
|
|
|
|
CCBUG: 499717
|
|
|
|
|
|
Replace the setting "Switch between views with Tab key" with a
dedicated "Focus Other View" action (which can be bound to the Tab key
if the user wants to).
The "Focus Other View" action moves the keyboard focus to the inactive
split view. When there is no other view, split view is triggered
instead. The action is located in `Menubar>View`.
### Motivation
The Tab key is essential for keyboard navigation within an application.
The old "Switch between views with Tab key" setting forces users to
give up on the intended purpose of the Tab key, which means many
keyboard-bound users currently do not have a way to switch between
views when using the "Split" feature. The dedicated "Focus Other View"
action gives users more control, and they can change the keyboard
shortcut as they are used to.
|
|
|
|
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"
|
|
Currently the code for the Dolphin chip, that gets used for filters with file indexing, is hardcoding Breeze.
We want it to support other styles too, all the while retaining the desired appearance for Breeze.
The port to use the `FrameLineEdit` accomplishes that. The results are that:
- Non-Breeze themes now get to style the chip properly
- the code is cleaner
- Breeze even looks better since there is no more of this hover glitch:
{width=173 height=72}
| Breeze before | Breeze after |
| ------ | ------ |
| {width=613 height=120} | {width=642 height=139} |
| Oxygen before | Oxygen after |
| ------ | ------ |
| {width=616 height=106} | {width=621 height=103} |
| MSWindows9x before | MSWindows9x after |
| ------ | ------ |
| {width=618 height=99} | {width=606 height=89} |
|
|
The stat job started by showItemInfo() to describe the current folder ran
to completion on its own. When the panel was destroyed while the job was
still in flight, the job and the UI delegate it created outlived the panel.
Parent the job to the panel so QObject destruction aborts it instead.
|
|
|
|
The updater must not react to its own setData() changes, or it would
resolve the roles again. Instead of disconnecting slotItemsChanged()
around every setData() and reconnecting (a dozen times), add a
setModelData() helper that sets a guard while calling setData(), and
make slotItemsChanged() return early while it is set. The view still
gets itemsChanged and repaints.
This also drops a stray disconnect of itemsMoved (never reconnected)
that a hover-sequence block did while duplicating the itemsChanged
connection.
|
|
testThumbnailAfterRename waited for KFileItemModelRolesUpdater::previewJobFinished
after renaming a.jpg to b.jpg. That signal is only emitted when a new preview is
generated successfully (slotGotPreview), but a rename keeps the file's content and
its already-correct thumbnail, so whether a fresh preview job runs at all is timing-
and platform-dependent. On FreeBSD CI none is produced, so the wait timed out.
Assert the actual outcome instead: the renamed item still shows a non-null preview
pixmap. This passes whether the thumbnail is regenerated, inherited across the
rename, or cache-served, and still fails if a rename ever drops the preview.
|
|
|
|
When scrollTo() is asked to move to the position the scrollbar already
holds (clamped, e.g. an item at the bottom, or a sub-pixel offset), no
animation runs and scrollingStopped() was never emitted. Callers waiting
for it stayed blocked: KItemListView::scrollToItem() delegates to scrollTo
for any non-zero offset, and DolphinView::renameSelectedItems() only opens
the inline rename editor once scrollingStopped() arrives. So inline rename
silently did nothing for the affected items.
Emit scrollingStopped() in the no-op case too, and add a regression test.
|
|
KIO_VERSION and KFILEMETADATA_VERSION checks up to 6.23 are always true
given the Qt 6.4 / KF 6.23 minimum versions.
|
|
searchPlugin returns one of the observer-owned m_plugins, so m_currentPlugin
always aliases an entry in that list. Deleting m_currentPlugin in setModel
freed that object while leaving a dangling pointer in m_plugins, which the
next searchPlugin or actions call would dereference. setModel(nullptr) runs
on every directory change, so this was reachable when leaving a versioned
directory.
Make the observer the real owner: parent the plugins to it so QObject
deletes them, stop deleting the shared plugin in setModel (just clear the
current selection), and drop the matching delete in the destructor.
|
|
ButtonsWithSubMenuWidgetAction owned the QMenu (no parent, setMenu does not
take ownership) but had no destructor, so every folder context menu leaked
one QMenu and its overflow actions. Add a destructor that deletes it.
|
|
The button allows to restore to defaults, in case you are using the
per-folder view properties settings.
The button disables or enables itself whether or not it matches the
defaults view settings.
|
|
As the global file defines the defaults, it will always match the
isDefault filter.
In this case prevent the filter to remove its settings.
|
|
|
|
OUTDATED: ark-25.08.3.tar.xz
Upgraded to:
URL: https://download.kde.org/stable/release-service/26.04.2/src/ark-26.04.2.tar.xz
Version: 26.04.2
OUTDATED: lmdb.git
Upgraded to:
URL: https://github.com/LMDB/lmdb.git
Commit: 69087ced3cb6082f7dcfb4fc2dcaa3b68a7e2e8c
Tag: LMDB_0.9.35
Branch: None
Version: 0.9.35
OUTDATED: vlc-3.0.22.tar.xz
Upgraded to:
URL: https://get.videolan.org/vlc/3.0.23/vlc-3.0.23.tar.xz
Version: 3.0.23
|
|
|
|
Add an explicit group role to Dolphin views so items can be grouped independently from the active sort role.
Previously, Dolphin's grouped view always used the current sort role as the grouping criterion. This meant that grouping and sorting were tied together, for example grouping by type also required sorting by type.
This change adds a separate Group By menu. It replaces the previous Show in Groups toggle and allows the user to disable grouping, keep the old Same as Sort behavior, or explicitly group by a selected criterion.
When an explicit group role is set, the model keeps groups stable and uses the normal sort role as a secondary key inside each group. The roles
updater also receives the active group role, so roles used only for grouping are still updated correctly.
BUG: 416134
CCBUG: 510670
CCBUG: 513235
CCBUG: 46393
|
|
|
|
|
|
|
|
navbar how they want
Currently when Dolphin's location bar is moved from the main toolbar, it stops being a nice `FrameLineEdit` that QStyles can style as they please.
That's because the current code is only adjusted for Breeze, which wants to fill the entire navbar frame with a plain rectangle.
Unfortunately, non-Breeze styles suffer from bad looks because this Breeze design is applied for them too.
In order to fix this, this MR restores the styling power back to QStyles by removing the rectangle, all the while keeping it for Breeze.
| Before (Breeze) | After (Breeze) |
| ------ | ------ |
|{width=698 height=134} | {width=715 height=138} |
| Before (Oxygen) | After (Oxygen) |
| ------ | ------ |
| {width=714 height=114} | {width=687 height=129} |
| Before (MSWindows9x) | After (MSWindows9x) |
| ------ | ------ |
| {width=715 height=107} | {width=702 height=100} |
| Before (Darkly) | After (Darkly) |
| ------ | ------ |
| {width=675 height=123} | {width=705 height=144} |
| Before (Fusion) | After (Fusion) |
| ------ | ------ |
| {width=701 height=118} | {width=692 height=122} |
| Before (Kvantum) | After (Kvantum) |
| ------ | ------ |
| {width=697 height=135} | {width=700 height=123} |
BUG: 518285
FIXED-IN:
|
|
|
|
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"
|
|
|
|
|