digiKam
Loading...
Searching...
No Matches
importpreviewview.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 : 2012-14-07
7 * Description : An embedded view to show the cam item preview widget.
8 *
9 * SPDX-FileCopyrightText: 2012 by Islam Wazery <wazery at ubuntu dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Local includes
18
19#include "graphicsdimgview.h"
20#include "camiteminfo.h"
21
22namespace Digikam
23{
24
26{
27 Q_OBJECT
28
29public:
30
31 enum Mode
32 {
34 };
35
36public:
37
38 explicit ImportPreviewView(QWidget* const parent, Mode mode = IconViewPreview);
39 ~ImportPreviewView() override;
40
41 void setCamItemInfo(const CamItemInfo& info = CamItemInfo(),
42 const CamItemInfo& previous = CamItemInfo(),
43 const CamItemInfo& next = CamItemInfo());
44
46
47 void reload();
48 void setCamItemPath(const QString& path = QString());
49 void setPreviousNextPaths(const QString& previous, const QString& next);
50
51 void showContextMenu(const CamItemInfo& info, QGraphicsSceneContextMenuEvent* event);
52
53private:
54
55 QString identifyCategoryforMime(const QString& mime);
56
57Q_SIGNALS:
58
62 void signalPreviewLoaded(bool success);
64/*
65 FIXME
66 void signalAddToExistingQueue(int);
67 void signalGotoFolderAndItem(const CamItemInfo&);
68 void signalGotoDateAndItem(const CamItemInfo&);
69 void signalGotoTagAndItem(int);
70 void signalPopupTagsView();
71*/
75
76
77protected:
78
79 bool acceptsMouseClick(QMouseEvent* e) override;
80 void leaveEvent(QEvent* e) override;
81 void showEvent(QShowEvent* e) override;
82
83#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
84
85 void enterEvent(QEnterEvent*) override;
86
87#else
88
89 void enterEvent(QEvent*) override;
90
91#endif
92
93private Q_SLOTS:
94
95 void camItemLoaded();
96 void camItemLoadingFailed();
97/*
98 TODO: Implement Tags and Labels in Import Tool
99 void slotAssignTag(int tagID);
100 void slotRemoveTag(int tagID);
101 void slotAssignPickLabel(int pickId);
102 void slotAssignColorLabel(int colorId);
103*/
104 void slotThemeChanged();
105 void slotSetupChanged();
106
107 void slotRotateLeft();
108 void slotRotateRight();
109 void slotDeleteItem();
110
111private:
112
113 class Private;
114 Private* const d = nullptr;
115};
116
117} // namespace Digikam
Definition camiteminfo.h:39
Definition graphicsdimgview.h:34
Definition importpreviewview.h:26
~ImportPreviewView() override
Definition importpreviewview.cpp:258
void reload()
Definition importpreviewview.cpp:264
CamItemInfo getCamItemInfo() const
Definition importpreviewview.cpp:324
bool acceptsMouseClick(QMouseEvent *e) override
Definition importpreviewview.cpp:329
void signalPreviewLoaded(bool success)
void showContextMenu(const CamItemInfo &info, QGraphicsSceneContextMenuEvent *event)
Definition importpreviewview.cpp:379
void showEvent(QShowEvent *e) override
Definition importpreviewview.cpp:370
void enterEvent(QEnterEvent *) override
Definition importpreviewview.cpp:345
void leaveEvent(QEvent *e) override
Definition importpreviewview.cpp:361
void setPreviousNextPaths(const QString &previous, const QString &next)
void setCamItemPath(const QString &path=QString())
Mode
Definition importpreviewview.h:32
@ IconViewPreview
Definition importpreviewview.h:33
void setCamItemInfo(const CamItemInfo &info=CamItemInfo(), const CamItemInfo &previous=CamItemInfo(), const CamItemInfo &next=CamItemInfo())
Definition importpreviewview.cpp:293
Definition datefolderview.cpp:34