digiKam
Loading...
Searching...
No Matches
camerathumbsctrl.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2011-08-03
7 * Description : digital camera thumbnails controller
8 *
9 * SPDX-FileCopyrightText: 2011-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QWidget>
20#include <QString>
21#include <QImage>
22#include <QPixmap>
23#include <QUrl>
24
25// Local includes
26
27#include "camiteminfo.h"
28#include "digikam_export.h"
29
30namespace Digikam
31{
32
33class CameraController;
34
35typedef QPair<CamItemInfo, QPixmap> CachedItem;
36
37class DIGIKAM_GUI_EXPORT CameraThumbsCtrl : public QObject
38{
39 Q_OBJECT
40
41public:
42
43 explicit CameraThumbsCtrl(CameraController* const ctrl, QWidget* const parent);
44 ~CameraThumbsCtrl() override;
45
51 bool getThumbInfo(const CamItemInfo& info, CachedItem& item) const;
52
53 void setCacheSize(int numberOfItems);
54 void clearCache();
55
59 void updateThumbInfoFromCache(const CamItemInfo& info);
60
64 CameraController* cameraController() const;
65
66Q_SIGNALS:
67
69
70private Q_SLOTS:
71
72 void slotThumbInfo(const QString&, const QString&, const CamItemInfo&, const QImage&);
73 void slotThumbInfoFailed(const QString&, const QString&, const CamItemInfo&);
74
75private:
76
78 void removeItemFromCache(const QUrl& url);
79 void putItemToCache(const QUrl& url, const CamItemInfo&, const QPixmap& thumb);
80 bool hasItemFromCache(const QUrl& url) const;
81 const CachedItem* retrieveItemFromCache(const QUrl& url) const;
82
83private:
84
85 class Private;
86 const QScopedPointer<Private> d;
87};
88
89} // namespace Digikam
Definition camiteminfo.h:39
Definition cameracontroller.h:40
Definition camerathumbsctrl.h:38
void signalThumbInfoReady(const CamItemInfo &)
Definition datefolderview.cpp:34
QPair< CamItemInfo, QPixmap > CachedItem
Definition camerathumbsctrl.h:35