digiKam
Loading...
Searching...
No Matches
dimgpreviewitem.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 : 2010-04-30
7 * Description : Graphics View items for DImg
8 *
9 * SPDX-FileCopyrightText: 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QGraphicsItem>
20#include <QObject>
21
22// Local includes
23
24#include "digikam_export.h"
25#include "graphicsdimgitem.h"
26
27namespace Digikam
28{
29
30class DImg;
31class ICCSettingsContainer;
32class LoadingDescription;
33class PreviewSettings;
34
35class DIGIKAM_EXPORT DImgPreviewItem : public GraphicsDImgItem
36{
37 Q_OBJECT
38
39public:
40
41 enum State
42 {
46 ImageLoadingFailed
47 };
48
49public:
50
51 explicit DImgPreviewItem(QGraphicsItem* const parent = nullptr);
52 ~DImgPreviewItem() override;
53
54 void setDisplayingWidget(QWidget* const widget);
55 void setPreviewSettings(const PreviewSettings& settings);
56
57 QString path() const;
58 void setPath(const QString& path, bool rePreview = false);
59
60 State state() const;
61 bool isLoaded() const;
62 void reload();
63
64 void setPreloadPaths(const QStringList& pathsToPreload);
65
66 QString userLoadingHint() const override;
67
68Q_SIGNALS:
69
70 void stateChanged(int state);
71 void loaded();
73
74private Q_SLOTS:
75
76 void slotGotImagePreview(const LoadingDescription& loadingDescription, const DImg& image);
77 void preloadNext();
78 void slotFileChanged(const QString& path);
79 void iccSettingsChanged(const ICCSettingsContainer& current, const ICCSettingsContainer& previous);
80
81private:
82
83 // Disable
84 DImgPreviewItem(QObject*);
85
86 class DImgPreviewItemPrivate;
87 Q_DECLARE_PRIVATE(DImgPreviewItem)
88
89protected:
90
91 explicit DImgPreviewItem(DImgPreviewItemPrivate& dd, QGraphicsItem* const parent = nullptr);
92};
93
94} // namespace Digikam
Definition dimgitems_p.h:93
State
Definition dimgpreviewitem.h:42
@ Loading
Definition dimgpreviewitem.h:44
@ ImageLoaded
Definition dimgpreviewitem.h:45
@ NoImage
Definition dimgpreviewitem.h:43
QString path() const
void stateChanged(int state)
Definition dimg.h:52
Definition iccsettingscontainer.h:35
Definition loadingdescription.h:35
Definition previewsettings.h:25
Definition datefolderview.cpp:34