[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1109749: marked as done (unblock: dolphin/4:25.04.3-1)



Your message dated Wed, 23 Jul 2025 18:56:23 +0000
with message-id <E1ueedb-00Cf2s-0K@respighi.debian.org>
and subject line unblock dolphin
has caused the Debian Bug report #1109749,
regarding unblock: dolphin/4:25.04.3-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1109749: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109749
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: dolphin@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Control: affects -1 + src:dolphin
User: release.debian.org@packages.debian.org
Usertags: unblock

Dear Release Team,

please unblock package dolphin.

[ Reason ]
It contains the following changes:
* New upstream release (25.04.3).
  - Viewproperties: Fix leaking file descriptors. (kde#505215)
* Refresh patches.
* Backport upstream commit:
  - KFileItemListWidget: wrong selection when renamed file ends with a dot.
  [1e5bc5b3]
  - Fix multi-file selection does not work when Dolphin is opened with a
  pre-selected file. [b64bf8ca] (kde#503221)
  - Ensure view is reset only actually showing paths or subpaths from the
  unmounted location.  [3e4d9ca1]
  - Fix dolphin not reporting I/O errors when copying multiple files.
  [6dd55251, c4ffe88c] (kde#506282)

I’m also attaching a simple diff without the localization updates for
your convenience :
    diff -ur --exclude=po dolphin-25.04.2 dolphin

[ Tests ]
- General file browsing features tested, no regression noticed.
- Fix for reproducible bugs tested successfully.
- Upstream test suite doesn’t regress in sbuild with the same set of
  tests failing:
The following tests FAILED:
          4 - kitemlistcontrollertest (Failed)
          7 - kfileitemmodeltest (Failed)
         12 - dolphinmainwindowtest (Subprocess aborted)

[ Risks ]
Only contains the latest upstream point release for the 25.04 Gear
branch and backported fixes. The changes can easily be reverted or more
fixes backported.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing


Thanks !


unblock dolphin/4:25.04.3-1
diff -Nru dolphin-25.04.2/CMakeLists.txt dolphin-25.04.3/CMakeLists.txt
--- dolphin-25.04.2/CMakeLists.txt	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/CMakeLists.txt	2025-06-30 18:04:23.000000000 +0200
@@ -3,7 +3,7 @@
 # KDE Application Version, managed by release script
 set (RELEASE_SERVICE_VERSION_MAJOR "25")
 set (RELEASE_SERVICE_VERSION_MINOR "04")
-set (RELEASE_SERVICE_VERSION_MICRO "2")
+set (RELEASE_SERVICE_VERSION_MICRO "3")
 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 project(Dolphin VERSION ${RELEASE_SERVICE_VERSION})
 
diff -Nru dolphin-25.04.2/debian/changelog dolphin-25.04.3/debian/changelog
--- dolphin-25.04.2/debian/changelog	2025-06-06 07:51:00.000000000 +0200
+++ dolphin-25.04.3/debian/changelog	2025-07-23 08:19:05.000000000 +0200
@@ -1,3 +1,21 @@
+dolphin (4:25.04.3-1) unstable; urgency=medium
+
+  [ Aurélien COUDERC ]
+  * New upstream release (25.04.3).
+    - Viewproperties: Fix leaking file descriptors. (kde#505215)
+  * Refresh patches.
+  * Backport upstream commit:
+    - KFileItemListWidget: wrong selection when renamed file ends with a dot.
+    [1e5bc5b3]
+    - Fix multi-file selection does not work when Dolphin is opened with a
+    pre-selected file. [b64bf8ca] (kde#503221)
+    - Ensure view is reset only actually showing paths or subpaths from the
+    unmounted location.  [3e4d9ca1]
+    - Fix dolphin not reporting I/O errors when copying multiple files.
+    [6dd55251, c4ffe88c] (kde#506282)
+
+ -- Aurélien COUDERC <coucouf@debian.org>  Wed, 23 Jul 2025 08:19:05 +0200
+
 dolphin (4:25.04.2-1) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
diff -Nru dolphin-25.04.2/debian/patches/relax-baloo-widgets-version.patch dolphin-25.04.3/debian/patches/relax-baloo-widgets-version.patch
--- dolphin-25.04.2/debian/patches/relax-baloo-widgets-version.patch	2025-06-06 07:51:00.000000000 +0200
+++ dolphin-25.04.3/debian/patches/relax-baloo-widgets-version.patch	2025-07-23 08:19:05.000000000 +0200
@@ -2,7 +2,7 @@
 +++ b/CMakeLists.txt
 @@ -5,6 +5,7 @@
  set (RELEASE_SERVICE_VERSION_MINOR "04")
- set (RELEASE_SERVICE_VERSION_MICRO "2")
+ set (RELEASE_SERVICE_VERSION_MICRO "3")
  set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 +set (BALOO_WIDGETS_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.0")
  project(Dolphin VERSION ${RELEASE_SERVICE_VERSION})
diff -Nru dolphin-25.04.2/debian/patches/series dolphin-25.04.3/debian/patches/series
--- dolphin-25.04.2/debian/patches/series	2025-06-06 07:51:00.000000000 +0200
+++ dolphin-25.04.3/debian/patches/series	2025-07-23 08:19:05.000000000 +0200
@@ -2,3 +2,8 @@
 require-baloo-widgets.patch
 
 upstream_dd2cc41f_kfileitemmodelrolesupdater-reset-size-and-count-before-updating-folders.patch
+upstream_1e5bc5b3_KFileItemListWidget-wrong-selection-when-renamed-file-ends-with-a-dot.patch
+upstream_b64bf8ca_DolphinView-Don-t-end-anchored-selection-in-updateSelectionState.patch
+upstream_3e4d9ca1_fix-incorrect-view-reset-when-unmounting-similarly-named-devices.patch
+upstream_6dd55251_DolphinView-display-errorMessage-when-copy-errors-occurs.patch
+upstream_c4ffe88c_DolphinView-display-errorMessage-when-copy-errors-occurs.patch
diff -Nru dolphin-25.04.2/debian/patches/upstream_1e5bc5b3_KFileItemListWidget-wrong-selection-when-renamed-file-ends-with-a-dot.patch dolphin-25.04.3/debian/patches/upstream_1e5bc5b3_KFileItemListWidget-wrong-selection-when-renamed-file-ends-with-a-dot.patch
--- dolphin-25.04.2/debian/patches/upstream_1e5bc5b3_KFileItemListWidget-wrong-selection-when-renamed-file-ends-with-a-dot.patch	1970-01-01 01:00:00.000000000 +0100
+++ dolphin-25.04.3/debian/patches/upstream_1e5bc5b3_KFileItemListWidget-wrong-selection-when-renamed-file-ends-with-a-dot.patch	2025-07-23 08:19:05.000000000 +0200
@@ -0,0 +1,40 @@
+From 1e5bc5b3d6ba344da09369802d822f6cd6da7c4c Mon Sep 17 00:00:00 2001
+From: Shitong Xu <xushitong@uniontech.com>
+Date: Sun, 23 Mar 2025 15:02:24 +0000
+Subject: [PATCH] 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.
+---
+ src/kitemviews/kfileitemlistwidget.cpp | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/kitemviews/kfileitemlistwidget.cpp b/src/kitemviews/kfileitemlistwidget.cpp
+index 3a7b37895a..e1da7192a2 100644
+--- a/src/kitemviews/kfileitemlistwidget.cpp
++++ b/src/kitemviews/kfileitemlistwidget.cpp
+@@ -176,15 +176,14 @@ int KFileItemListWidget::selectionLength(const QString &text) const
+     const QString extension = db.suffixForFileName(text);
+     if (extension.isEmpty()) {
+         // For an unknown extension just exclude the extension after
+-        // the last point. This does not work for multiple extensions like
++        // the last dot. This does not work for multiple extensions like
+         // *.tar.gz but usually this is anyhow a known extension.
+         indexOfExtension = text.lastIndexOf(QLatin1Char('.'));
+ 
+-        // If no point could be found, use whole text length for selection.
+-        if (indexOfExtension < 1) {
++        // if there either is no dot, or the last dot is the first or last char, treat as no extension.
++        if (indexOfExtension < 1 || indexOfExtension == text.length() - 1) {
+             indexOfExtension = text.length();
+         }
+-
+     } else {
+         indexOfExtension -= extension.length() + 1;
+     }
+-- 
+GitLab
+
diff -Nru dolphin-25.04.2/debian/patches/upstream_3e4d9ca1_fix-incorrect-view-reset-when-unmounting-similarly-named-devices.patch dolphin-25.04.3/debian/patches/upstream_3e4d9ca1_fix-incorrect-view-reset-when-unmounting-similarly-named-devices.patch
--- dolphin-25.04.2/debian/patches/upstream_3e4d9ca1_fix-incorrect-view-reset-when-unmounting-similarly-named-devices.patch	1970-01-01 01:00:00.000000000 +0100
+++ dolphin-25.04.3/debian/patches/upstream_3e4d9ca1_fix-incorrect-view-reset-when-unmounting-similarly-named-devices.patch	2025-07-23 08:19:05.000000000 +0200
@@ -0,0 +1,37 @@
+From 3e4d9ca10c33746cb545e930886491e6a1227e6e Mon Sep 17 00:00:00 2001
+From: Vladislav Kachegov <vladkachegov@gmail.com>
+Date: Fri, 23 May 2025 12:46:54 +0300
+Subject: [PATCH] fix incorrect view reset when unmounting similarly-named
+ devices
+
+Previously, unmounting a device would incorrectly reset views containing:
+- Paths with similar names (e.g. "/media/disk" and "/media/disk_2")
+- Substrings of the mounted path
+
+Now only resets views showing either:
+1. The exact mounted path (e.g. "/media/disk")
+2. Its subdirectories (e.g. "/media/disk/docs")
+---
+ src/dolphinmainwindow.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
+index 297ab000e8..2697b12fb8 100644
+--- a/src/dolphinmainwindow.cpp
++++ b/src/dolphinmainwindow.cpp
+@@ -1726,7 +1726,11 @@ void DolphinMainWindow::setViewsToHomeIfMountPathOpen(const QString &mountPath)
+ {
+     const QVector<DolphinViewContainer *> theViewContainers = viewContainers();
+     for (DolphinViewContainer *viewContainer : theViewContainers) {
+-        if (viewContainer && viewContainer->url().toLocalFile().startsWith(mountPath)) {
++        if (!viewContainer) {
++            continue;
++        }
++        const auto viewPath = viewContainer->url().toLocalFile();
++        if (viewPath.startsWith(mountPath + QLatin1String("/")) || viewPath == mountPath) {
+             viewContainer->setUrl(QUrl::fromLocalFile(QDir::homePath()));
+         }
+     }
+-- 
+GitLab
+
diff -Nru dolphin-25.04.2/debian/patches/upstream_6dd55251_DolphinView-display-errorMessage-when-copy-errors-occurs.patch dolphin-25.04.3/debian/patches/upstream_6dd55251_DolphinView-display-errorMessage-when-copy-errors-occurs.patch
--- dolphin-25.04.2/debian/patches/upstream_6dd55251_DolphinView-display-errorMessage-when-copy-errors-occurs.patch	1970-01-01 01:00:00.000000000 +0100
+++ dolphin-25.04.3/debian/patches/upstream_6dd55251_DolphinView-display-errorMessage-when-copy-errors-occurs.patch	2025-07-23 08:19:05.000000000 +0200
@@ -0,0 +1,45 @@
+From 6dd5525131e13d42f515eba982a6e7cd1153effe Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven@kde.org>
+Date: Sun, 29 Jun 2025 11:20:44 +0200
+Subject: [PATCH] DolphinView: display errorMessage when copy errors occurs
+
+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
+---
+ src/views/dolphinview.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
+index 9bbdc3b10e..e8577e0663 100644
+--- a/src/views/dolphinview.cpp
++++ b/src/views/dolphinview.cpp
+@@ -846,6 +846,9 @@ void DolphinView::copySelectedItems(const KFileItemList &selection, const QUrl &
+     connect(job, &KIO::CopyJob::result, this, &DolphinView::slotJobResult);
+     connect(job, &KIO::CopyJob::copying, this, &DolphinView::slotItemCreatedFromJob);
+     connect(job, &KIO::CopyJob::copyingDone, this, &DolphinView::slotItemCreatedFromJob);
++    connect(job, &KIO::CopyJob::warning, this, [](KJob *job, const QString &warning) {
++        Q_EMIT errorMessage(job->errorString(), job->error());
++    });
+     KIO::FileUndoManager::self()->recordCopyJob(job);
+ }
+ 
+@@ -865,6 +868,9 @@ void DolphinView::moveSelectedItems(const KFileItemList &selection, const QUrl &
+     connect(job, &KIO::CopyJob::result, this, &DolphinView::slotJobResult);
+     connect(job, &KIO::CopyJob::moving, this, &DolphinView::slotItemCreatedFromJob);
+     connect(job, &KIO::CopyJob::copyingDone, this, &DolphinView::slotItemCreatedFromJob);
++    connect(job, &KIO::CopyJob::warning, this, [](KJob *job, const QString &warning) {
++        Q_EMIT errorMessage(job->errorString(), job->error());
++    });
+     KIO::FileUndoManager::self()->recordCopyJob(job);
+ }
+ 
+-- 
+GitLab
+
diff -Nru dolphin-25.04.2/debian/patches/upstream_b64bf8ca_DolphinView-Don-t-end-anchored-selection-in-updateSelectionState.patch dolphin-25.04.3/debian/patches/upstream_b64bf8ca_DolphinView-Don-t-end-anchored-selection-in-updateSelectionState.patch
--- dolphin-25.04.2/debian/patches/upstream_b64bf8ca_DolphinView-Don-t-end-anchored-selection-in-updateSelectionState.patch	1970-01-01 01:00:00.000000000 +0100
+++ dolphin-25.04.3/debian/patches/upstream_b64bf8ca_DolphinView-Don-t-end-anchored-selection-in-updateSelectionState.patch	2025-07-23 08:19:05.000000000 +0200
@@ -0,0 +1,33 @@
+From b64bf8ca69c473de973eddef3d137fea80acb968 Mon Sep 17 00:00:00 2001
+From: Akseli Lahtinen <akselmo@akselmo.dev>
+Date: Thu, 24 Apr 2025 16:45:58 +0300
+Subject: [PATCH] DolphinView: Don't end anchored selection in
+ updateSelectionState
+
+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
+---
+ src/views/dolphinview.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
+index f3bde88df2..ee7ac51d26 100644
+--- a/src/views/dolphinview.cpp
++++ b/src/views/dolphinview.cpp
+@@ -1776,7 +1776,6 @@ void DolphinView::updateSelectionState()
+             if (!selectedItems.isEmpty()) {
+                 selectionManager->beginAnchoredSelection(selectionManager->currentItem());
+                 selectionManager->setSelectedItems(selectedItems);
+-                selectionManager->endAnchoredSelection();
+                 if (shouldScrollToCurrentItem) {
+                     m_view->scrollToItem(selectedItems.first());
+                 }
+-- 
+GitLab
+
diff -Nru dolphin-25.04.2/debian/patches/upstream_c4ffe88c_DolphinView-display-errorMessage-when-copy-errors-occurs.patch dolphin-25.04.3/debian/patches/upstream_c4ffe88c_DolphinView-display-errorMessage-when-copy-errors-occurs.patch
--- dolphin-25.04.2/debian/patches/upstream_c4ffe88c_DolphinView-display-errorMessage-when-copy-errors-occurs.patch	1970-01-01 01:00:00.000000000 +0100
+++ dolphin-25.04.3/debian/patches/upstream_c4ffe88c_DolphinView-display-errorMessage-when-copy-errors-occurs.patch	2025-07-23 08:19:05.000000000 +0200
@@ -0,0 +1,81 @@
+From c4ffe88c9fafaed4b66a010a25b117427ba709f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven@kde.org>
+Date: Sun, 29 Jun 2025 11:20:44 +0200
+Subject: [PATCH] DolphinView: display errorMessage when copy errors occurs
+
+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
+---
+ src/views/dolphinview.cpp | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
+index e8577e0663..b702f5b13b 100644
+--- a/src/views/dolphinview.cpp
++++ b/src/views/dolphinview.cpp
+@@ -44,6 +44,7 @@
+ #include <KIO/Paste>
+ #include <KIO/PasteJob>
+ #include <KIO/RenameFileDialog>
++#include <KJob>
+ #include <KJobWidgets>
+ #include <KLocalizedString>
+ #include <KMessageBox>
+@@ -846,7 +847,7 @@ void DolphinView::copySelectedItems(const KFileItemList &selection, const QUrl &
+     connect(job, &KIO::CopyJob::result, this, &DolphinView::slotJobResult);
+     connect(job, &KIO::CopyJob::copying, this, &DolphinView::slotItemCreatedFromJob);
+     connect(job, &KIO::CopyJob::copyingDone, this, &DolphinView::slotItemCreatedFromJob);
+-    connect(job, &KIO::CopyJob::warning, this, [](KJob *job, const QString &warning) {
++    connect(job, &KIO::CopyJob::warning, this, [this](KJob *job, const QString & /* warning */) {
+         Q_EMIT errorMessage(job->errorString(), job->error());
+     });
+     KIO::FileUndoManager::self()->recordCopyJob(job);
+@@ -868,7 +869,7 @@ void DolphinView::moveSelectedItems(const KFileItemList &selection, const QUrl &
+     connect(job, &KIO::CopyJob::result, this, &DolphinView::slotJobResult);
+     connect(job, &KIO::CopyJob::moving, this, &DolphinView::slotItemCreatedFromJob);
+     connect(job, &KIO::CopyJob::copyingDone, this, &DolphinView::slotItemCreatedFromJob);
+-    connect(job, &KIO::CopyJob::warning, this, [](KJob *job, const QString &warning) {
++    connect(job, &KIO::CopyJob::warning, this, [this](KJob *job, const QString & /*warning */) {
+         Q_EMIT errorMessage(job->errorString(), job->error());
+     });
+     KIO::FileUndoManager::self()->recordCopyJob(job);
+@@ -932,6 +933,9 @@ void DolphinView::duplicateSelectedItems()
+         connect(job, &KIO::CopyJob::result, this, &DolphinView::slotJobResult);
+         connect(job, &KIO::CopyJob::copyingDone, this, &DolphinView::slotItemCreatedFromJob);
+         connect(job, &KIO::CopyJob::copyingLinkDone, this, &DolphinView::slotItemLinkCreatedFromJob);
++        connect(job, &KIO::CopyJob::warning, this, [this](KJob *job, const QString & /*warning*/) {
++            Q_EMIT errorMessage(job->errorString(), job->error());
++        });
+         KIO::FileUndoManager::self()->recordCopyJob(job);
+     }
+ }
+@@ -1407,6 +1411,9 @@ void DolphinView::dropUrls(const QUrl &destUrl, QDropEvent *dropEvent, QWidget *
+             connect(job, &KIO::DropJob::copyJobStarted, this, [this](const KIO::CopyJob *copyJob) {
+                 connect(copyJob, &KIO::CopyJob::copying, this, &DolphinView::slotItemCreatedFromJob);
+                 connect(copyJob, &KIO::CopyJob::moving, this, &DolphinView::slotItemCreatedFromJob);
++                connect(copyJob, &KIO::CopyJob::warning, this, [this](KJob *job, const QString & /*warning*/) {
++                    Q_EMIT errorMessage(job->errorString(), job->error());
++                });
+                 connect(copyJob, &KIO::CopyJob::linking, this, [this](KIO::Job *job, const QString &src, const QUrl &dest) {
+                     Q_UNUSED(job)
+                     Q_UNUSED(src)
+@@ -2276,6 +2283,9 @@ void DolphinView::pasteToUrl(const QUrl &url)
+     connect(job, &KIO::PasteJob::copyJobStarted, this, [this](const KIO::CopyJob *copyJob) {
+         connect(copyJob, &KIO::CopyJob::copying, this, &DolphinView::slotItemCreatedFromJob);
+         connect(copyJob, &KIO::CopyJob::moving, this, &DolphinView::slotItemCreatedFromJob);
++        connect(copyJob, &KIO::CopyJob::warning, this, [this](KJob *job, const QString & /*warning*/) {
++            Q_EMIT errorMessage(job->errorString(), job->error());
++        });
+         connect(copyJob, &KIO::CopyJob::linking, this, [this](KIO::Job *job, const QString &src, const QUrl &dest) {
+             Q_UNUSED(job)
+             Q_UNUSED(src)
+-- 
+GitLab
+
diff -Nru dolphin-25.04.2/.gitlab-ci.yml dolphin-25.04.3/.gitlab-ci.yml
--- dolphin-25.04.2/.gitlab-ci.yml	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/.gitlab-ci.yml	2025-06-30 18:04:23.000000000 +0200
@@ -5,7 +5,7 @@
       - /gitlab-templates/linux-qt6-next.yml
       - /gitlab-templates/freebsd-qt6.yml
       - /gitlab-templates/windows-qt6.yml
-      - /gitlab-templates/flatpak.yml
+      # - /gitlab-templates/flatpak.yml
       - /gitlab-templates/craft-windows-x86-64-qt6.yml
 
       - /gitlab-templates/xml-lint.yml
diff -Nru dolphin-25.04.2/po/ar/dolphin.po dolphin-25.04.3/po/ar/dolphin.po
--- dolphin-25.04.2/po/ar/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/ar/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -15,7 +15,7 @@
 "Project-Id-Version: dolphin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-04-25 02:36+0000\n"
-"PO-Revision-Date: 2025-04-19 13:11+0400\n"
+"PO-Revision-Date: 2025-06-28 17:07+0400\n"
 "Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
 "Language-Team: ar\n"
 "Language: ar\n"
@@ -771,7 +771,7 @@
 #, kde-format
 msgctxt "@info:tooltip"
 msgid "Refresh view"
-msgstr "أنعش العرض"
+msgstr "حدّث العرض"
 
 #: dolphinmainwindow.cpp:1971
 #, kde-kuit-format
diff -Nru dolphin-25.04.2/po/bg/dolphin.po dolphin-25.04.3/po/bg/dolphin.po
--- dolphin-25.04.2/po/bg/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/bg/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -6336,54 +6336,3 @@
 msgctxt "@info:status"
 msgid "Updating version information…"
 msgstr "Обновяване данните за версията…"
-
-#~ msgid "Show the statusbar"
-#~ msgstr "Показване на лентата на състоянието"
-
-#~ msgid "Show the space information in the statusbar"
-#~ msgstr "Показване на информацията за пространството в лентата за състояние"
-
-#~ msgctxt "@option:check"
-#~ msgid "Show status bar"
-#~ msgstr "Показване на лентата за състоянието"
-
-#~ msgctxt "@option:check"
-#~ msgid "Show space information"
-#~ msgstr "Показване на данни за дисково пространство"
-
-#~ msgctxt "@action:inmenu"
-#~ msgid "Show Space Information"
-#~ msgstr "Показване на данни за дисково пространство"
-
-#~ msgctxt "@action:inmenu"
-#~ msgid "Restore"
-#~ msgstr "Възстановяване"
-
-#~ msgid "not selected,"
-#~ msgstr "неизбран,"
-
-#~ msgid "collapsed,"
-#~ msgstr "свит,"
-
-#~ msgid "expanded,"
-#~ msgstr "разширен,"
-
-#~ msgid "— %1 selected item"
-#~ msgid_plural "— %1 selected items"
-#~ msgstr[0] "— %1 избран елемент"
-#~ msgstr[1] "— %1 избрани елемента"
-
-#~ msgctxt ""
-#~ "@info 1 is currentlyFocussedItemName, 2 is empty or \"not selected, \", 3 "
-#~ "is currentlyFocussedItemDescription, 3 is currentFolderName, 4 is "
-#~ "currentFolderPath"
-#~ msgid "%1, %2 %3 %4 %5 %6 in location %7"
-#~ msgstr "%1, %2 %3 %4 %5 %6 в местоположение %7"
-
-#~ msgctxt "@info"
-#~ msgid ""
-#~ "Dolphin will create a hidden .directory file in each folder you change "
-#~ "view properties for."
-#~ msgstr ""
-#~ "Dolphin ще създаде скрит .directory файл във всяка папка, за която "
-#~ "променяте свойствата на изгледа."
diff -Nru dolphin-25.04.2/po/de/dolphin.po dolphin-25.04.3/po/de/dolphin.po
--- dolphin-25.04.2/po/de/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/de/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -10,20 +10,21 @@
 # Jonas Schürmann <jonasschuermann@aol.de>, 2012.
 # SPDX-FileCopyrightText: 2021, 2024, 2025 Frank Steinmetzger <dev@felsenfleischer.de>
 # SPDX-FileCopyrightText: 2024, 2025 Flori G <Renner03@protonmail.com>
+# SPDX-FileCopyrightText: 2025 Philipp Kiemle <l10n@prly.mozmail.com>
 msgid ""
 msgstr ""
 "Project-Id-Version: dolphin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-04-25 02:36+0000\n"
-"PO-Revision-Date: 2025-05-18 13:17+0200\n"
-"Last-Translator: Flori G <Renner03@protonmail.com>\n"
+"PO-Revision-Date: 2025-05-17 00:18+0200\n"
+"Last-Translator: Philipp Kiemle <l10n@prly.mozmail.com>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 25.04.1\n"
+"X-Generator: Lokalize 24.12.3\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -4558,7 +4559,7 @@
 #, kde-format
 msgctxt "@option:radio Show on startup"
 msgid "Folders, tabs, and window state from last time"
-msgstr "Ordner, Unterfenster und Fensterzustand vom letzten Start"
+msgstr "Ordner, Unterfenster und Fensterzustand vom letzten Mal"
 
 #: settings/interface/folderstabssettingspage.cpp:54
 #, kde-format
diff -Nru dolphin-25.04.2/po/fr/dolphin.po dolphin-25.04.3/po/fr/dolphin.po
--- dolphin-25.04.2/po/fr/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/fr/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -35,7 +35,7 @@
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Accelerator-Marker: &\n"
 "X-Environment: kde\n"
-"X-Generator: Lokalize 25.04.1\n"
+"X-Generator: Lokalize 25.04.2\n"
 "X-Text-Markup: kde4\n"
 
 #, kde-format
diff -Nru dolphin-25.04.2/po/gl/dolphin.po dolphin-25.04.3/po/gl/dolphin.po
--- dolphin-25.04.2/po/gl/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/gl/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -24,7 +24,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 24.12.2\n"
+"X-Generator: Lokalize 25.04.2\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
diff -Nru dolphin-25.04.2/po/it/dolphin.po dolphin-25.04.3/po/it/dolphin.po
--- dolphin-25.04.2/po/it/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/it/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 25.04.0\n"
+"X-Generator: Lokalize 25.04.2\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
diff -Nru dolphin-25.04.2/po/pl/dolphin.po dolphin-25.04.3/po/pl/dolphin.po
--- dolphin-25.04.2/po/pl/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/pl/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -13,7 +13,7 @@
 "Project-Id-Version: dolphin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-04-25 02:36+0000\n"
-"PO-Revision-Date: 2025-03-15 10:05+0100\n"
+"PO-Revision-Date: 2025-06-14 13:47+0200\n"
 "Last-Translator: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>\n"
 "Language-Team: Polish <kde-i18n-doc@kde.org>\n"
 "Language: pl\n"
@@ -22,7 +22,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 24.12.3\n"
+"X-Generator: Lokalize 25.04.2\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -3142,7 +3142,7 @@
 #: panels/information/dolphin_informationpanelsettings.kcfg:14
 #, kde-format
 msgid "Auto-Play media files"
-msgstr "Samoodtwarzaj pliki multimedialne"
+msgstr "Sam zacznij odtwarzać pliki multimedialne"
 
 #. i18n: ectx: label, entry (showHovered), group (InformationPanel)
 #: panels/information/dolphin_informationpanelsettings.kcfg:18
@@ -3166,7 +3166,7 @@
 #, kde-format
 msgctxt "@action:inmenu"
 msgid "Auto-Play media files"
-msgstr "Samoodtwarzaj pliki multimedialne"
+msgstr "Sam zacznij odtwarzać pliki multimedialne"
 
 #: panels/information/informationpanel.cpp:163
 #, kde-format
diff -Nru dolphin-25.04.2/po/pt_BR/dolphin.po dolphin-25.04.3/po/pt_BR/dolphin.po
--- dolphin-25.04.2/po/pt_BR/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/pt_BR/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -18,7 +18,7 @@
 "Project-Id-Version: dolphin\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-04-25 02:36+0000\n"
-"PO-Revision-Date: 2025-03-15 00:38-0300\n"
+"PO-Revision-Date: 2025-06-21 19:43-0300\n"
 "Last-Translator: Guilherme Marçal Silva <guimarcalsilva@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@kde.org>\n"
 "Language: pt_BR\n"
@@ -26,7 +26,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 24.12.3\n"
+"X-Generator: Lokalize 25.04.2\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -4819,7 +4819,7 @@
 #, kde-format
 msgctxt "@option:radio"
 msgid "Full width"
-msgstr "Largura  completa"
+msgstr "Largura completa"
 
 #: settings/interface/statusandlocationbarssettingspage.cpp:44
 #, kde-format
diff -Nru dolphin-25.04.2/po/tr/dolphin.po dolphin-25.04.3/po/tr/dolphin.po
--- dolphin-25.04.2/po/tr/dolphin.po	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/po/tr/dolphin.po	2025-06-30 18:04:23.000000000 +0200
@@ -13,15 +13,15 @@
 "Project-Id-Version: dolphin-plugins\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2025-04-25 02:36+0000\n"
-"PO-Revision-Date: 2025-02-25 09:34+0300\n"
-"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
+"PO-Revision-Date: 2025-06-21 08:18+0300\n"
+"Last-Translator: Emir SARI <emir_sari@îcloud.com>\n"
 "Language-Team: Turkish <kde-l10n-tr@kde.org>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 25.03.70\n"
+"X-Generator: Lokalize 25.04.2\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -2862,7 +2862,7 @@
 #, kde-format
 msgctxt "@info:credit"
 msgid "Maintainer (since 2021) and developer"
-msgstr "Projeyi Sürdüren (2021’den beri) ve geliştirici"
+msgstr "Bakımcı (2021’den beri) ve geliştirici"
 
 #: main.cpp:104
 #, kde-format
diff -Nru dolphin-25.04.2/src/dolphinpart.json.in dolphin-25.04.3/src/dolphinpart.json.in
--- dolphin-25.04.2/src/dolphinpart.json.in	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/src/dolphinpart.json.in	2025-06-30 18:04:23.000000000 +0200
@@ -27,7 +27,7 @@
         "Name[eo]": "Dolfin-Vido",
         "Name[es]": "Vista de Dolphin",
         "Name[et]": "Dolphini vaade",
-        "Name[eu]": "Dolphin ikuspegia",
+        "Name[eu]": "Dolphin-en ikuspegia",
         "Name[fi]": "Dolphin-näkymä",
         "Name[fr]": "Vue de Dolphin",
         "Name[gl]": "Vista de Dolphin",
diff -Nru dolphin-25.04.2/src/org.kde.dolphin.appdata.xml dolphin-25.04.3/src/org.kde.dolphin.appdata.xml
--- dolphin-25.04.2/src/org.kde.dolphin.appdata.xml	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/src/org.kde.dolphin.appdata.xml	2025-06-30 18:04:23.000000000 +0200
@@ -525,6 +525,7 @@
   </provides>
   <launchable type="desktop-id">org.kde.dolphin.desktop</launchable>
   <releases>
+    <release version="25.04.3" date="2025-07-03"/>
     <release version="25.04.2" date="2025-06-05"/>
     <release version="25.04.1" date="2025-05-08"/>
     <release version="25.04.0" date="2025-04-17"/>
diff -Nru dolphin-25.04.2/src/views/viewproperties.cpp dolphin-25.04.3/src/views/viewproperties.cpp
--- dolphin-25.04.2/src/views/viewproperties.cpp	2025-06-02 22:12:16.000000000 +0200
+++ dolphin-25.04.3/src/views/viewproperties.cpp	2025-06-30 18:04:23.000000000 +0200
@@ -42,22 +42,14 @@
         return new ViewPropertySettings(KSharedConfig::openConfig(settingsFile, KConfig::SimpleConfig));
     }
 
-    auto createTempFile = []() -> QTemporaryFile * {
-        QTemporaryFile *tempFile = new QTemporaryFile;
-        tempFile->setAutoRemove(false);
-        if (!tempFile->open()) {
-            qCWarning(DolphinDebug) << "Could not open temp file";
-            return nullptr;
-        }
-        return tempFile;
-    };
-
+    std::unique_ptr<QTemporaryFile> tempFile(new QTemporaryFile());
+    tempFile->setAutoRemove(false);
+    if (!tempFile->open()) {
+        qCWarning(DolphinDebug) << "Could not open temp file";
+        return nullptr;
+    }
     if (QFile::exists(settingsFile)) {
         // copy settings to tempfile to load them separately
-        const QTemporaryFile *tempFile = createTempFile();
-        if (!tempFile) {
-            return nullptr;
-        }
         QFile::remove(tempFile->fileName());
         QFile::copy(settingsFile, tempFile->fileName());
 
@@ -84,11 +76,6 @@
         return nullptr;
     }
     // load view properties from xattr to temp file then loads into ViewPropertySettings
-    // clear the temp file
-    const QTemporaryFile *tempFile = createTempFile();
-    if (!tempFile) {
-        return nullptr;
-    }
     QFile outputFile(tempFile->fileName());
     outputFile.open(QIODevice::WriteOnly);
     outputFile.write(viewPropertiesString.toUtf8());
diff -ur '--exclude=po' dolphin-25.04.2/CMakeLists.txt dolphin/CMakeLists.txt
--- dolphin-25.04.2/CMakeLists.txt	2025-07-23 08:58:05.000000000 +0200
+++ dolphin/CMakeLists.txt	2025-06-30 18:04:23.000000000 +0200
@@ -3,9 +3,8 @@
 # KDE Application Version, managed by release script
 set (RELEASE_SERVICE_VERSION_MAJOR "25")
 set (RELEASE_SERVICE_VERSION_MINOR "04")
-set (RELEASE_SERVICE_VERSION_MICRO "2")
+set (RELEASE_SERVICE_VERSION_MICRO "3")
 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
-set (BALOO_WIDGETS_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.0")
 project(Dolphin VERSION ${RELEASE_SERVICE_VERSION})
 
 set(QT_MIN_VERSION "6.4.0")
@@ -129,10 +128,10 @@
                        PURPOSE "For adding desktop-wide search and tagging support to dolphin"
                       )
 
-find_package(KF6BalooWidgets ${BALOO_WIDGETS_VERSION})
+find_package(KF6BalooWidgets ${RELEASE_SERVICE_VERSION})
 set_package_properties(KF6BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
                        URL "https://www.kde.org";
-                       TYPE REQUIRED
+                       TYPE OPTIONAL
                       )
 
 if (KF6Baloo_FOUND AND KF6BalooWidgets_FOUND)
diff -ur '--exclude=po' dolphin-25.04.2/debian/changelog dolphin/debian/changelog
--- dolphin-25.04.2/debian/changelog	2025-06-06 07:51:00.000000000 +0200
+++ dolphin/debian/changelog	2025-07-23 08:26:19.045677655 +0200
@@ -1,3 +1,21 @@
+dolphin (4:25.04.3-1) unstable; urgency=medium
+
+  [ Aurélien COUDERC ]
+  * New upstream release (25.04.3).
+    - Viewproperties: Fix leaking file descriptors. (kde#505215)
+  * Refresh patches.
+  * Backport upstream commit:
+    - KFileItemListWidget: wrong selection when renamed file ends with a dot.
+    [1e5bc5b3]
+    - Fix multi-file selection does not work when Dolphin is opened with a
+    pre-selected file. [b64bf8ca] (kde#503221)
+    - Ensure view is reset only actually showing paths or subpaths from the
+    unmounted location.  [3e4d9ca1]
+    - Fix dolphin not reporting I/O errors when copying multiple files.
+    [6dd55251, c4ffe88c] (kde#506282)
+
+ -- Aurélien COUDERC <coucouf@debian.org>  Wed, 23 Jul 2025 08:19:05 +0200
+
 dolphin (4:25.04.2-1) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
Seulement dans dolphin/debian: .gitattributes
Seulement dans dolphin/debian: .gitignore
diff -ur '--exclude=po' dolphin-25.04.2/debian/patches/relax-baloo-widgets-version.patch dolphin/debian/patches/relax-baloo-widgets-version.patch
--- dolphin-25.04.2/debian/patches/relax-baloo-widgets-version.patch	2025-06-06 07:51:00.000000000 +0200
+++ dolphin/debian/patches/relax-baloo-widgets-version.patch	2025-07-23 08:22:05.908251897 +0200
@@ -2,7 +2,7 @@
 +++ b/CMakeLists.txt
 @@ -5,6 +5,7 @@
  set (RELEASE_SERVICE_VERSION_MINOR "04")
- set (RELEASE_SERVICE_VERSION_MICRO "2")
+ set (RELEASE_SERVICE_VERSION_MICRO "3")
  set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 +set (BALOO_WIDGETS_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.0")
  project(Dolphin VERSION ${RELEASE_SERVICE_VERSION})
diff -ur '--exclude=po' dolphin-25.04.2/debian/patches/series dolphin/debian/patches/series
--- dolphin-25.04.2/debian/patches/series	2025-06-06 07:51:00.000000000 +0200
+++ dolphin/debian/patches/series	2025-07-23 08:26:19.029672618 +0200
@@ -2,3 +2,8 @@
 require-baloo-widgets.patch
 
 upstream_dd2cc41f_kfileitemmodelrolesupdater-reset-size-and-count-before-updating-folders.patch
+upstream_1e5bc5b3_KFileItemListWidget-wrong-selection-when-renamed-file-ends-with-a-dot.patch
+upstream_b64bf8ca_DolphinView-Don-t-end-anchored-selection-in-updateSelectionState.patch
+upstream_3e4d9ca1_fix-incorrect-view-reset-when-unmounting-similarly-named-devices.patch
+upstream_6dd55251_DolphinView-display-errorMessage-when-copy-errors-occurs.patch
+upstream_c4ffe88c_DolphinView-display-errorMessage-when-copy-errors-occurs.patch
Seulement dans dolphin/debian/patches: upstream_1e5bc5b3_KFileItemListWidget-wrong-selection-when-renamed-file-ends-with-a-dot.patch
Seulement dans dolphin/debian/patches: upstream_3e4d9ca1_fix-incorrect-view-reset-when-unmounting-similarly-named-devices.patch
Seulement dans dolphin/debian/patches: upstream_6dd55251_DolphinView-display-errorMessage-when-copy-errors-occurs.patch
Seulement dans dolphin/debian/patches: upstream_b64bf8ca_DolphinView-Don-t-end-anchored-selection-in-updateSelectionState.patch
Seulement dans dolphin/debian/patches: upstream_c4ffe88c_DolphinView-display-errorMessage-when-copy-errors-occurs.patch
Seulement dans dolphin: .git
diff -ur '--exclude=po' dolphin-25.04.2/.gitlab-ci.yml dolphin/.gitlab-ci.yml
--- dolphin-25.04.2/.gitlab-ci.yml	2025-06-02 22:12:16.000000000 +0200
+++ dolphin/.gitlab-ci.yml	2025-06-30 18:04:23.000000000 +0200
@@ -5,7 +5,7 @@
       - /gitlab-templates/linux-qt6-next.yml
       - /gitlab-templates/freebsd-qt6.yml
       - /gitlab-templates/windows-qt6.yml
-      - /gitlab-templates/flatpak.yml
+      # - /gitlab-templates/flatpak.yml
       - /gitlab-templates/craft-windows-x86-64-qt6.yml
 
       - /gitlab-templates/xml-lint.yml
Seulement dans dolphin-25.04.2: .pc
diff -ur '--exclude=po' dolphin-25.04.2/src/dolphinpart.json.in dolphin/src/dolphinpart.json.in
--- dolphin-25.04.2/src/dolphinpart.json.in	2025-06-02 22:12:16.000000000 +0200
+++ dolphin/src/dolphinpart.json.in	2025-06-30 18:04:23.000000000 +0200
@@ -27,7 +27,7 @@
         "Name[eo]": "Dolfin-Vido",
         "Name[es]": "Vista de Dolphin",
         "Name[et]": "Dolphini vaade",
-        "Name[eu]": "Dolphin ikuspegia",
+        "Name[eu]": "Dolphin-en ikuspegia",
         "Name[fi]": "Dolphin-näkymä",
         "Name[fr]": "Vue de Dolphin",
         "Name[gl]": "Vista de Dolphin",
diff -ur '--exclude=po' dolphin-25.04.2/src/kitemviews/kfileitemmodelrolesupdater.cpp dolphin/src/kitemviews/kfileitemmodelrolesupdater.cpp
--- dolphin-25.04.2/src/kitemviews/kfileitemmodelrolesupdater.cpp	2025-07-23 08:58:05.000000000 +0200
+++ dolphin/src/kitemviews/kfileitemmodelrolesupdater.cpp	2025-06-30 18:04:23.000000000 +0200
@@ -370,28 +370,19 @@
 
     // Determine the sort role synchronously for as many items as possible.
     if (m_resolvableRoles.contains(m_model->sortRole())) {
-        QList<QUrl> dirsWithAddedItems;
-
         int insertedCount = 0;
         for (const KItemRange &range : itemRanges) {
             const int lastIndex = insertedCount + range.index + range.count - 1;
             for (int i = insertedCount + range.index; i <= lastIndex; ++i) {
-                const auto fileItem = m_model->fileItem(i);
-                const auto fileItemParentFolderUrl = fileItem.url().adjusted(QUrl::RemoveFilename);
-                if (!dirsWithAddedItems.contains(fileItemParentFolderUrl)) {
-                    dirsWithAddedItems.append(fileItemParentFolderUrl);
-                }
                 if (timer.elapsed() < MaxBlockTimeout) {
                     applySortRole(i);
                 } else {
-                    m_pendingSortRoleItems.insert(fileItem);
+                    m_pendingSortRoleItems.insert(m_model->fileItem(i));
                 }
             }
             insertedCount += range.count;
         }
 
-        recountDirectoryItems(dirsWithAddedItems);
-
         applySortProgressToModel();
 
         // If there are still items whose sort role is unknown, check if the
@@ -448,25 +439,17 @@
             m_directoryContentsCounter->stopWorker();
         }
     } else {
-        QList<QUrl> dirsWithDeletedItems;
         // Only remove the items from m_finishedItems. They will be removed
         // from the other sets later on.
         QSet<KFileItem>::iterator it = m_finishedItems.begin();
         while (it != m_finishedItems.end()) {
             if (m_model->index(*it) < 0) {
-                // Get the folder path of the file.
-                const auto folderUrl = it->url().adjusted(QUrl::RemoveFilename);
-                if (!dirsWithDeletedItems.contains(folderUrl)) {
-                    dirsWithDeletedItems.append(folderUrl);
-                }
                 it = m_finishedItems.erase(it);
             } else {
                 ++it;
             }
         }
 
-        recountDirectoryItems(dirsWithDeletedItems);
-
         // Removed items won't have hover previews loaded anymore.
         for (const KItemRange &itemRange : itemRanges) {
             int index = itemRange.index;
@@ -1287,20 +1270,13 @@
 
 void KFileItemModelRolesUpdater::startDirectorySizeCounting(const KFileItem &item, int index)
 {
-    if (ContentDisplaySettings::directorySizeMode() == ContentDisplaySettings::EnumDirectorySizeMode::None) {
+    if (ContentDisplaySettings::directorySizeMode() == ContentDisplaySettings::EnumDirectorySizeMode::None || !item.isLocalFile()) {
         return;
     }
 
-    // Set any remote files to unknown size (-1).
-    if (!item.isLocalFile()) {
-        resetSizeData(index, -1);
-        return;
-    } else {
-        resetSizeData(index);
-    }
-
     if (ContentDisplaySettings::directorySizeMode() == ContentDisplaySettings::EnumDirectorySizeMode::ContentCount || item.isSlow()) {
         // fastpath no recursion necessary
+
         auto data = m_model->data(index);
         if (data.value("size") == -2) {
             // means job already started
@@ -1320,33 +1296,28 @@
         connect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged);
 
         auto listJob = KIO::listDir(url, KIO::HideProgressInfo);
-
-        QObject::connect(listJob, &KIO::ListJob::entries, this, [this, item](const KJob *job, const KIO::UDSEntryList &list) {
+        QObject::connect(listJob, &KIO::ListJob::entries, this, [this, item](const KJob * /*job*/, const KIO::UDSEntryList &list) {
             int index = m_model->index(item);
             if (index < 0) {
                 return;
             }
             auto data = m_model->data(index);
             int origCount = data.value("count").toInt();
-            // Get the amount of processed items...
-            int entryCount = job->processedAmount(KJob::Bytes);
+            int entryCount = origCount;
 
-            // ...and then remove the unwanted items from the amount.
             for (const KIO::UDSEntry &entry : list) {
                 const auto name = entry.stringValue(KIO::UDSEntry::UDS_NAME);
 
                 if (name == QStringLiteral("..") || name == QStringLiteral(".")) {
-                    --entryCount;
                     continue;
                 }
                 if (!m_model->showHiddenFiles() && name.startsWith(QLatin1Char('.'))) {
-                    --entryCount;
                     continue;
                 }
                 if (m_model->showDirectoriesOnly() && !entry.isDir()) {
-                    --entryCount;
                     continue;
                 }
+                ++entryCount;
             }
 
             QHash<QByteArray, QVariant> newData;
@@ -1357,6 +1328,7 @@
             }
 
             if (origCount != entryCount) {
+                // count has changed
                 newData.insert("count", entryCount);
             }
 
@@ -1538,28 +1510,5 @@
         }
     }
 }
-
-void KFileItemModelRolesUpdater::resetSizeData(const int index, const int size)
-{
-    disconnect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged);
-    auto data = m_model->data(index);
-    data.insert("size", size);
-    m_model->setData(index, data);
-    connect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged);
-}
-
-void KFileItemModelRolesUpdater::recountDirectoryItems(const QList<QUrl> directories)
-{
-    for (const auto &dir : directories) {
-        auto index = m_model->index(dir);
-        if (index < 0) {
-            continue;
-        }
-        auto item = m_model->fileItem(index);
-        if (item.isDir()) {
-            startDirectorySizeCounting(item, index);
-        }
-    }
-}
 
 #include "moc_kfileitemmodelrolesupdater.cpp"
diff -ur '--exclude=po' dolphin-25.04.2/src/kitemviews/kfileitemmodelrolesupdater.h dolphin/src/kitemviews/kfileitemmodelrolesupdater.h
--- dolphin-25.04.2/src/kitemviews/kfileitemmodelrolesupdater.h	2025-07-23 08:58:05.000000000 +0200
+++ dolphin/src/kitemviews/kfileitemmodelrolesupdater.h	2025-06-30 18:04:23.000000000 +0200
@@ -340,10 +340,6 @@
 
     void trimHoverSequenceLoadedItems();
 
-    void resetSizeData(const int index, const int size = 0);
-
-    void recountDirectoryItems(const QList<QUrl> directories);
-
 private:
     QSize cacheSize();
     /**
diff -ur '--exclude=po' dolphin-25.04.2/src/org.kde.dolphin.appdata.xml dolphin/src/org.kde.dolphin.appdata.xml
--- dolphin-25.04.2/src/org.kde.dolphin.appdata.xml	2025-06-02 22:12:16.000000000 +0200
+++ dolphin/src/org.kde.dolphin.appdata.xml	2025-06-30 18:04:23.000000000 +0200
@@ -525,6 +525,7 @@
   </provides>
   <launchable type="desktop-id">org.kde.dolphin.desktop</launchable>
   <releases>
+    <release version="25.04.3" date="2025-07-03"/>
     <release version="25.04.2" date="2025-06-05"/>
     <release version="25.04.1" date="2025-05-08"/>
     <release version="25.04.0" date="2025-04-17"/>
diff -ur '--exclude=po' dolphin-25.04.2/src/views/viewproperties.cpp dolphin/src/views/viewproperties.cpp
--- dolphin-25.04.2/src/views/viewproperties.cpp	2025-06-02 22:12:16.000000000 +0200
+++ dolphin/src/views/viewproperties.cpp	2025-06-30 18:04:23.000000000 +0200
@@ -42,22 +42,14 @@
         return new ViewPropertySettings(KSharedConfig::openConfig(settingsFile, KConfig::SimpleConfig));
     }
 
-    auto createTempFile = []() -> QTemporaryFile * {
-        QTemporaryFile *tempFile = new QTemporaryFile;
-        tempFile->setAutoRemove(false);
-        if (!tempFile->open()) {
-            qCWarning(DolphinDebug) << "Could not open temp file";
-            return nullptr;
-        }
-        return tempFile;
-    };
-
+    std::unique_ptr<QTemporaryFile> tempFile(new QTemporaryFile());
+    tempFile->setAutoRemove(false);
+    if (!tempFile->open()) {
+        qCWarning(DolphinDebug) << "Could not open temp file";
+        return nullptr;
+    }
     if (QFile::exists(settingsFile)) {
         // copy settings to tempfile to load them separately
-        const QTemporaryFile *tempFile = createTempFile();
-        if (!tempFile) {
-            return nullptr;
-        }
         QFile::remove(tempFile->fileName());
         QFile::copy(settingsFile, tempFile->fileName());
 
@@ -84,11 +76,6 @@
         return nullptr;
     }
     // load view properties from xattr to temp file then loads into ViewPropertySettings
-    // clear the temp file
-    const QTemporaryFile *tempFile = createTempFile();
-    if (!tempFile) {
-        return nullptr;
-    }
     QFile outputFile(tempFile->fileName());
     outputFile.open(QIODevice::WriteOnly);
     outputFile.write(viewPropertiesString.toUtf8());

--- End Message ---
--- Begin Message ---
Unblocked dolphin.

--- End Message ---

Reply to: