Hello community,

here is the log from the commit of package kfilemetadata5 for openSUSE:Factory 
checked in at 2019-11-12 11:46:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kfilemetadata5 (Old)
 and      /work/SRC/openSUSE:Factory/.kfilemetadata5.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kfilemetadata5"

Tue Nov 12 11:46:10 2019 rev:78 rq:747109 version:5.64.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kfilemetadata5/kfilemetadata5.changes    
2019-10-14 13:35:36.506319087 +0200
+++ /work/SRC/openSUSE:Factory/.kfilemetadata5.new.2990/kfilemetadata5.changes  
2019-11-12 11:46:27.562790600 +0100
@@ -1,0 +2,11 @@
+Sun Nov  3 15:47:00 UTC 2019 - Christophe Giboudeaux <[email protected]>
+
+- Update to 5.64.0
+  * New feature release
+  * For more details please see:
+  * https://www.kde.org/announcements/kde-frameworks-5.64.0.php
+- Changes since 5.63.0:
+  * Use ECMGenerateExportHeader to manage deprecated API better
+  * Fix crash in writer collection and cleanup
+
+-------------------------------------------------------------------

Old:
----
  kfilemetadata-5.63.0.tar.xz
  kfilemetadata-5.63.0.tar.xz.sig

New:
----
  kfilemetadata-5.64.0.tar.xz
  kfilemetadata-5.64.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kfilemetadata5.spec ++++++
--- /var/tmp/diff_new_pack.xujCx8/_old  2019-11-12 11:46:32.378795525 +0100
+++ /var/tmp/diff_new_pack.xujCx8/_new  2019-11-12 11:46:32.402795550 +0100
@@ -16,7 +16,7 @@
 #
 
 
-%define _tar_path 5.63
+%define _tar_path 5.64
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
@@ -24,7 +24,7 @@
 %bcond_without ffmpeg
 %bcond_without lang
 Name:           kfilemetadata5
-Version:        5.63.0
+Version:        5.64.0
 Release:        0
 Summary:        Library for extracting Metadata
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-only


++++++ kfilemetadata-5.63.0.tar.xz -> kfilemetadata-5.64.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/CMakeLists.txt 
new/kfilemetadata-5.64.0/CMakeLists.txt
--- old/kfilemetadata-5.63.0/CMakeLists.txt     2019-10-06 11:45:27.000000000 
+0200
+++ new/kfilemetadata-5.64.0/CMakeLists.txt     2019-11-02 13:55:38.000000000 
+0100
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.5)
 
-set(KF5_VERSION "5.63.0") # handled by release scripts
-set(KF5_DEP_VERSION "5.63.0") # handled by release scripts
+set(KF5_VERSION "5.64.0") # handled by release scripts
+set(KF5_DEP_VERSION "5.64.0") # handled by release scripts
 project(KFileMetaData VERSION ${KF5_VERSION})
 
 include(FeatureSummary)
-find_package(ECM 5.63.0  NO_MODULE)
+find_package(ECM 5.64.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL 
"https://projects.kde.org/projects/kdesupport/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -15,13 +15,15 @@
 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
 include(KDECMakeSettings)
 include(ECMAddTests)
-include(GenerateExportHeader)
+include(ECMGenerateExportHeader)
 include(ECMSetupVersion)
 include(ECMGenerateHeaders)
 include(ECMAddQch)
 include(ECMQtDeclareLoggingCategory)
 include(CheckStructHasMember)
 
+set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of 
deprecated API excluded from the build [default=0].")
+
 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt 
Assistant, Qt Creator & KDevelop)" OFF)
 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. 
Qt Assistant, Qt Creator & KDevelop)")
 
@@ -115,6 +117,7 @@
                        )
 
 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00)
+add_definitions(-DQT_DEPRECATED_WARNINGS_SINCE=0x060000)
 add_definitions(-DTRANSLATION_DOMAIN=\"kfilemetadata5\")
 add_definitions(-DQT_NO_FOREACH)
 add_subdirectory(src)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/autotests/CMakeLists.txt 
new/kfilemetadata-5.64.0/autotests/CMakeLists.txt
--- old/kfilemetadata-5.63.0/autotests/CMakeLists.txt   2019-10-06 
11:45:27.000000000 +0200
+++ new/kfilemetadata-5.64.0/autotests/CMakeLists.txt   2019-11-02 
13:55:38.000000000 +0100
@@ -166,6 +166,15 @@
         LINK_LIBRARIES Qt5::Test KF5::FileMetaData
 )
 
+set(writercollection_SRCS
+    writercollectiontest.cpp
+)
+
+ecm_add_test(${writercollection_SRCS}
+        TEST_NAME "writercollectiontest"
+        LINK_LIBRARIES Qt5::Test KF5::FileMetaData
+)
+
 #
 # XML
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kfilemetadata-5.63.0/autotests/writercollectiontest.cpp 
new/kfilemetadata-5.64.0/autotests/writercollectiontest.cpp
--- old/kfilemetadata-5.63.0/autotests/writercollectiontest.cpp 1970-01-01 
01:00:00.000000000 +0100
+++ new/kfilemetadata-5.64.0/autotests/writercollectiontest.cpp 2019-11-02 
13:55:38.000000000 +0100
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the KDE KFileMetaData project
+ * Copyright (C) 2014  Vishesh Handa <[email protected]>
+ *               2017  Igor Poboiko <[email protected]>
+ *               2019  Alexander Stippich <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
+ *
+ */
+
+#include <QObject>
+#include <QtTest>
+#include <QDebug>
+
+#include "writercollection.h"
+
+namespace KFileMetaData {
+
+class WriterCollectionTest : public QObject
+{
+    Q_OBJECT
+private Q_SLOTS:
+    void testFetchWriters()
+    {
+        
QCoreApplication::setLibraryPaths({QCoreApplication::applicationDirPath()});
+        WriterCollection collection;
+        
QVERIFY(collection.fetchWriters(QStringLiteral("unknown/mimetype")).isEmpty());
+        
QVERIFY(!collection.fetchWriters(QStringLiteral("audio/mpeg3")).isEmpty());
+    }
+
+};
+
+}
+
+QTEST_GUILESS_MAIN(KFileMetaData::WriterCollectionTest)
+
+#include "writercollectiontest.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/docs/Doxyfile.local 
new/kfilemetadata-5.64.0/docs/Doxyfile.local
--- old/kfilemetadata-5.63.0/docs/Doxyfile.local        1970-01-01 
01:00:00.000000000 +0100
+++ new/kfilemetadata-5.64.0/docs/Doxyfile.local        2019-11-02 
13:55:38.000000000 +0100
@@ -0,0 +1,7 @@
+### KApiDox Project-specific Overrides File
+
+# define so that deprecated API is not skipped
+PREDEFINED += \
+    "KFILEMETADATA_ENABLE_DEPRECATED_SINCE(x, y)=1" \
+    "KFILEMETADATA_BUILD_DEPRECATED_SINCE(x, y)=1" \
+    "KFILEMETADATA_DEPRECATED_VERSION(x, y, t)="
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/po/et/kfilemetadata5.po 
new/kfilemetadata-5.64.0/po/et/kfilemetadata5.po
--- old/kfilemetadata-5.63.0/po/et/kfilemetadata5.po    2019-10-06 
11:45:27.000000000 +0200
+++ new/kfilemetadata-5.64.0/po/et/kfilemetadata5.po    2019-11-02 
13:55:38.000000000 +0100
@@ -1,65 +1,63 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
 #
-# Marek Laane <[email protected]>, 2016.
+# Marek Laane <[email protected]>, 2016, 2019.
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-07-19 02:55+0200\n"
-"PO-Revision-Date: 2016-09-09 01:42+0300\n"
+"PO-Revision-Date: 2019-10-31 13:13+0200\n"
 "Last-Translator: Marek Laane <[email protected]>\n"
-"Language-Team: Estonian <[email protected]>\n"
+"Language-Team: Estonian <[email protected]>\n"
 "Language: et\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 1.5\n"
+"X-Generator: Lokalize 19.08.1\n"
 
 #: src/formatstrings.cpp:77
 #, kde-format
 msgctxt "@label bitrate (per second)"
 msgid "%1/s"
-msgstr ""
+msgstr "%1/s"
 
 #: src/formatstrings.cpp:91
 #, kde-format
 msgctxt "Description of image orientation"
 msgid "Unchanged"
-msgstr ""
+msgstr "Muutmata"
 
 #: src/formatstrings.cpp:92
 #, kde-format
 msgctxt "Description of image orientation"
 msgid "Horizontally flipped"
-msgstr ""
+msgstr "Rõhtsalt keeratud"
 
 #: src/formatstrings.cpp:93
 #, kde-format
 msgctxt "Description of image orientation"
 msgid "180° rotated"
-msgstr ""
+msgstr "180° pööratud"
 
 #: src/formatstrings.cpp:94
 #, kde-format
 msgctxt "Description of image orientation"
 msgid "Vertically flipped"
-msgstr ""
+msgstr "Püstiselt keeratud"
 
 #: src/formatstrings.cpp:95
-#, fuzzy, kde-format
-#| msgctxt "@label number of translated strings"
-#| msgid "Translations"
+#, kde-format
 msgctxt "Description of image orientation"
 msgid "Transposed"
-msgstr "Tõlked"
+msgstr ""
 
 #: src/formatstrings.cpp:96
 #, kde-format
 msgctxt "Description of image orientation, counter clock-wise rotated"
 msgid "90° rotated CCW "
-msgstr ""
+msgstr "90° vastupäeva pööratud"
 
 #: src/formatstrings.cpp:97
 #, kde-format
@@ -71,21 +69,19 @@
 #, kde-format
 msgctxt "Description of image orientation, counter clock-wise rotated"
 msgid "270° rotated CCW"
-msgstr ""
+msgstr "270° vastupäeva pööratud"
 
 #: src/formatstrings.cpp:109
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Flash"
+#, kde-format
 msgctxt "Description of photo flash"
 msgid "No flash"
-msgstr "Foto välklamp"
+msgstr "Välguta"
 
 #: src/formatstrings.cpp:110
 #, kde-format
 msgctxt "Description of photo flash"
 msgid "Fired"
-msgstr ""
+msgstr "Välguga"
 
 #: src/formatstrings.cpp:111
 #, kde-format
@@ -240,68 +236,68 @@
 #: src/formatstrings.cpp:140
 #, kde-format
 msgid "Unknown"
-msgstr ""
+msgstr "Teadmata"
 
 #: src/formatstrings.cpp:147
 #, kde-format
 msgctxt "Symbol of degree, no space"
 msgid "%1°"
-msgstr ""
+msgstr "%1°"
 
 #: src/formatstrings.cpp:158
 #, kde-format
 msgctxt "Focal length given in mm"
 msgid "%1 mm"
-msgstr ""
+msgstr "%1 mm"
 
 #: src/formatstrings.cpp:163
 #, kde-format
 msgctxt "Symbol of frames per second, with space"
 msgid "%1 fps"
-msgstr ""
+msgstr "%1 fps"
 
 #: src/formatstrings.cpp:173
 #, kde-format
 msgctxt "Time period given in seconds as rational number, denominator is given"
 msgid "1/%1 s"
-msgstr ""
+msgstr "1/%1 s"
 
 #: src/formatstrings.cpp:176
 #, kde-format
 msgctxt "Time period given in seconds"
 msgid "%1 s"
-msgstr ""
+msgstr "%1 s"
 
 #: src/formatstrings.cpp:192
 #, kde-format
 msgctxt "Exposure bias/compensation in exposure value (EV)"
 msgid "%1 EV"
-msgstr ""
+msgstr "%1 EV"
 
 #: src/formatstrings.cpp:206
 #, kde-format
 msgctxt ""
 "Exposure compensation given as integral with fraction, in exposure value (EV)"
 msgid "%1 %2/%3 EV"
-msgstr ""
+msgstr "%1 %2/%3 EV"
 
 #: src/formatstrings.cpp:209
 #, kde-format
 msgctxt "Exposure compensation given as rational, in exposure value (EV)"
 msgid "%1/%2 EV"
-msgstr ""
+msgstr "%1/%2 EV"
 
 #: src/formatstrings.cpp:214
 #, kde-format
 msgctxt "Aspect ratio, normalized to one"
 msgid "%1:1"
-msgstr ""
+msgstr "%1:1"
 
 #: src/formatstrings.cpp:219
 #, kde-format
 msgctxt "F number for photographs"
 msgid "f/%1"
-msgstr ""
+msgstr "f/%1"
 
 #: src/propertyinfo.cpp:64
 #, kde-format
@@ -352,12 +348,10 @@
 msgstr "Kommentaar"
 
 #: src/propertyinfo.cpp:115
-#, fuzzy, kde-format
-#| msgctxt "@label"
-#| msgid "Duration"
+#, kde-format
 msgctxt "@label"
 msgid "Description"
-msgstr "Kestus"
+msgstr "Kirjeldus"
 
 #: src/propertyinfo.cpp:122
 #, kde-format
@@ -393,7 +387,7 @@
 #, kde-format
 msgctxt "@label"
 msgid "Document Generated By"
-msgstr ""
+msgstr "Dokumendi valmistas"
 
 #: src/propertyinfo.cpp:168
 #, kde-format
@@ -417,15 +411,13 @@
 #, kde-format
 msgctxt "@label EXIF"
 msgid "Manufacturer"
-msgstr ""
+msgstr "Tootja"
 
 #: src/propertyinfo.cpp:194
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Image Model"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Model"
-msgstr "Pildi mudel"
+msgstr "Mudel"
 
 #: src/propertyinfo.cpp:201
 #, kde-format
@@ -464,148 +456,112 @@
 msgstr "Lehekülgede arv"
 
 #: src/propertyinfo.cpp:240
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Aperture Value"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Aperture Value"
-msgstr "Foto ava väärtus"
+msgstr "Ava väärtus"
 
 #: src/propertyinfo.cpp:247
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Original Date Time"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Original Date Time"
-msgstr "Foto originaali kuupäev ja kellaaeg"
+msgstr "Originaali kuupäev ja kellaaeg"
 
 #: src/propertyinfo.cpp:254
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Exposure Bias"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Exposure Bias"
-msgstr "Foto särinihe"
+msgstr "Särinihe"
 
 #: src/propertyinfo.cpp:261
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Exposure Time"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Exposure Time"
-msgstr "Foto säriaeg"
+msgstr "Säriaeg"
 
 #: src/propertyinfo.cpp:268
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Flash"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Flash"
-msgstr "Foto välklamp"
+msgstr "Välklamp"
 
 #: src/propertyinfo.cpp:275
-#, fuzzy, kde-format
-#| msgctxt "@label music track number"
-#| msgid "Track Number"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "F Number"
-msgstr "Raja number"
+msgstr "F-arv"
 
 #: src/propertyinfo.cpp:282
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Focal Length"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Focal Length"
-msgstr "Foto fookuskaugus"
+msgstr "Fookuskaugus"
 
 #: src/propertyinfo.cpp:289
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Focal Length 35mm"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Focal Length 35mm"
-msgstr "Foto fookuskaugus (35 mm)"
+msgstr "Fookuskaugus (35 mm)"
 
 #: src/propertyinfo.cpp:296
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo GPS Latitude"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "GPS Latitude"
-msgstr "Foto GPS-laiuskraad"
+msgstr "GPS-laiuskraad"
 
 #: src/propertyinfo.cpp:303
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo GPS Longitude"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "GPS Longitude"
-msgstr "Foto GPS-pikkuskraad"
+msgstr "GPS-pikkuskraad"
 
 #: src/propertyinfo.cpp:310
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo GPS Altitude"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "GPS Altitude"
-msgstr "Foto GPS-kõrgus"
+msgstr "GPS-kõrgus"
 
 #: src/propertyinfo.cpp:317
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo ISO Speed Rating"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "ISO Speed Rating"
-msgstr "Foto ISO kiirus"
+msgstr "ISO kiirus"
 
 #: src/propertyinfo.cpp:323
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Metering Mode"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Metering Mode"
-msgstr "Foto mõõterežiim"
+msgstr "Mõõterežiim"
 
 #: src/propertyinfo.cpp:329
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo X Dimension"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "X Dimension"
-msgstr "Foto X-mõõde"
+msgstr "X-mõõde"
 
 #: src/propertyinfo.cpp:335
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Y Dimension"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Y Dimension"
-msgstr "Foto Y-mõõde"
+msgstr "Y-mõõde"
 
 #: src/propertyinfo.cpp:341
-#, fuzzy, kde-format
-#| msgctxt "@label"
-#| msgid "Duration"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Saturation"
-msgstr "Kestus"
+msgstr "Küllastus"
 
 #: src/propertyinfo.cpp:347
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo Sharpness"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "Sharpness"
-msgstr "Foto teravus"
+msgstr "Teravus"
 
 #: src/propertyinfo.cpp:353
-#, fuzzy, kde-format
-#| msgctxt "@label EXIF"
-#| msgid "Photo White Balance"
+#, kde-format
 msgctxt "@label EXIF"
 msgid "White Balance"
-msgstr "Foto värvustasakaal"
+msgstr "Värvustasakaal"
 
 #: src/propertyinfo.cpp:359
 #, kde-format
@@ -650,32 +606,28 @@
 msgstr "Raja number"
 
 #: src/propertyinfo.cpp:403
-#, fuzzy, kde-format
-#| msgctxt "@label music track number"
-#| msgid "Track Number"
+#, kde-format
 msgctxt "@label music disc number"
 msgid "Disc Number"
-msgstr "Raja number"
+msgstr "Plaadi number"
 
 #: src/propertyinfo.cpp:409
-#, fuzzy, kde-format
-#| msgctxt "@label"
-#| msgid "Duration"
+#, kde-format
 msgctxt "@label"
 msgid "Location"
-msgstr "Kestus"
+msgstr "Asukoht"
 
 #: src/propertyinfo.cpp:415
 #, kde-format
 msgctxt "@label"
 msgid "Performer"
-msgstr ""
+msgstr "Esitaja"
 
 #: src/propertyinfo.cpp:421
 #, kde-format
 msgctxt "@label"
 msgid "Ensemble"
-msgstr ""
+msgstr "Ansambel"
 
 #: src/propertyinfo.cpp:427
 #, kde-format
@@ -687,7 +639,7 @@
 #, kde-format
 msgctxt "@label"
 msgid "Conductor"
-msgstr ""
+msgstr "Dirigent"
 
 #: src/propertyinfo.cpp:439
 #, kde-format
@@ -699,15 +651,13 @@
 #, kde-format
 msgctxt "@label"
 msgid "License"
-msgstr ""
+msgstr "Litsents"
 
 #: src/propertyinfo.cpp:451
-#, fuzzy, kde-format
-#| msgctxt "@label"
-#| msgid "Lyricist"
+#, kde-format
 msgctxt "@label"
 msgid "Lyrics"
-msgstr "Sõnade autor"
+msgstr "Sõnad"
 
 #: src/propertyinfo.cpp:457
 #, kde-format
@@ -719,7 +669,7 @@
 #, kde-format
 msgctxt "@label"
 msgid "Rating"
-msgstr ""
+msgstr "Hinnang"
 
 #: src/propertyinfo.cpp:469
 #, kde-format
@@ -794,9 +744,7 @@
 msgstr "Malli loomise aeg"
 
 #: src/propertyinfo.cpp:555
-#, fuzzy, kde-format
-#| msgctxt "@label the URL a file was originally downloded from"
-#| msgid "Downloaded From"
+#, kde-format
 msgctxt "@label the URL a file was originally downloaded from"
 msgid "Downloaded From"
 msgstr "Allalaadimise asukoht"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/po/id/kfilemetadata5.po 
new/kfilemetadata-5.64.0/po/id/kfilemetadata5.po
--- old/kfilemetadata-5.63.0/po/id/kfilemetadata5.po    2019-10-06 
11:45:27.000000000 +0200
+++ new/kfilemetadata-5.64.0/po/id/kfilemetadata5.po    2019-11-02 
13:55:38.000000000 +0100
@@ -15,7 +15,6 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 19.04.3\n"
 
 #: src/formatstrings.cpp:77
 #, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/po/sk/kfilemetadata5.po 
new/kfilemetadata-5.64.0/po/sk/kfilemetadata5.po
--- old/kfilemetadata-5.63.0/po/sk/kfilemetadata5.po    2019-10-06 
11:45:27.000000000 +0200
+++ new/kfilemetadata-5.64.0/po/sk/kfilemetadata5.po    2019-11-02 
13:55:38.000000000 +0100
@@ -1,19 +1,19 @@
 # translation of kfilemetadata.po to Slovak
-# Roman Paholik <[email protected]>, 2014, 2015, 2016.
+# Roman Paholik <[email protected]>, 2014, 2015, 2016, 2019.
 # Matej Mrenica <[email protected]>, 2019.
 msgid ""
 msgstr ""
 "Project-Id-Version: kfilemetadata\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-07-19 02:55+0200\n"
-"PO-Revision-Date: 2019-09-01 10:34+0200\n"
-"Last-Translator: Matej Mrenica <[email protected]>\n"
-"Language-Team: Slovak <[email protected]>\n"
+"PO-Revision-Date: 2019-10-18 21:01+0200\n"
+"Last-Translator: Roman Paholík <[email protected]>\n"
+"Language-Team: Slovak <[email protected]>\n"
 "Language: sk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 19.08.0\n"
+"X-Generator: Lokalize 19.04.3\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
 #: src/formatstrings.cpp:77
@@ -59,7 +59,7 @@
 msgstr "Otočené o 90° proti smere"
 
 #: src/formatstrings.cpp:97
-#, fuzzy, kde-format
+#, kde-format
 msgctxt "Description of image orientation"
 msgid "Transversed"
 msgstr "Pretočený"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/po/zh_CN/kfilemetadata5.po 
new/kfilemetadata-5.64.0/po/zh_CN/kfilemetadata5.po
--- old/kfilemetadata-5.63.0/po/zh_CN/kfilemetadata5.po 2019-10-06 
11:45:27.000000000 +0200
+++ new/kfilemetadata-5.64.0/po/zh_CN/kfilemetadata5.po 2019-11-02 
13:55:38.000000000 +0100
@@ -10,7 +10,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-07-19 02:55+0200\n"
-"PO-Revision-Date: 2019-09-05 09:24\n"
+"PO-Revision-Date: 2019-10-09 09:45\n"
 "Last-Translator: Guo Yunhe (guoyunhe)\n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/src/CMakeLists.txt 
new/kfilemetadata-5.64.0/src/CMakeLists.txt
--- old/kfilemetadata-5.63.0/src/CMakeLists.txt 2019-10-06 11:45:27.000000000 
+0200
+++ new/kfilemetadata-5.64.0/src/CMakeLists.txt 2019-11-02 13:55:38.000000000 
+0100
@@ -51,7 +51,15 @@
     )
 endif()
 
-generate_export_header(KF5FileMetaData BASE_NAME KFileMetaData 
EXPORT_FILE_NAME kfilemetadata_export.h)
+ecm_generate_export_header(KF5FileMetaData
+    EXPORT_FILE_NAME kfilemetadata_export.h
+    BASE_NAME KFileMetaData
+    GROUP_BASE_NAME KF
+    VERSION ${KF5_VERSION}
+    DEPRECATED_BASE_VERSION 0
+    DEPRECATION_VERSIONS 5.50 5.60
+    EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
+)
 
 set_target_properties(KF5FileMetaData PROPERTIES
     VERSION ${KFILEMETADATA_VERSION_STRING}
@@ -122,6 +130,7 @@
             KFILEMETADATA_EXPORT
             KFILEMETADATA_DEPRECATED
             KFILEMETADATA_DEPRECATED_EXPORT
+            "KFILEMETADATA_DEPRECATED_VERSION(x, y, t)"
         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
         COMPONENT Devel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/src/properties.h 
new/kfilemetadata-5.64.0/src/properties.h
--- old/kfilemetadata-5.63.0/src/properties.h   2019-10-06 11:45:27.000000000 
+0200
+++ new/kfilemetadata-5.64.0/src/properties.h   2019-11-02 13:55:38.000000000 
+0100
@@ -21,6 +21,8 @@
 #ifndef KFILEMETADATA_PROPERTIES
 #define KFILEMETADATA_PROPERTIES
 
+#include "kfilemetadata_export.h"
+
 #include <QMap>
 #include <QVariant>
 
@@ -162,17 +164,20 @@
     LineCount,
 
     /**
-     * Same as @c Language.
-     * @deprecated Since 5.50, use @c Language instead
-     */
-    Langauge,
-    /**
      * The language the document is written in. This directly maps to the
      * 'dc:language' tag from DublinCore. We do NOT employ any language
      * detection schemes on the text.
      * @since 5.50
      */
-    Language = Langauge,
+    Language,
+
+#if KFILEMETADATA_ENABLE_DEPRECATED_SINCE(5, 50)
+    /**
+     * Same as @c Language.
+     * @deprecated Since 5.50, use @c Language instead
+     */
+    Langauge = Language,
+#endif
 
     /**
      * The copyright of the file. Represented as a string.
@@ -222,28 +227,34 @@
     FrameRate,
 
     /**
-     * Same as @c EquipmentManufacturer.
-     * @deprecated Since 5.60, use @c Manufacturer instead
-     */
-    ImageMake,
-    /**
      * The manufacturer of the equipment used for generating the file
      * and metadata. Typically maps to the 'Exif.Image.Make' tag.
      * @since 5.60
      */
-    Manufacturer = ImageMake,
+    Manufacturer,
 
+#if KFILEMETADATA_ENABLE_DEPRECATED_SINCE(5, 60)
     /**
-     * Same as @c EquipmentModel.
-     * @deprecated Since 5.60, use @c Model instead
+     * Same as @c Manufacturer.
+     * @deprecated Since 5.60, use @c Manufacturer instead
      */
-    ImageModel,
+    ImageMake = Manufacturer,
+#endif
+
     /**
      * The model name of the equipment used for generating the file
      * and metadata. Typically maps to the 'Exif.Image.Model' tag.
      * @since 5.60
      */
-    Model = ImageModel,
+    Model,
+
+#if KFILEMETADATA_ENABLE_DEPRECATED_SINCE(5, 60)
+    /**
+     * Same as @c Model.
+     * @deprecated Since 5.60, use @c Model instead
+     */
+    ImageModel = Model,
+#endif
 
     ImageDateTime,
     ImageOrientation,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/src/writer.cpp 
new/kfilemetadata-5.64.0/src/writer.cpp
--- old/kfilemetadata-5.63.0/src/writer.cpp     2019-10-06 11:45:27.000000000 
+0200
+++ new/kfilemetadata-5.64.0/src/writer.cpp     2019-11-02 13:55:38.000000000 
+0100
@@ -28,25 +28,33 @@
 using namespace KFileMetaData;
 
 Writer::Writer()
-    : d_ptr(new WriterPrivate)
+    : d(new WriterPrivate)
 {
 }
 
 Writer::~Writer()
 {
-    Q_D(Writer);
-    delete d->m_plugin;
-    delete d_ptr;
+    delete d;
 }
 
+Writer::Writer(Writer&& other)
+{
+    d = other.d;
+    other.d = nullptr;
+}
+
+
 void Writer::write(const WriteData& data)
 {
-    Q_D(Writer);
     d->m_plugin->write(data);
 }
 
 QStringList Writer::mimetypes() const
 {
-    Q_D(const Writer);
     return d->m_plugin->writeMimetypes();
 }
+
+void Writer::setAutoDeletePlugin(WriterPluginOwnership autoDelete)
+{
+    d->m_autoDeletePlugin = autoDelete;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/src/writer.h 
new/kfilemetadata-5.64.0/src/writer.h
--- old/kfilemetadata-5.63.0/src/writer.h       2019-10-06 11:45:27.000000000 
+0200
+++ new/kfilemetadata-5.64.0/src/writer.h       2019-11-02 13:55:38.000000000 
+0100
@@ -38,7 +38,15 @@
  */
 class KFILEMETADATA_EXPORT Writer
 {
+    class WriterPrivate;
+
+    enum WriterPluginOwnership {
+        AutoDeletePlugin,
+        DoNotDeletePlugin,
+    };
+
 public:
+    Writer(Writer&&);
     virtual ~Writer();
 
     void write(const WriteData& data);
@@ -50,10 +58,9 @@
 
     void operator =(const Writer&);
 
-    class WriterPrivate;
-    WriterPrivate *d_ptr;
-    Q_DECLARE_PRIVATE(Writer)
+    void setAutoDeletePlugin(WriterPluginOwnership autoDelete);
 
+    WriterPrivate *d;
     friend class WriterCollection;
 };
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/src/writer_p.h 
new/kfilemetadata-5.64.0/src/writer_p.h
--- old/kfilemetadata-5.63.0/src/writer_p.h     2019-10-06 11:45:27.000000000 
+0200
+++ new/kfilemetadata-5.64.0/src/writer_p.h     2019-11-02 13:55:38.000000000 
+0100
@@ -24,14 +24,24 @@
 #ifndef KFILEMETADATA_WRITER_P_H
 #define KFILEMETADATA_WRITER_P_H
 
+#include "writerplugin.h"
+
 namespace KFileMetaData {
 
 class WriterPlugin;
 
-class Q_DECL_HIDDEN Writer::WriterPrivate
+class Writer::WriterPrivate
 {
 public:
+    ~WriterPrivate() {
+        if (m_autoDeletePlugin == AutoDeletePlugin) {
+            delete m_plugin;
+        }
+    }
+
     WriterPlugin *m_plugin = nullptr;
+
+    WriterPluginOwnership m_autoDeletePlugin = AutoDeletePlugin;
 };
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/src/writercollection.cpp 
new/kfilemetadata-5.64.0/src/writercollection.cpp
--- old/kfilemetadata-5.63.0/src/writercollection.cpp   2019-10-06 
11:45:27.000000000 +0200
+++ new/kfilemetadata-5.64.0/src/writercollection.cpp   2019-11-02 
13:55:38.000000000 +0100
@@ -32,6 +32,8 @@
 #include <QCoreApplication>
 #include <QPluginLoader>
 #include <QDir>
+#include <QMimeDatabase>
+#include <vector>
 
 using namespace KFileMetaData;
 
@@ -40,32 +42,23 @@
 public:
     QHash<QString, Writer*> m_writers;
 
-    QList<Writer*> allWriters() const;
+    std::vector<Writer> m_allWriters;
+
+    void findWriters();
 };
 
 WriterCollection::WriterCollection()
-    : d_ptr(new WriterCollectionPrivate)
+    : d(new WriterCollectionPrivate)
 {
-    Q_D(WriterCollection);
-    const QList<Writer*> all = d->allWriters();
-
-    for (Writer* writer : all) {
-        const QStringList lst = writer->mimetypes();
-        for (const QString& type : lst) {
-            d->m_writers.insertMulti(type, writer);
-        }
-    }
+    d->findWriters();
 }
 
 WriterCollection::~WriterCollection()
 {
-    Q_D(WriterCollection);
-    qDeleteAll(d->m_writers.begin(), d->m_writers.end());
     delete d;
 }
 
-
-QList<Writer*> WriterCollection::WriterCollectionPrivate::allWriters() const
+void WriterCollection::WriterCollectionPrivate::findWriters()
 {
     QStringList plugins;
     QStringList pluginPaths;
@@ -106,7 +99,6 @@
     }
     externalPlugins.clear();
 
-    QList<Writer*> writers;
     for (const QString& pluginPath : qAsConst(pluginPaths)) {
         QPluginLoader loader(pluginPath);
 
@@ -120,10 +112,11 @@
         if (obj) {
             WriterPlugin* plugin = qobject_cast<WriterPlugin*>(obj);
             if (plugin) {
-                Writer* writer = new Writer;
-                writer->d_ptr->m_plugin = plugin;
+                Writer writer;
+                writer.d->m_plugin = plugin;
+                writer.setAutoDeletePlugin(Writer::DoNotDeletePlugin);
 
-                writers << writer;
+                m_allWriters.push_back(std::move(writer));
             } else {
                 qCDebug(KFILEMETADATA_LOG) << "Plugin could not be converted 
to a WriterPlugin";
                 qCDebug(KFILEMETADATA_LOG) << pluginPath;
@@ -136,24 +129,41 @@
 
     for (const QString& externalPluginPath : qAsConst(externalPluginPaths)) {
         ExternalWriter *plugin = new ExternalWriter(externalPluginPath);
-        Writer* writer = new Writer;
-        writer->d_ptr->m_plugin = plugin;
+        Writer writer;
+        writer.d->m_plugin = plugin;
+        writer.setAutoDeletePlugin(Writer::AutoDeletePlugin);
 
-        writers << writer;
+        m_allWriters.push_back(std::move(writer));
     }
 
-    return writers;
+    for (Writer& writer : m_allWriters) {
+        const QStringList lst = writer.mimetypes();
+        for (const QString& type : lst) {
+            m_writers.insertMulti(type, &writer);
+        }
+    }
 }
 
 QList<Writer*> WriterCollection::fetchWriters(const QString& mimetype) const
 {
-    Q_D(const WriterCollection);
     QList<Writer*> plugins = d->m_writers.values(mimetype);
-    if (plugins.isEmpty()) {
-        auto it = d->m_writers.constBegin();
-        for (; it != d->m_writers.constEnd(); ++it) {
-            if (mimetype.startsWith(it.key()))
-                plugins << it.value();
+    if (!plugins.isEmpty()) {
+        return plugins;
+    }
+
+    // try to find the best matching more generic writer by mimetype 
inheritance
+    QMimeDatabase db;
+    auto type = db.mimeTypeForName(mimetype);
+    const QStringList ancestors = type.allAncestors();
+
+    for (const auto &ancestor : ancestors) {
+        if (ancestor == QLatin1String("application/octet-stream")) {
+            continue;
+        }
+        QList<Writer*> plugins = d->m_writers.values(ancestor);
+        if (!plugins.isEmpty()) {
+            qCDebug(KFILEMETADATA_LOG) << "Using inherited mimetype" << 
ancestor <<  "for" << mimetype;
+            return plugins;
         }
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/src/writercollection.h 
new/kfilemetadata-5.64.0/src/writercollection.h
--- old/kfilemetadata-5.63.0/src/writercollection.h     2019-10-06 
11:45:27.000000000 +0200
+++ new/kfilemetadata-5.64.0/src/writercollection.h     2019-11-02 
13:55:38.000000000 +0100
@@ -45,8 +45,7 @@
 
 private:
     class WriterCollectionPrivate;
-    WriterCollectionPrivate* d_ptr;
-    Q_DECLARE_PRIVATE(WriterCollection)
+    WriterCollectionPrivate* d;
 };
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kfilemetadata-5.63.0/src/writers/CMakeLists.txt 
new/kfilemetadata-5.64.0/src/writers/CMakeLists.txt
--- old/kfilemetadata-5.63.0/src/writers/CMakeLists.txt 2019-10-06 
11:45:27.000000000 +0200
+++ new/kfilemetadata-5.64.0/src/writers/CMakeLists.txt 2019-11-02 
13:55:38.000000000 +0100
@@ -7,6 +7,7 @@
         ${TAGLIB_LIBRARIES}
     )
 
+    set_target_properties(kfilemetadata_taglibwriter PROPERTIES 
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf5/kfilemetadata/writers")
     install(
     TARGETS kfilemetadata_taglibwriter
     DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kfilemetadata/writers)


Reply via email to