File indexing completed on 2024-12-01 04:36:51
0001 /* 0002 SPDX-FileCopyrightText: 2020 David Faure <faure@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "libruqolawidgets_private_export.h" 0010 0011 #include "lrucache.h" 0012 #include <QPixmap> 0013 0014 // QPixmapCache is too small for the big images in messages, let's have our own LRU cache 0015 class LIBRUQOLAWIDGETS_TESTS_EXPORT PixmapCache 0016 { 0017 public: 0018 void setMaxEntries(int maxEntries); 0019 0020 [[nodiscard]] QPixmap pixmapForLocalFile(const QString &path); 0021 0022 [[nodiscard]] QPixmap findCachedPixmap(const QString &path); 0023 void insertCachedPixmap(const QString &path, const QPixmap &pixmap); 0024 void clear(); 0025 void remove(const QString &path); 0026 0027 private: 0028 friend class PixmapCacheTest; 0029 LRUCache<QString, QPixmap> mCachedImages; 0030 };