1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
/*
windowsimagecreator.cpp - Thumbnail Creator for Microsoft Windows Images
SPDX-FileCopyrightText: 2009 Pali Rohár <pali.rohar@gmail.com>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "windowsimagecreator.h"
#include "icoutils.h"
#include <QImage>
#include <QImageReader>
#include <QMimeDatabase>
#include <QString>
#include <KPluginFactory>
K_PLUGIN_CLASS_WITH_JSON(WindowsImageCreator, "windowsimagethumbnail.json")
WindowsImageCreator::WindowsImageCreator(QObject *parent, const QVariantList &args)
: KIO::ThumbnailCreator(parent, args)
{
}
KIO::ThumbnailResult WindowsImageCreator::create(const KIO::ThumbnailRequest &request)
{
const QString path = request.url().toLocalFile();
QImage img;
if (IcoUtils::loadIcoImage(path, img, request.targetSize().width(), request.targetSize().height())) {
return KIO::ThumbnailResult::pass(img);
}
// Maybe it's an animated cursor
if (QMimeDatabase().mimeTypeForFile(path).name() == QLatin1String("application/x-navi-animation")) {
QImageReader reader(path, "ani");
reader.read(&img);
return KIO::ThumbnailResult::pass(img);
}
return KIO::ThumbnailResult::fail();
}
#include "moc_windowsimagecreator.cpp"
#include "windowsimagecreator.moc"
|