digiKam
Loading...
Searching...
No Matches
itempreviewview.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 : 2006-21-12
7 * Description : a embedded view to show item preview widget.
8 *
9 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at gmail dot com>
11 * SPDX-FileCopyrightText: 2010-2011 by Aditya Bhatt <adityabhatt1991 at gmail dot com>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Local includes
20
21#include "graphicsdimgview.h"
22#include "iteminfo.h"
23
24class QPixmap;
25class QDragMoveEvent;
26class QDropEvent;
27class QDragEnterEvent;
28
29namespace Digikam
30{
31
32class Album;
33class LoadingDescription;
34
36{
37 Q_OBJECT
38
39public:
40
46
47public:
48
49 explicit ItemPreviewView(QWidget* const parent,
51 Album* const currAlbum = nullptr);
52 ~ItemPreviewView() override;
53
54 void setItemInfo(const ItemInfo& info = ItemInfo(),
55 const ItemInfo& previous = ItemInfo(),
56 const ItemInfo& next = ItemInfo());
57
58 ItemInfo getItemInfo() const;
59
60 void reload();
61 void setImagePath(const QString& path=QString());
62 void setPreviousNextPaths(const QString& previous, const QString& next);
63
64Q_SIGNALS:
65
69 void signalPreviewLoaded(bool success);
73
78
79protected:
80
81 bool acceptsMouseClick(QMouseEvent* e) override;
82 void mousePressEvent(QMouseEvent* e) override;
83 void leaveEvent(QEvent* e) override;
84 void showEvent(QShowEvent* e) override;
85 void dropEvent(QDropEvent* e) override;
86 void dragMoveEvent(QDragMoveEvent* e) override;
87 void dragEnterEvent(QDragEnterEvent* e) override;
88
89#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
90
91 void enterEvent(QEnterEvent*) override;
92
93#else
94
95 void enterEvent(QEvent*) override;
96
97#endif
98
99
100private Q_SLOTS:
101
102 void imageLoaded();
103 void imageLoadingFailed();
104
105 void slotAssignTag(int tagID);
106 void slotRemoveTag(int tagID);
107 void slotAssignRating(int rating);
108 void slotAssignPickLabel(int pickId);
109 void slotAssignColorLabel(int colorId);
110
111 void slotThemeChanged();
112 void slotSetupChanged();
113
114 void slotRotateLeft();
115 void slotRotateRight();
116 void slotDeleteItem();
117
122 void slotUpdateFaces();
123
124 void slotShowContextMenu(QGraphicsSceneContextMenuEvent* event);
125
126 void slotSlideShowCurrent();
127
128private:
129
130 class Private;
131 Private* const d = nullptr;
132};
133
134} // namespace Digikam
Abstract base class for all album types.
Definition album.h:57
Definition graphicsdimgview.h:34
Definition iteminfo.h:68
Definition itempreviewview.h:36
void showEvent(QShowEvent *e) override
Definition itempreviewview.cpp:404
Mode
Definition itempreviewview.h:42
@ IconViewPreview
Definition itempreviewview.h:43
void mousePressEvent(QMouseEvent *e) override
Definition itempreviewview.cpp:728
void setImagePath(const QString &path=QString())
void setPreviousNextPaths(const QString &previous, const QString &next)
void dragMoveEvent(QDragMoveEvent *e) override
Definition itempreviewview.cpp:668
void signalGotoAlbumAndItem(const ItemInfo &)
void signalPreviewLoaded(bool success)
void dragEnterEvent(QDragEnterEvent *e) override
Definition itempreviewview.cpp:679
void signalGotoDateAndItem(const ItemInfo &)
~ItemPreviewView() override
Definition itempreviewview.cpp:298
void setItemInfo(const ItemInfo &info=ItemInfo(), const ItemInfo &previous=ItemInfo(), const ItemInfo &next=ItemInfo())
Definition itempreviewview.cpp:347
void reload()
Definition itempreviewview.cpp:305
void dropEvent(QDropEvent *e) override
Definition itempreviewview.cpp:690
void enterEvent(QEnterEvent *) override
Definition itempreviewview.cpp:387
ItemInfo getItemInfo() const
Definition itempreviewview.cpp:370
void signalAddToExistingQueue(int)
void leaveEvent(QEvent *e) override
Definition itempreviewview.cpp:399
bool acceptsMouseClick(QMouseEvent *e) override
Definition itempreviewview.cpp:375
Definition lighttablepreview.h:33
@ Album
Definition coredbfields.h:48
Definition datefolderview.cpp:34