Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kdegraphics-thumbnailers for 
openSUSE:Factory checked in at 2023-04-23 22:44:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdegraphics-thumbnailers (Old)
 and      /work/SRC/openSUSE:Factory/.kdegraphics-thumbnailers.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdegraphics-thumbnailers"

Sun Apr 23 22:44:11 2023 rev:151 rq:1080582 version:23.04.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/kdegraphics-thumbnailers/kdegraphics-thumbnailers.changes
        2023-03-03 22:25:52.758832013 +0100
+++ 
/work/SRC/openSUSE:Factory/.kdegraphics-thumbnailers.new.1533/kdegraphics-thumbnailers.changes
      2023-04-23 22:45:19.533986644 +0200
@@ -1,0 +2,20 @@
+Sat Apr 15 08:45:38 UTC 2023 - Christophe Marin <[email protected]>
+
+- Update to 23.04.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/gear/23.04.0/
+
+-------------------------------------------------------------------
+Fri Mar 31 16:41:53 UTC 2023 - Christophe Marin <[email protected]>
+
+- Update to 23.03.90
+  * New feature release
+
+-------------------------------------------------------------------
+Fri Mar 17 20:43:21 UTC 2023 - Christophe Marin <[email protected]>
+
+- Update to 23.03.80
+  * New feature release
+
+-------------------------------------------------------------------

Old:
----
  kdegraphics-thumbnailers-22.12.3.tar.xz
  kdegraphics-thumbnailers-22.12.3.tar.xz.sig

New:
----
  kdegraphics-thumbnailers-23.04.0.tar.xz
  kdegraphics-thumbnailers-23.04.0.tar.xz.sig

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

Other differences:
------------------
++++++ kdegraphics-thumbnailers.spec ++++++
--- /var/tmp/diff_new_pack.NRHjCt/_old  2023-04-23 22:45:20.301990984 +0200
+++ /var/tmp/diff_new_pack.NRHjCt/_new  2023-04-23 22:45:20.309991029 +0200
@@ -16,11 +16,9 @@
 #
 
 
-# Latest stable Applications (e.g. 17.08 in KA, but 17.11.80 in KUA)
-%{!?_kapp_version: %define _kapp_version %(echo %{version}| awk -F. '{print 
$1"."$2}')}
 %bcond_without released
 Name:           kdegraphics-thumbnailers
-Version:        22.12.3
+Version:        23.04.0
 Release:        0
 Summary:        Graphics file thumbnail generators
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later


++++++ kdegraphics-thumbnailers-22.12.3.tar.xz -> 
kdegraphics-thumbnailers-23.04.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdegraphics-thumbnailers-22.12.3/CMakeLists.txt 
new/kdegraphics-thumbnailers-23.04.0/CMakeLists.txt
--- old/kdegraphics-thumbnailers-22.12.3/CMakeLists.txt 2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/CMakeLists.txt 2023-03-12 
05:49:53.000000000 +0100
@@ -2,7 +2,7 @@
 project(kdegraphics-thumbnailers)
 
 set(QT_MIN_VERSION "5.15.2")
-set(KF5_MIN_VERSION "5.90.0")
+set(KF5_MIN_VERSION "5.92.0")
 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
 set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -14,6 +14,7 @@
 include(KDECMakeSettings)
 include(KDECompilerSettings NO_POLICY_SCOPE)
 include(FeatureSummary)
+include(ECMDeprecationSettings)
 
 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED 
COMPONENTS Gui)
 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS KIO)
@@ -55,6 +56,9 @@
 )
 
 
+ecm_set_disabled_deprecation_versions(QT 5.15.2 KF 5.100.0
+    )
+
 ecm_optional_add_subdirectory(ps)
 
 if(KF5KExiv2_FOUND AND KF5KDcraw_FOUND)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/blend/CMakeLists.txt 
new/kdegraphics-thumbnailers-23.04.0/blend/CMakeLists.txt
--- old/kdegraphics-thumbnailers-22.12.3/blend/CMakeLists.txt   2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/blend/CMakeLists.txt   2023-03-12 
05:49:53.000000000 +0100
@@ -5,9 +5,11 @@
     blendercreator.cpp
 )
 
+kcoreaddons_desktop_to_json(blenderthumbnail blenderthumbnail.desktop)
+
 ## includes and linking
 target_link_libraries(blenderthumbnail
-    KF5::KIOWidgets
+    KF5::KIOGui
     KF5::Archive
     Qt::Core
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/blend/blendercreator.cpp 
new/kdegraphics-thumbnailers-23.04.0/blend/blendercreator.cpp
--- old/kdegraphics-thumbnailers-22.12.3/blend/blendercreator.cpp       
2023-02-03 04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/blend/blendercreator.cpp       
2023-03-12 05:49:53.000000000 +0100
@@ -24,27 +24,26 @@
 #include <QImage>
 #include <QPointer>
 #include <QtEndian>
+
 #include <KCompressionDevice>
+#include <KPluginFactory>
+
+K_PLUGIN_CLASS_WITH_JSON(BlenderCreator, "blenderthumbnail.json")
 
-extern "C"
+BlenderCreator::BlenderCreator(QObject *parent, const QVariantList &args)
+    : KIO::ThumbnailCreator(parent, args)
 {
-    Q_DECL_EXPORT ThumbCreator *new_creator()
-    {
-        return new BlenderCreator;
-    }
 }
 
-BlenderCreator::BlenderCreator() = default;
-
 BlenderCreator::~BlenderCreator() = default;
 
 // For more info. see 
https://developer.blender.org/diffusion/B/browse/master/release/bin/blender-thumbnailer.py
 
-bool BlenderCreator::create(const QString &path, int width , int height, 
QImage &img)
+KIO::ThumbnailResult BlenderCreator::create(const KIO::ThumbnailRequest 
&request)
 {
-    QFile file (path);
+    QFile file (request.url().toLocalFile());
     if(!file.open(QIODevice::ReadOnly)) {
-        return false;
+        return KIO::ThumbnailResult::fail();
     }
 
     QDataStream blendStream;
@@ -53,11 +52,11 @@
     QPointer<KCompressionDevice> gzFile;
     if(file.peek(2).startsWith("\x1F\x8B")) { // gzip magic (each gzip member 
starts with ID1(0x1f) and ID2(0x8b))
         file.close();
-        gzFile = new KCompressionDevice(path, KCompressionDevice::GZip);
+        gzFile = new KCompressionDevice(request.url().toLocalFile(), 
KCompressionDevice::GZip);
         if (gzFile->open(QIODevice::ReadOnly)) {
             blendStream.setDevice(gzFile);
         } else {
-            return false;
+            return KIO::ThumbnailResult::fail();
         }
     }
 
@@ -75,7 +74,7 @@
     blendStream.readRawData(head.data(), 12);
     if(!head.startsWith("BLENDER") || head.right(3).toInt() < 250 /*blender 
pre 2.5 had no thumbs*/) {
         blendStream.device()->close();
-        return false;
+        return KIO::ThumbnailResult::fail();
     }
 
     // Next is file block. This we have to skip.
@@ -100,7 +99,7 @@
     while (true) {
         const int read = blendStream.readRawData(fileBlockHeader.data(), 
fileBlockHeaderSize);
         if (read != fileBlockHeaderSize) {
-            return false;
+            return KIO::ThumbnailResult::fail();
         }
         fileBlockSize = toInt32(fileBlockHeader.mid(4, 4)); // second header 
field
         // skip actual file-block data.
@@ -113,7 +112,7 @@
 
     if(!fileBlockHeader.startsWith("TEST")) {
         blendStream.device()->close();
-        return false;
+        return KIO::ThumbnailResult::fail();
     }
 
     // Now comes actual thumbnail image data.
@@ -125,22 +124,24 @@
     qint32 imgSize = fileBlockSize - 8;
     if (imgSize != x * y * 4) {
         blendStream.device()->close();
-        return false;
+        return KIO::ThumbnailResult::fail();
     }
 
     QByteArray imgBuffer(imgSize, '\0');
     blendStream.readRawData(imgBuffer.data(), imgSize);
     QImage thumbnail((const uchar*)imgBuffer.constData(), x, y, 
QImage::Format_ARGB32);
-    if(width != 128) {
-        thumbnail = thumbnail.scaledToWidth(width, Qt::SmoothTransformation);
+    if(request.targetSize().width() != 128) {
+        thumbnail = thumbnail.scaledToWidth(request.targetSize().width(), 
Qt::SmoothTransformation);
     }
-    if(height != 128) {
-        thumbnail = thumbnail.scaledToHeight(height, Qt::SmoothTransformation);
+    if(request.targetSize().height() != 128) {
+        thumbnail = thumbnail.scaledToHeight(request.targetSize().height(), 
Qt::SmoothTransformation);
     }
     thumbnail = thumbnail.rgbSwapped();
     thumbnail = thumbnail.mirrored();
-    img = thumbnail.convertToFormat(QImage::Format_ARGB32_Premultiplied);
+    QImage img = 
thumbnail.convertToFormat(QImage::Format_ARGB32_Premultiplied);
 
     blendStream.device()->close();
-    return true;
+    return !img.isNull() ? KIO::ThumbnailResult::pass(img) : 
KIO::ThumbnailResult::fail();
 }
+
+#include "blendercreator.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/blend/blendercreator.h 
new/kdegraphics-thumbnailers-23.04.0/blend/blendercreator.h
--- old/kdegraphics-thumbnailers-22.12.3/blend/blendercreator.h 2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/blend/blendercreator.h 2023-03-12 
05:49:53.000000000 +0100
@@ -21,15 +21,15 @@
 #ifndef _BLENDCREATOR_H_
 #define _BLENDCREATOR_H_
 
-#include <KIO/ThumbCreator>
+#include <KIO/ThumbnailCreator>
 
-class BlenderCreator : public ThumbCreator
+class BlenderCreator : public KIO::ThumbnailCreator
 {
 public:
-    BlenderCreator();
+    BlenderCreator(QObject *parent, const QVariantList &args);
     ~BlenderCreator() override;
 
-    bool create(const QString &path, int width, int height, QImage &img) 
override;
+    KIO::ThumbnailResult create(const KIO::ThumbnailRequest &request) override;
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/blend/blenderthumbnail.desktop 
new/kdegraphics-thumbnailers-23.04.0/blend/blenderthumbnail.desktop
--- old/kdegraphics-thumbnailers-22.12.3/blend/blenderthumbnail.desktop 
2023-02-03 04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/blend/blenderthumbnail.desktop 
2023-03-12 05:49:53.000000000 +0100
@@ -10,6 +10,7 @@
 Name[de]=Blender-Dateien
 Name[el]=Αρχεία Blender
 Name[en_GB]=Blender files
+Name[eo]=Blender-dosieroj
 Name[es]=Archivos de Blender
 Name[et]=Blenderi failid
 Name[eu]=Blender fitxategiak
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/mobipocket/CMakeLists.txt 
new/kdegraphics-thumbnailers-23.04.0/mobipocket/CMakeLists.txt
--- old/kdegraphics-thumbnailers-22.12.3/mobipocket/CMakeLists.txt      
2023-02-03 04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/mobipocket/CMakeLists.txt      
2023-03-12 05:49:53.000000000 +0100
@@ -1,22 +1,10 @@
-include_directories(
-                    ${CMAKE_CURRENT_SOURCE_DIR}
-                    ${PROJECT_SOURCE_DIR}/lib
-                   )
+add_library(mobithumbnail MODULE)
 
-########### next target ###############
+target_sources(mobithumbnail PRIVATE mobithumbnail.cpp)
 
-set(mobithumbnail_SRCS
-  mobithumbnail.cpp
-)
+kcoreaddons_desktop_to_json(mobithumbnail mobithumbnail.desktop)
 
-find_package(KF5 REQUIRED
-    KIO
-    )
-
-add_library(mobithumbnail MODULE ${mobithumbnail_SRCS})
-target_link_libraries(mobithumbnail KF5::KIOCore KF5::KIOWidgets Qt::Gui 
qmobipocket)
+target_link_libraries(mobithumbnail KF5::KIOCore KF5::KIOGui Qt::Gui 
qmobipocket)
 install(TARGETS mobithumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR})
 
-########### install files ###############
-
 install( FILES mobithumbnail.desktop  DESTINATION  ${KDE_INSTALL_KSERVICESDIR} 
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/mobipocket/mobithumbnail.cpp 
new/kdegraphics-thumbnailers-23.04.0/mobipocket/mobithumbnail.cpp
--- old/kdegraphics-thumbnailers-22.12.3/mobipocket/mobithumbnail.cpp   
2023-02-03 04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/mobipocket/mobithumbnail.cpp   
2023-03-12 05:49:53.000000000 +0100
@@ -13,22 +13,24 @@
 
 #include <QFile>
 
-extern "C"
+#include <KPluginFactory>
+
+K_PLUGIN_CLASS_WITH_JSON(MobiThumbnail, "mobithumbnail.json")
+
+MobiThumbnail::MobiThumbnail(QObject *parent, const QVariantList &args)
+    : KIO::ThumbnailCreator(parent, args)
 {
-    Q_DECL_EXPORT ThumbCreator *new_creator()
-    {
-        return new MobiThumbnail;
-    }
 }
 
-bool MobiThumbnail::create(const QString &path, int width, int height, QImage 
&img)
+KIO::ThumbnailResult MobiThumbnail::create(const KIO::ThumbnailRequest 
&request)
 {
-    Q_UNUSED(width);
-    Q_UNUSED(height);
-    
-    Mobipocket::QFileStream f(path);
+    Mobipocket::QFileStream f(request.url().toLocalFile());
     Mobipocket::Document doc(&f);
-    if (!doc.isValid()) return false;
-    img=doc.thumbnail();
-    return !img.isNull();
+    if (!doc.isValid()) {
+        return KIO::ThumbnailResult::fail();
+    }
+    QImage img = doc.thumbnail();
+    return !img.isNull() ? KIO::ThumbnailResult::pass(img) : 
KIO::ThumbnailResult::fail();
 }
+
+#include "mobithumbnail.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/mobipocket/mobithumbnail.desktop 
new/kdegraphics-thumbnailers-23.04.0/mobipocket/mobithumbnail.desktop
--- old/kdegraphics-thumbnailers-22.12.3/mobipocket/mobithumbnail.desktop       
2023-02-03 04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/mobipocket/mobithumbnail.desktop       
2023-03-12 05:49:53.000000000 +0100
@@ -9,6 +9,7 @@
 Name[da]=Mobipocket-filer
 Name[de]=Mobipocket-Dateien
 Name[en_GB]=Mobipocket Files
+Name[eo]=Mobipocket-dosieroj
 Name[es]=Archivos de Mobipocket
 Name[et]=Mobipocketi failid
 Name[eu]=Mobipocket fitxategiak
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/mobipocket/mobithumbnail.h 
new/kdegraphics-thumbnailers-23.04.0/mobipocket/mobithumbnail.h
--- old/kdegraphics-thumbnailers-22.12.3/mobipocket/mobithumbnail.h     
2023-02-03 04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/mobipocket/mobithumbnail.h     
2023-03-12 05:49:53.000000000 +0100
@@ -10,13 +10,13 @@
 #ifndef MOBITHUMBNAIL_H
 #define MOBITHUMBNAIL_H
 
-#include <kio/thumbcreator.h>
+#include <KIO/ThumbnailCreator>
 
-class MobiThumbnail : public ThumbCreator
+class MobiThumbnail : public KIO::ThumbnailCreator
 {
 public:
-    MobiThumbnail() {}
-    bool create(const QString &path, int, int, QImage &img) override;
+    MobiThumbnail(QObject *parent, const QVariantList &args);
+    KIO::ThumbnailResult create(const KIO::ThumbnailRequest &request) override;
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/org.kde.kdegraphics-thumbnailers.metainfo.xml
 
new/kdegraphics-thumbnailers-23.04.0/org.kde.kdegraphics-thumbnailers.metainfo.xml
--- 
old/kdegraphics-thumbnailers-22.12.3/org.kde.kdegraphics-thumbnailers.metainfo.xml
  2023-02-03 04:37:52.000000000 +0100
+++ 
new/kdegraphics-thumbnailers-23.04.0/org.kde.kdegraphics-thumbnailers.metainfo.xml
  2023-03-12 05:49:53.000000000 +0100
@@ -16,6 +16,7 @@
   <name xml:lang="de">kdegraphics-thumbnailers</name>
   <name xml:lang="el">kdegraphics-thumbnailers</name>
   <name xml:lang="en-GB">kdegraphics-thumbnailers</name>
+  <name xml:lang="eo">kdegraphics-thumbnailers</name>
   <name xml:lang="es">kdegraphics-thumbnailers</name>
   <name xml:lang="et">kdegraphics-thumbnailers</name>
   <name xml:lang="eu">kdegraphics-koadro-txiki-egileak</name>
@@ -45,7 +46,7 @@
   <name xml:lang="zh-CN">kdegraphics-thumbnailers</name>
   <name xml:lang="zh-TW">kdegraphics-thumbnailers</name>
   <summary>Graphics file format thumbnailers for KDE applications</summary>
-  <summary xml:lang="ar">مصغرات لملفات الرسوميات 
لتطبيقات كدي</summary>
+  <summary xml:lang="ar">مصغرات لملفات الرسوميات 
لتطبيقات كِيدِي</summary>
   <summary xml:lang="bg">Graphics file format thumbnailers for KDE 
applications</summary>
   <summary xml:lang="ca">Miniatures per als formats de fitxer de gràfics per 
a les aplicacions KDE</summary>
   <summary xml:lang="ca-valencia">Miniatures per als formats de fitxer de grà
fics per a les aplicacions KDE</summary>
@@ -53,6 +54,7 @@
   <summary xml:lang="de">Vorschaubilder von grafischen Dateiformaten für 
KDE-Anwendungen</summary>
   <summary xml:lang="el">Εικόνες επισκόπησης tvn τύπων 
αποθήκευσης αρχείων γραφικών για τις 
εφαρmογές του KDE</summary>
   <summary xml:lang="en-GB">Graphics file format thumbnailers for KDE 
applications</summary>
+  <summary xml:lang="eo">Grafikdosierformataj bildetigiloj por 
KDE-apliaĵoj</summary>
   <summary xml:lang="es">Generadores de miniaturas de formatos gráficos para 
aplicaciones de KDE</summary>
   <summary xml:lang="et">Graafikafaili vormingus pisipildid KDE 
rakendustele</summary>
   <summary xml:lang="eu">KDE aplikazioetarako formatu grafikoen koadro-txiki 
egilea</summary>
@@ -83,7 +85,7 @@
   <summary xml:lang="zh-TW">適用於 KDE 應用程式的圖形檔案æ 
¼å¼ç¸®åœ–產生工具</summary>
   <description>
     <p>These plugins allow KDE software to create thumbnails for advanced 
graphic file formats PostScript and Raw.</p>
-    <p xml:lang="ar">تسمح هذه المكونات الإضافية 
لبرنامج كدي بإنشاء صور مصغرة لتنسيقات م
لفات الرسوم المتقدمة PostScript و Raw.</p>
+    <p xml:lang="ar">تسمح هذه المكونات الإضافية 
لبرنامج كِيدِي بإنشاء صور مصغرة لتنسيقات م
لفات الرسوم المتقدمة PostScript و Raw.</p>
     <p xml:lang="bg">Тази приставка позволява на 
приложенията на KDE да създават миниатюри на 
разширени графични файлови формати като 
PostScript и Raw. </p>
     <p xml:lang="ca">Aquests connectors permeten que el programari KDE creï 
miniatures per als formats de fitxer de gràfics avançats PostScript i RAW.</p>
     <p xml:lang="ca-valencia">Estos connectors permeten que el programari KDE 
cree miniatures per als formats de fitxer de gràfics avançats PostScript i 
RAW.</p>
@@ -91,6 +93,7 @@
     <p xml:lang="de">Mit diesem Modul können KDE-Anwendungen Vorschaubilder 
für die Grafikformate PostScript und Raw erstellen.</p>
     <p xml:lang="el">Αυτά τα πρόσθετα επιτρέπουν 
στο λογισμικό του KDE να δημιουργεί εικόνες 
επισκόπησης για προηγμένους τύπους 
αποθήκευσης αρχείων PostScript και Raw.</p>
     <p xml:lang="en-GB">These plugins allow KDE software to create thumbnails 
for advanced graphic file formats PostScript and Raw.</p>
+    <p xml:lang="eo">Ĉi tiuj kromprogramoj permesas al KDE-softvaro krei 
bildetojn por progresintajgrafikformatoj PostScript kaj Raw.</p>
     <p xml:lang="es">Estos complementos permiten a las aplicaciones de KDE 
crear miniaturas de los formatos de archivos gráficos avanzados PostScript y 
Raw.</p>
     <p xml:lang="et">Need pluginad lubavad KDE tarkvaral luua pisipilte 
täiustatud graafikafailide vormingutele PostScript ja Raw.</p>
     <p xml:lang="eu">Plugin honek KDE softwareari PostScript eta Raw formatu 
grafiko aurreratuen koadro-txikiak sortzen laguntzen dio.</p>
@@ -134,6 +137,7 @@
       <caption xml:lang="de">Dolphin mit der Vorschau einer 
PostScript-Datei</caption>
       <caption xml:lang="el">Το Dolphin με εικόνα 
επισκόπησης PostScript</caption>
       <caption xml:lang="en-GB">Dolphin with PostScript thumbnail</caption>
+      <caption xml:lang="eo">Dolfin kun PostScript-bildeto</caption>
       <caption xml:lang="es">Dolphin con miniaturas de PostScript</caption>
       <caption xml:lang="et">Dolphin PostScripti pisipildiga</caption>
       <caption xml:lang="eu">Dolphin PostScript baten koadro-txiki 
batekin</caption>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdegraphics-thumbnailers-22.12.3/ps/CMakeLists.txt 
new/kdegraphics-thumbnailers-23.04.0/ps/CMakeLists.txt
--- old/kdegraphics-thumbnailers-22.12.3/ps/CMakeLists.txt      2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/ps/CMakeLists.txt      2023-03-12 
05:49:53.000000000 +0100
@@ -6,8 +6,10 @@
     dscparse_adapter.cpp
 )
 
+kcoreaddons_desktop_to_json(gsthumbnail gsthumbnail.desktop)
+
 target_link_libraries(gsthumbnail
-    KF5::KIOWidgets
+    KF5::KIOGui
     Qt::Gui
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdegraphics-thumbnailers-22.12.3/ps/gscreator.cpp 
new/kdegraphics-thumbnailers-23.04.0/ps/gscreator.cpp
--- old/kdegraphics-thumbnailers-22.12.3/ps/gscreator.cpp       2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/ps/gscreator.cpp       2023-03-12 
05:49:53.000000000 +0100
@@ -77,13 +77,9 @@
 #include "gscreator.h"
 #include "dscparse.h"
 
-extern "C"
-{
-    Q_DECL_EXPORT ThumbCreator *new_creator()
-    {
-        return new GSCreator;
-    }
-}
+#include <KPluginFactory>
+
+K_PLUGIN_CLASS_WITH_JSON(GSCreator, "gsthumbnail.json")
 
 // This PS snippet will be prepended to the actual file so that only
 // the first page is output.
@@ -169,9 +165,16 @@
        }
 }
 
+GSCreator::GSCreator(QObject *parent, const QVariantList &args)
+  : KIO::ThumbnailCreator(parent, args)
+{
+}
 
-bool GSCreator::create(const QString &path, int width, int height, QImage &img)
+KIO::ThumbnailResult GSCreator::create(const KIO::ThumbnailRequest &request)
 {
+  const QString path = request.url().toLocalFile();
+  const int width = request.targetSize().width();
+  const int height = request.targetSize().height();
 // The code in the loop (when testing whether got_sig_term got set)
 // should read some variation of:
 //             parentJob()->wasKilled()
@@ -197,15 +200,15 @@
   bool ok = false;
 
   // Test if file is DVI
-  bool no_dvi =!correctDVI(path);
+  bool no_dvi =!correctDVI(request.url().toLocalFile());
 
   if (pipe(input) == -1) {
-    return false;
+    return KIO::ThumbnailResult::fail();
   }
   if (pipe(output) == -1) {
     close(input[0]);
     close(input[1]);
-    return false;
+    return KIO::ThumbnailResult::fail();
   }
 
   KDSC dsc;
@@ -215,7 +218,7 @@
   if (no_dvi)
   {
     FILE* fp = fopen(QFile::encodeName(path), "r");
-    if (fp == nullptr) return false;
+    if (fp == nullptr) return KIO::ThumbnailResult::fail();
 
     char buf[4096];
     int count;
@@ -227,7 +230,7 @@
 
     if (dsc.pjl() || dsc.ctrld()) {
       // this file is a mess.
-      return false;
+      return KIO::ThumbnailResult::fail();
     }
   }
 
@@ -279,13 +282,12 @@
       const int yscale = bbox->height() / height;
       const int scale = xscale < yscale ? xscale : yscale;
       if (scale == 0) break;
-      if (getEPSIPreview(path,
+      if (auto result = getEPSIPreview(path,
                          dsc.beginpreview(),
                          dsc.endpreview(),
-                         img,
                          bbox->width() / scale,
-                         bbox->height() / scale))
-        return true;
+                         bbox->height() / scale); result.isValid())
+        return result;
       // If the preview extraction routine fails, gs is used to
       // create a thumbnail.
     }
@@ -451,6 +453,7 @@
   }
   close(output[0]);
 
+  QImage img;
   bool loaded = img.loadFromData( data );
 
   if (!loaded) {
@@ -472,7 +475,11 @@
   }
   if ( oldhandler != SIG_ERR ) signal( SIGTERM, oldhandler );
 
-  return ok && loaded;
+  if (loaded) {
+    return KIO::ThumbnailResult::pass(img);
+  }
+
+  return KIO::ThumbnailResult::fail();
 }
 
 void GSCreator::comment(Name name)
@@ -515,12 +522,12 @@
   return true;
 }
 
-bool GSCreator::getEPSIPreview(const QString &path, long start, long
-                              end, QImage &outimg, int imgwidth, int imgheight)
+KIO::ThumbnailResult GSCreator::getEPSIPreview(const QString &path, long 
start, long
+                              end, int imgwidth, int imgheight)
 {
   FILE *fp;
   fp = fopen(QFile::encodeName(path), "r");
-  if (fp == nullptr) return false;
+  if (fp == nullptr) return KIO::ThumbnailResult::fail();
 
   const long previewsize = end - start + 1;
 
@@ -532,7 +539,7 @@
   if (count != previewsize - 1)
   {
     free(buf);
-    return false;
+    return KIO::ThumbnailResult::fail();
   }
 
   QString previewstr = QString::fromLatin1(buf);
@@ -570,7 +577,7 @@
     break;
   case 12: // valid, but not (yet) supported
   default: // illegal value
-    return false;
+    return KIO::ThumbnailResult::fail();
   }
 
   unsigned int colors = (1U << depth);
@@ -593,7 +600,7 @@
 
   for (unsigned int i = 0; i < bindatabytes; i++) {
     if (offset >= previewsize)
-      return false;
+      return KIO::ThumbnailResult::fail();
 
     while (!isxdigit(previewstr[offset].toLatin1()) &&
           offset < previewsize)
@@ -602,7 +609,7 @@
     bool ok = false;
     bindata[i] = static_cast<unsigned char>(previewstr.mid(offset, 
2).toUInt(&ok, 16));
     if (!ok)
-      return false;
+      return KIO::ThumbnailResult::fail();
 
     offset += 2;
   }
@@ -627,7 +634,9 @@
     }
   }
 
-  outimg = img.convertToFormat(QImage::Format_RGB32).scaled(imgwidth, 
imgheight, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
+  QImage outimg = img.convertToFormat(QImage::Format_RGB32).scaled(imgwidth, 
imgheight, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
 
-  return true;
+  return !outimg.isNull() ? KIO::ThumbnailResult::pass(outimg) : 
KIO::ThumbnailResult::fail();
 }
+
+#include "gscreator.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdegraphics-thumbnailers-22.12.3/ps/gscreator.h 
new/kdegraphics-thumbnailers-23.04.0/ps/gscreator.h
--- old/kdegraphics-thumbnailers-22.12.3/ps/gscreator.h 2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/ps/gscreator.h 2023-03-12 
05:49:53.000000000 +0100
@@ -20,20 +20,19 @@
 #ifndef _GSCREATOR_H_
 #define _GSCREATOR_H_
 
-#include <KIO/ThumbCreator>
+#include <KIO/ThumbnailCreator>
 #include "dscparse_adapter.h"
 
-class GSCreator : public ThumbCreator, public KDSCCommentHandler
+class GSCreator : public KIO::ThumbnailCreator, public KDSCCommentHandler
 {
 public:
-    GSCreator() {}
-    bool create(const QString &path, int, int, QImage &img) override;
+    GSCreator(QObject *parent, const QVariantList &args);
+    KIO::ThumbnailResult create(const KIO::ThumbnailRequest &request) override;
     void comment(Name name) override;
 
 private:
-    static bool getEPSIPreview(const QString &path,
+    static KIO::ThumbnailResult getEPSIPreview(const QString &path,
                                long start, long end,
-                               QImage &outimg,
                                int imgwidth, int imgheight);
     bool endComments;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/ps/gsthumbnail.desktop 
new/kdegraphics-thumbnailers-23.04.0/ps/gsthumbnail.desktop
--- old/kdegraphics-thumbnailers-22.12.3/ps/gsthumbnail.desktop 2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/ps/gsthumbnail.desktop 2023-03-12 
05:49:53.000000000 +0100
@@ -13,7 +13,7 @@
 Name[de]=PostScript-, PDF- und DVI-Dateien
 Name[el]=Αρχεία PostScript, PDF και DVI
 Name[en_GB]=PostScript, PDF and DVI Files
-Name[eo]=Postskriptaj, PDF kaj DVI dosieroj
+Name[eo]=Postskriptaj, PDF- kaj DVI-dosieroj
 Name[es]=Archivos PostScript, PDF y DVI
 Name[et]=PostScript-, PDF- ja DVI-failid
 Name[eu]=PostScript, PDF eta DVI fitxategiak
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdegraphics-thumbnailers-22.12.3/raw/CMakeLists.txt 
new/kdegraphics-thumbnailers-23.04.0/raw/CMakeLists.txt
--- old/kdegraphics-thumbnailers-22.12.3/raw/CMakeLists.txt     2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/raw/CMakeLists.txt     2023-03-12 
05:49:53.000000000 +0100
@@ -5,9 +5,11 @@
     rawcreator.cpp
 )
 
+kcoreaddons_desktop_to_json(rawthumbnail rawthumbnail.desktop)
+
 ## includes and linking
 target_link_libraries(rawthumbnail
-    KF5::KIOWidgets
+    KF5::KIOGui
     KF5::KDcraw
     KF5::KExiv2
     Qt::Gui
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdegraphics-thumbnailers-22.12.3/raw/rawcreator.cpp 
new/kdegraphics-thumbnailers-23.04.0/raw/rawcreator.cpp
--- old/kdegraphics-thumbnailers-22.12.3/raw/rawcreator.cpp     2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/raw/rawcreator.cpp     2023-03-12 
05:49:53.000000000 +0100
@@ -24,15 +24,12 @@
 #include <kdcraw/kdcraw.h>
 #include <kexiv2/kexiv2.h>
 
-extern "C"
-{
-    Q_DECL_EXPORT ThumbCreator *new_creator()
-    {
-        return new RAWCreator;
-    }
-}
+#include <KPluginFactory>
+
+K_PLUGIN_CLASS_WITH_JSON(RAWCreator, "rawthumbnail.json")
 
-RAWCreator::RAWCreator()
+RAWCreator::RAWCreator(QObject *parent, const QVariantList &args)
+    : KIO::ThumbnailCreator(parent, args)
 {
 }
 
@@ -40,65 +37,66 @@
 {
 }
 
-bool RAWCreator::create(const QString &path, int width, int height, QImage 
&img)
+KIO::ThumbnailResult RAWCreator::create(const KIO::ThumbnailRequest &request)
 {
     //load the image into the QByteArray
     QByteArray data;
-    bool loaded=KDcrawIface::KDcraw::loadEmbeddedPreview(data,path);
+    bool 
loaded=KDcrawIface::KDcraw::loadEmbeddedPreview(data,request.url().toLocalFile());
 
-    if (loaded)
+    if (!loaded) {
+        return KIO::ThumbnailResult::fail();
+    }
+    //Load the image into a QImage
+    QImage preview;
+    if (!preview.loadFromData(data) || preview.isNull())
+        return KIO::ThumbnailResult::fail();
+
+    //And its EXIF info
+    KExiv2Iface::KExiv2 exiv;
+    if (exiv.loadFromData(data))
     {
+        //We managed reading the EXIF info, rotate the image
+        //according to the EXIF orientation flag
+        KExiv2Iface::KExiv2::ImageOrientation 
orient=exiv.getImageOrientation();
 
-        //Load the image into a QImage
-        QImage preview;
-        if (!preview.loadFromData(data) || preview.isNull())
-           return false;
-
-        //And its EXIF info
-        KExiv2Iface::KExiv2 exiv;
-        if (exiv.loadFromData(data))
+        //Rotate according to the EXIF orientation flag
+        switch(orient)
         {
-            //We managed reading the EXIF info, rotate the image
-            //according to the EXIF orientation flag
-            KExiv2Iface::KExiv2::ImageOrientation 
orient=exiv.getImageOrientation();
-
-            //Rotate according to the EXIF orientation flag
-            switch(orient)
-            {
-                case KExiv2Iface::KExiv2::ORIENTATION_UNSPECIFIED:
-                case KExiv2Iface::KExiv2::ORIENTATION_NORMAL:
-                    break; //we do nothing
-                case KExiv2Iface::KExiv2::ORIENTATION_HFLIP:
-                    preview = preview.mirrored(true,false);
-                    break;
-                case KExiv2Iface::KExiv2::ORIENTATION_ROT_180:
-                    preview = preview.transformed(QTransform().rotate(180));
-                    break;
-                case KExiv2Iface::KExiv2::ORIENTATION_VFLIP:
-                    preview = preview.mirrored(false,true);
-                    break;
-                case KExiv2Iface::KExiv2::ORIENTATION_ROT_90_HFLIP:
-                    preview = preview.mirrored(true,false);
-                    preview = preview.transformed(QTransform().rotate(90));
-                    break;
-                case KExiv2Iface::KExiv2::ORIENTATION_ROT_90:
-                    preview = preview.transformed(QTransform().rotate(90));
-                    break;
-                case KExiv2Iface::KExiv2::ORIENTATION_ROT_90_VFLIP:
-                    preview = preview.mirrored(false,true);
-                    preview = preview.transformed(QTransform().rotate(90));
-                    break;
-                case KExiv2Iface::KExiv2::ORIENTATION_ROT_270:
-                    preview = preview.transformed(QTransform().rotate(270));
-                    break;
-                default:
-                    break;
-            }
+            case KExiv2Iface::KExiv2::ORIENTATION_UNSPECIFIED:
+            case KExiv2Iface::KExiv2::ORIENTATION_NORMAL:
+                break; //we do nothing
+            case KExiv2Iface::KExiv2::ORIENTATION_HFLIP:
+                preview = preview.mirrored(true,false);
+                break;
+            case KExiv2Iface::KExiv2::ORIENTATION_ROT_180:
+                preview = preview.transformed(QTransform().rotate(180));
+                break;
+            case KExiv2Iface::KExiv2::ORIENTATION_VFLIP:
+                preview = preview.mirrored(false,true);
+                break;
+            case KExiv2Iface::KExiv2::ORIENTATION_ROT_90_HFLIP:
+                preview = preview.mirrored(true,false);
+                preview = preview.transformed(QTransform().rotate(90));
+                break;
+            case KExiv2Iface::KExiv2::ORIENTATION_ROT_90:
+                preview = preview.transformed(QTransform().rotate(90));
+                break;
+            case KExiv2Iface::KExiv2::ORIENTATION_ROT_90_VFLIP:
+                preview = preview.mirrored(false,true);
+                preview = preview.transformed(QTransform().rotate(90));
+                break;
+            case KExiv2Iface::KExiv2::ORIENTATION_ROT_270:
+                preview = preview.transformed(QTransform().rotate(270));
+                break;
+            default:
+                break;
         }
+    }
 
-        //Scale the image as requested by the thumbnailer
-        img=preview.scaled(width,height,Qt::KeepAspectRatio);
+    //Scale the image as requested by the thumbnailer
+    QImage img=preview.scaled(request.targetSize(),Qt::KeepAspectRatio);
 
-    }
-    return loaded;
+    return KIO::ThumbnailResult::pass(img);
 }
+
+#include "rawcreator.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdegraphics-thumbnailers-22.12.3/raw/rawcreator.h 
new/kdegraphics-thumbnailers-23.04.0/raw/rawcreator.h
--- old/kdegraphics-thumbnailers-22.12.3/raw/rawcreator.h       2023-02-03 
04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/raw/rawcreator.h       2023-03-12 
05:49:53.000000000 +0100
@@ -20,14 +20,14 @@
 #ifndef RAWCREATOR_H
 #define RAWCREATOR_H
 
-#include <KIO/ThumbCreator>
+#include <KIO/ThumbnailCreator>
 
-class RAWCreator : public ThumbCreator
+class RAWCreator : public KIO::ThumbnailCreator
 {
 public:
-    RAWCreator();
+    RAWCreator(QObject *parent, const QVariantList &args);
     ~RAWCreator() override;
-    bool create(const QString &path, int width, int height, QImage &img) 
override;
+    KIO::ThumbnailResult create(const KIO::ThumbnailRequest &request) override;
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kdegraphics-thumbnailers-22.12.3/raw/rawthumbnail.desktop 
new/kdegraphics-thumbnailers-23.04.0/raw/rawthumbnail.desktop
--- old/kdegraphics-thumbnailers-22.12.3/raw/rawthumbnail.desktop       
2023-02-03 04:37:52.000000000 +0100
+++ new/kdegraphics-thumbnailers-23.04.0/raw/rawthumbnail.desktop       
2023-03-12 05:49:53.000000000 +0100
@@ -11,6 +11,7 @@
 Name[de]=RAW-Fotokamera-Dateien
 Name[el]=RAW αρχεία φωτογραφιών
 Name[en_GB]=RAW Photo Camera Files
+Name[eo]=RAW fotaj kameradosieroj
 Name[es]=Archivos RAW de cámara fotográfica
 Name[et]=Kaamera toorfailid
 Name[eu]=RAW argazki kamera-fitxategiak

Reply via email to