diff --git a/fix-importer.patch b/fix-importer.patch new file mode 100644 index 0000000..2dadb72 --- /dev/null +++ b/fix-importer.patch @@ -0,0 +1,78 @@ +From 4907c4b14b9152d27897998849c8121d04c440f5 Mon Sep 17 00:00:00 2001 +From: Wolfgang Bauer +Date: Thu, 11 May 2017 16:17:48 +0200 +Subject: [PATCH] Avoid data loss when importing pictures + +Fix porting regressions, which left users of Gwenview Importer with: +* failed import (import destination still empty) +* additionally (when choosing "Delete" instead of "Keep" after import): +pictures also removed from import source, with no way to recover + +Correct additional problems remaining after fixing the import failure: +* hang on duplicate filenames +* identically named files with different content are never imported +* error dialog when deleting pictures from import source + +BUG: 379615 + +Differential Revision: https://phabricator.kde.org/D5749 +--- + importer/fileutils.cpp | 5 ++++- + importer/importdialog.cpp | 2 +- + importer/importer.cpp | 4 ++-- + 3 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/importer/fileutils.cpp b/importer/fileutils.cpp +index 5293d561..a51a18cf 100644 +--- a/importer/fileutils.cpp ++++ b/importer/fileutils.cpp +@@ -128,7 +128,10 @@ RenameResult rename(const QUrl& src, const QUrl& dst_, QWidget* authWindow) + } + result = RenamedUnderNewName; + +- dst.setPath(dst.path() + '/' + prefix + QString::number(count) + suffix); ++ dst.setPath(dst.adjusted(QUrl::RemoveFilename).path() + prefix + QString::number(count) + suffix); ++ statJob = KIO::stat(dst); ++ KJobWidgets::setWindow(statJob, authWindow); ++ + ++count; + } + +diff --git a/importer/importdialog.cpp b/importer/importdialog.cpp +index ee6f7cd6..5e9e847c 100644 +--- a/importer/importdialog.cpp ++++ b/importer/importdialog.cpp +@@ -121,7 +121,7 @@ public: + QList urls = importedUrls + skippedUrls; + while (true) { + KIO::Job* job = KIO::del(urls); +- if (!job->exec()) { ++ if (job->exec()) { + break; + } + // Deleting failed +diff --git a/importer/importer.cpp b/importer/importer.cpp +index 51c4b964..a7e1d4ea 100644 +--- a/importer/importer.cpp ++++ b/importer/importer.cpp +@@ -98,7 +98,7 @@ struct ImporterPrivate + } + mCurrentUrl = mUrlList.takeFirst(); + QUrl dst = mTempImportDirUrl; +- dst.setPath(dst.path() + '/' + mCurrentUrl.fileName()); ++ dst.setPath(dst.path() + mCurrentUrl.fileName()); + KIO::Job* job = KIO::copy(mCurrentUrl, dst, KIO::HideProgressInfo); + KJobWidgets::setWindow(job, mAuthWindow); + QObject::connect(job, SIGNAL(result(KJob*)), +@@ -122,7 +122,7 @@ struct ImporterPrivate + } else { + fileName = src.fileName(); + } +- dst.setPath(dst.path() + '/' + fileName); ++ dst.setPath(dst.path() + fileName); + + FileUtils::RenameResult result = FileUtils::rename(src, dst, mAuthWindow); + switch (result) { +-- +2.12.0 + diff --git a/gwenview-17.04.0.tar.xz b/gwenview-17.04.0.tar.xz deleted file mode 100644 index 0f1bd6d..0000000 --- a/gwenview-17.04.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4109bfef13d1347fdce0a3945ab130220d9f072cd2c5ddeec3c8bc41da0f9558 -size 5902924 diff --git a/gwenview-17.04.1.tar.xz b/gwenview-17.04.1.tar.xz new file mode 100644 index 0000000..2e85c48 --- /dev/null +++ b/gwenview-17.04.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90d595035d3f69c21791830ac99a2419227c50f30a1ccbb453c5055e4227d011 +size 5902528 diff --git a/gwenview5.changes b/gwenview5.changes index be21581..0a1c223 100644 --- a/gwenview5.changes +++ b/gwenview5.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed May 17 20:35:41 CEST 2017 - lbeltrame@kde.org + +- Update to 17.04.1 + * New bugfix release + * For more details please see: + * https://www.kde.org/announcements/announce-applications-17.04.1.php +- Changes since 17.04.0: + * History (recentfolders) not working / folder never created (kde#379177) + * Correctly load the translations + +------------------------------------------------------------------- +Thu May 11 13:34:26 UTC 2017 - wbauer@tmo.at + +- Add fix-importer.patch to make the importer work and not cause + data loss if "Delete" is chosen after the import (kde#379615) +- Provides/Obsoletes gwenview instead of Conflicts + ------------------------------------------------------------------- Sun Apr 16 10:44:47 CEST 2017 - lbeltrame@kde.org diff --git a/gwenview5.spec b/gwenview5.spec index 6ded34b..105da15 100644 --- a/gwenview5.spec +++ b/gwenview5.spec @@ -19,7 +19,7 @@ %bcond_without lang Name: gwenview5 -Version: 17.04.0 +Version: 17.04.1 Release: 0 %define kf5_version 5.26.0 # Latest stable Applications (e.g. 16.08 in KA, but 16.11.80 in KUA) @@ -29,6 +29,8 @@ License: GPL-2.0+ Group: Productivity/Graphics/Viewers Url: http://www.kde.org Source: gwenview-%{version}.tar.xz +# PATCH-FIX-UPSTREAM fix-importer.patch kde#379615 -- fix problems with the importer that may even cause data loss +Patch: fix-importer.patch BuildRequires: baloo5-devel BuildRequires: extra-cmake-modules >= %{kf5_version} BuildRequires: kactivities5-devel @@ -55,7 +57,8 @@ BuildRequires: pkgconfig(Qt5Svg) >= 5.2.0 BuildRequires: pkgconfig(Qt5Test) >= 5.2.0 BuildRequires: pkgconfig(Qt5Widgets) >= 5.2.0 BuildRequires: pkgconfig(Qt5X11Extras) >= 5.2.0 -Conflicts: gwenview +Provides: gwenview = %{version} +Obsoletes: gwenview < %{version} Recommends: %{name}-lang BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -70,6 +73,7 @@ hierarchy. %prep %setup -q -n gwenview-%{version} +%patch -p1 %build %cmake_kf5 -d build -- -DGWENVIEW_SEMANTICINFO_BACKEND="Baloo"