digiKam
Loading...
Searching...
No Matches
assignnameoverlay.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-10-14
7 * Description : overlay for assigning names to faces
8 *
9 * SPDX-FileCopyrightText: 2010 by Aditya Bhatt <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2009-2010 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Qt includes
20
21#include <QAbstractItemView>
22
23// Local includes
24
25#include "itemdelegateoverlay.h"
26#include "itemviewdelegate.h"
27
28namespace Digikam
29{
30
31class AssignNameWidget;
32class FaceTagsIface;
33class ItemInfo;
34class TaggingAction;
35
37{
38 Q_OBJECT
40
41public:
42
43 explicit AssignNameOverlay(QObject* const parent);
44 ~AssignNameOverlay() override;
45
47
48Q_SIGNALS:
49
50 void confirmFaces(const QList<QModelIndex>& indexes, int tagId);
51 void unknownFaces(const QList<QModelIndex>& indexes);
52 void removeFaces(const QList<QModelIndex>& indexes);
53 void ignoreFaces(const QList<QModelIndex>& indexes);
54
55protected Q_SLOTS:
56
57 void slotAssigned(const TaggingAction& action, const ItemInfo&, const QVariant& faceIdentifier);
58 void slotRejected(const ItemInfo&, const QVariant& faceIdentifier);
59 void slotIgnored(const ItemInfo&, const QVariant& faceIdentifier);
60 void slotUnknown(const ItemInfo&, const QVariant& faceIdentifier);
61
62protected:
63
64 QWidget* createWidget() override;
65 void setActive(bool) override;
66 void visualChange() override;
67 void showOnIndex(const QModelIndex& index) override;
68 bool checkIndex(const QModelIndex& index) const override;
69 void viewportLeaveEvent(QObject* obj, QEvent* event) override;
70 void widgetEnterEvent() override;
71 void widgetLeaveEvent() override;
72 void setFocusOnWidget() override;
73 bool eventFilter(QObject* o, QEvent* e) override;
74
75 void updatePosition();
76 void updateFace();
77
78private:
79
80 // Disable
81 AssignNameOverlay() = delete;
82
83private:
84
85 class Private;
86 Private* const d = nullptr;
87};
88
89} // namespace Digikam
Definition assignnameoverlay.h:37
void ignoreFaces(const QList< QModelIndex > &indexes)
void confirmFaces(const QList< QModelIndex > &indexes, int tagId)
QWidget * createWidget() override
Definition assignnameoverlay.cpp:114
void viewportLeaveEvent(QObject *obj, QEvent *event) override
Definition assignnameoverlay.cpp:297
bool eventFilter(QObject *o, QEvent *e) override
Definition assignnameoverlay.cpp:404
void showOnIndex(const QModelIndex &index) override
see slotEntered()
Definition assignnameoverlay.cpp:279
void visualChange() override
Definition assignnameoverlay.cpp:196
void updatePosition()
Definition assignnameoverlay.cpp:204
void updateFace()
Definition assignnameoverlay.cpp:235
void setActive(bool) override
Definition assignnameoverlay.cpp:130
AssignNameWidget * assignNameWidget() const
Definition assignnameoverlay.cpp:109
void slotIgnored(const ItemInfo &, const QVariant &faceIdentifier)
Definition assignnameoverlay.cpp:365
bool checkIndex(const QModelIndex &index) const override
Definition assignnameoverlay.cpp:261
void setFocusOnWidget() override
Definition assignnameoverlay.cpp:395
void widgetEnterEvent() override
Definition assignnameoverlay.cpp:385
void slotRejected(const ItemInfo &, const QVariant &faceIdentifier)
Definition assignnameoverlay.cpp:355
void widgetLeaveEvent() override
Definition assignnameoverlay.cpp:390
void slotAssigned(const TaggingAction &action, const ItemInfo &, const QVariant &faceIdentifier)
Definition assignnameoverlay.cpp:314
void unknownFaces(const QList< QModelIndex > &indexes)
~AssignNameOverlay() override
Definition assignnameoverlay.cpp:104
void removeFaces(const QList< QModelIndex > &indexes)
void slotUnknown(const ItemInfo &, const QVariant &faceIdentifier)
Definition assignnameoverlay.cpp:375
Definition assignnamewidget.h:38
Definition iteminfo.h:68
Definition itemviewdelegate.h:32
Definition itemdelegateoverlay.h:254
QModelIndex index() const
Definition itemdelegateoverlay.cpp:500
Definition taggingaction.h:26
#define REQUIRE_DELEGATE(Delegate)
Definition itemdelegateoverlay.h:102
Definition datefolderview.cpp:34