From 7e51ba1ffd599f18e223071e2911d4ed4b9de951 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sat, 24 Jul 2021 18:06:13 +0300 Subject: [PATCH] kioslave: sync EXR thumbnailer default file size limit Signed-off-by: Ivailo Monev --- kioslave/thumbnail/exrcreator.cpp | 4 +++- kioslave/thumbnail/thumbnail.cpp | 2 +- kioslave/thumbnail/thumbnail.h | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/kioslave/thumbnail/exrcreator.cpp b/kioslave/thumbnail/exrcreator.cpp index 2b32db3f..a62685e3 100644 --- a/kioslave/thumbnail/exrcreator.cpp +++ b/kioslave/thumbnail/exrcreator.cpp @@ -18,6 +18,7 @@ */ #include "exrcreator.h" +#include "thumbnail.h" #include #include @@ -66,7 +67,7 @@ bool EXRCreator::create(const QString &path, int, int, QImage &img) kDebug() << "EXRcreator - using original image"; KSharedConfig::Ptr config = KGlobal::config(); KConfigGroup configGroup(config, "PreviewSettings"); - unsigned long long maxSize = configGroup.readEntry("MaximumSize", 1024*1024 /* 1MB */); + unsigned long long maxSize = configGroup.readEntry("MaximumSize", MaxPreviewSizes::MaxLocalSize * 1024 * 1024); unsigned long long fileSize = QFile(path).size(); if ((fileSize > 0) && (fileSize < maxSize)) { if (!img.load(path)) { @@ -76,6 +77,7 @@ bool EXRCreator::create(const QString &path, int, int, QImage &img) img = img.convertToFormat(QImage::Format_RGB32); return true; } + kDebug() << "EXRcreator - image file size too large" << fileSize << maxSize; return false; } } diff --git a/kioslave/thumbnail/thumbnail.cpp b/kioslave/thumbnail/thumbnail.cpp index 9a040bb5..d747c844 100644 --- a/kioslave/thumbnail/thumbnail.cpp +++ b/kioslave/thumbnail/thumbnail.cpp @@ -371,7 +371,7 @@ QImage ThumbnailProtocol::thumbForDirectory(const KUrl& directory) // Directories that the directory preview will be propagated into if there is no direct sub-directories const KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings"); m_propagationDirectories = globalConfig.readEntry("PropagationDirectories", QStringList() << "VIDEO_TS").toSet(); - m_maxFileSize = globalConfig.readEntry("MaximumSize", 5 * 1024 * 1024); // 5 MByte default + m_maxFileSize = globalConfig.readEntry("MaximumSize", MaxPreviewSizes::MaxLocalSize * 1024 * 1024); } const int tiles = 2; //Count of items shown on each dimension diff --git a/kioslave/thumbnail/thumbnail.h b/kioslave/thumbnail/thumbnail.h index 4ec03ae3..feb58f27 100644 --- a/kioslave/thumbnail/thumbnail.h +++ b/kioslave/thumbnail/thumbnail.h @@ -25,6 +25,12 @@ #include +// NOTE: keep in sync with kdelibs/kio/kio/previewjob.cpp +enum MaxPreviewSizes { + MaxLocalSize = 5, // 5 MB + MaxRemoteSize = 1 // 1 MB +}; + class ThumbCreator; class ThumbnailProtocol : public KIO::SlaveBase -- 2.11.0