File indexing completed on 2024-05-12 15:59:14

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2012 KO GmbH. Contact : Boudewijn Rempt <boud@kogmbh.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #include "PageThumbnailProvider.h"
0007 
0008 #include <QHash>
0009 
0010 class PageThumbnailProvider::Private
0011 {
0012 public:
0013     Private() { }
0014     ~Private() { }
0015 
0016     QHash<QString, QImage> thumbnails;
0017 };
0018 
0019 PageThumbnailProvider::PageThumbnailProvider()
0020     : QQuickImageProvider(QQuickImageProvider::Image)
0021     , d(new Private)
0022 {
0023 
0024 }
0025 
0026 PageThumbnailProvider::~PageThumbnailProvider()
0027 {
0028     delete(d);
0029 }
0030 
0031 QImage PageThumbnailProvider::requestImage(const QString& id, QSize* size, const QSize& requestedSize)
0032 {
0033     Q_UNUSED(size);
0034     Q_UNUSED(requestedSize);
0035     if (d->thumbnails.contains(id))
0036         return d->thumbnails[id];
0037     return QImage();
0038 }
0039 
0040 void PageThumbnailProvider::addThumbnail(QString id, QImage thumb)
0041 {
0042     d->thumbnails[id] = thumb;
0043 }
0044 
0045 bool PageThumbnailProvider::hasThumbnail(QString id)
0046 {
0047     return d->thumbnails.contains(id);
0048 }