digiKam
facegroup_p.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-09-17
7  * Description : Managing of face tag region items on a GraphicsDImgView
8  *
9  * Copyright (C) 2010-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10  * Copyright (C) 2012-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
11  *
12  * This program is free software; you can redistribute it
13  * and/or modify it under the terms of the GNU General
14  * Public License as published by the Free Software Foundation;
15  * either version 2, or (at your option)
16  * any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * ============================================================ */
24 
25 #ifndef DIGIKAM_FACE_GROUP_P_H
26 #define DIGIKAM_FACE_GROUP_P_H
27 
28 #include "facegroup.h"
29 
30 // Qt includes
31 
32 #include <QGraphicsSceneHoverEvent>
33 
34 // Local includes
35 
36 #include "addtagscombobox.h"
37 #include "albummodel.h"
38 #include "albumfiltermodel.h"
39 #include "albummanager.h"
40 #include "clickdragreleaseitem.h"
41 #include "dimgpreviewitem.h"
42 #include "facepipeline.h"
43 #include "faceitem.h"
44 #include "facetags.h"
45 #include "facetagseditor.h"
46 #include "graphicsdimgview.h"
47 #include "iteminfo.h"
48 #include "metadatahub.h"
49 #include "taggingaction.h"
50 #include "digikam_debug.h"
52 
53 namespace Digikam
54 {
55 
57 {
61 };
62 
63 //-------------------------------------------------------------------------------
64 
65 class Q_DECL_HIDDEN FaceGroup::Private
66 {
67 public:
68 
69  explicit Private(FaceGroup* const q);
70 
71  void applyVisible();
72  FaceItem* createItem(const FaceTagsIface& face);
73  FaceItem* addItem(const FaceTagsIface& face);
74  AssignNameWidget* createAssignNameWidget(const FaceTagsIface& face,
75  const QVariant& identifier);
76  AssignNameWidget::Mode assignWidgetMode(FaceTagsIface::Type type);
77  void checkModels();
78  QList<QGraphicsItem*> hotItems(const QPointF& scenePos);
79 
80 public:
81 
84  bool exifRotate;
87 
89 
92 
95 
99 
101 
102  FaceGroup* const q;
103 };
104 
105 } // namespace Digikam
106 
107 #endif // DIGIKAM_FACE_GROUP_P_H
Definition: assignnamewidget.h:48
Mode
Definition: assignnamewidget.h:58
Definition: albumfiltermodel.h:294
Definition: clickdragreleaseitem.h:39
Definition: facegroup_p.h:66
ItemVisibilityController * visibilityController
Definition: facegroup_p.h:94
ItemInfo info
Definition: facegroup_p.h:83
TagModel * tagModel
Definition: facegroup_p.h:96
TagPropertiesFilterModel * filteredModel
Definition: facegroup_p.h:98
bool showOnHover
Definition: facegroup_p.h:86
bool exifRotate
Definition: facegroup_p.h:84
CheckableAlbumFilterModel * filterModel
Definition: facegroup_p.h:97
FaceGroup *const q
Definition: facegroup_p.h:102
ClickDragReleaseItem * manuallyAddWrapItem
Definition: facegroup_p.h:90
FaceGroupState state
Definition: facegroup_p.h:93
bool autoSuggest
Definition: facegroup_p.h:85
FacePipeline editPipeline
Definition: facegroup_p.h:100
FaceItem * manuallyAddedItem
Definition: facegroup_p.h:91
QList< FaceItem * > items
Definition: facegroup_p.h:88
GraphicsDImgView * view
Definition: facegroup_p.h:82
Definition: facegroup.h:45
Definition: faceitem.h:44
Definition: facepipeline.h:36
Definition: facetagsiface.h:44
Type
Definition: facetagsiface.h:48
Definition: graphicsdimgview.h:44
Definition: iteminfo.h:78
Definition: itemvisibilitycontroller.h:44
Definition: albummodel.h:63
Definition: albumfiltermodel.h:376
Definition: piwigotalker.h:48
Definition: datefolderview.cpp:43
FaceGroupState
Definition: facegroup_p.h:57
@ FacesLoaded
Definition: facegroup_p.h:60
@ NoFaces
Definition: facegroup_p.h:58
@ LoadingFaces
Definition: facegroup_p.h:59