Your message dated Wed, 23 Jul 2025 18:56:23 +0000
with message-id <[email protected]>
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 [email protected]
immediately.)


-- 
1109749: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109749
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected], Debian Qt/KDE Maintainers 
<[email protected]>
Control: affects -1 + src:dolphin
User: [email protected]
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 <[email protected]>  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 <[email protected]>
+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 <[email protected]>
+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?= <[email protected]>
+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 <[email protected]>
+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?= <[email protected]>
+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 <[email protected]>\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 <[email protected]>, 2012.
 # SPDX-FileCopyrightText: 2021, 2024, 2025 Frank Steinmetzger 
<[email protected]>
 # SPDX-FileCopyrightText: 2024, 2025 Flori G <[email protected]>
+# SPDX-FileCopyrightText: 2025 Philipp Kiemle <[email protected]>
 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 <[email protected]>\n"
+"PO-Revision-Date: 2025-05-17 00:18+0200\n"
+"Last-Translator: Philipp Kiemle <[email protected]>\n"
 "Language-Team: German <[email protected]>\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 <[email protected]>\n"
 "Language-Team: Polish <[email protected]>\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 <[email protected]>\n"
 "Language-Team: Brazilian Portuguese <[email protected]>\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 <[email protected]>\n"
+"PO-Revision-Date: 2025-06-21 08:18+0300\n"
+"Last-Translator: Emir SARI <emir_sari@îcloud.com>\n"
 "Language-Team: Turkish <[email protected]>\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 <[email protected]>  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 via email to