digiKam
Loading...
Searching...
No Matches
metadataselector.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 : 2009-07-16
7
* Description : metadata selector.
8
*
9
* SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10
*
11
* SPDX-License-Identifier: GPL-2.0-or-later
12
*
13
* ============================================================ */
14
15
#pragma once
16
17
// Qt includes
18
19
#include <QTreeWidgetItem>
20
#include <QTreeWidget>
21
#include <QStringList>
22
23
// Local includes
24
25
#include "
digikam_export.h
"
26
#include "
searchtextbar.h
"
27
#include "
dmetadata.h
"
28
29
namespace
Digikam
30
{
31
32
class
MdKeyListViewItem;
33
class
MetadataSelectorView;
34
35
class
DIGIKAM_EXPORT
MetadataSelectorItem
:
public
QTreeWidgetItem
36
{
37
public
:
38
39
MetadataSelectorItem
(
MdKeyListViewItem
*
const
parent,
40
const
QString& key,
41
const
QString& title,
42
const
QString& desc);
43
~MetadataSelectorItem
()
override
=
default
;
44
45
QString key()
const
;
46
QString mdKeyTitle()
const
;
47
48
private
:
49
50
QString m_key;
51
MdKeyListViewItem
* m_parent =
nullptr
;
52
53
private
:
54
55
Q_DISABLE_COPY(
MetadataSelectorItem
)
56
};
57
58
// ------------------------------------------------------------------------------------
59
60
class
DIGIKAM_EXPORT
MetadataSelector
:
public
QTreeWidget
61
{
62
Q_OBJECT
63
64
public
:
65
66
explicit
MetadataSelector
(
MetadataSelectorView
*
const
parent);
67
~MetadataSelector
()
override
=
default
;
68
69
void
setTagsMap(
const
DMetadata::TagsMap
& map);
70
71
void
setcheckedTagsList(
const
QStringList& list);
72
QStringList checkedTagsList();
73
74
void
clearSelection();
75
void
selectAll()
override
;
76
77
private
:
78
79
MetadataSelectorView
* m_parent =
nullptr
;
80
};
81
82
// ------------------------------------------------------------------------------------
83
84
class
DIGIKAM_EXPORT
MetadataSelectorView
:
public
QWidget
85
{
86
Q_OBJECT
87
88
public
:
89
90
enum
ControlElement
91
{
92
SelectAllBtn = 0x01,
93
ClearBtn = 0x02,
94
DefaultBtn = 0x04,
95
SearchBar = 0x08
96
};
97
Q_DECLARE_FLAGS(ControlElements, ControlElement)
98
99
enum
Backend
100
{
101
Exiv2Backend = 0,
102
ExifToolBackend
103
};
104
105
public
:
106
107
explicit
MetadataSelectorView
(QWidget*
const
parent, Backend be);
108
~MetadataSelectorView
()
override
;
109
110
int
itemsCount()
const
;
111
112
void
setTagsMap(
const
DMetadata::TagsMap
& map);
113
114
void
setcheckedTagsList(
const
QStringList& list);
115
116
void
setDefaultFilter(
const
QStringList& list);
117
QStringList defaultFilter()
const
;
118
119
QStringList checkedTagsList()
const
;
120
121
Backend backend()
const
;
122
123
void
setControlElements(ControlElements controllerMask);
124
125
void
clearSelection();
126
void
selectAll();
127
void
selectDefault();
128
129
private
Q_SLOTS:
130
131
void
slotSearchTextChanged(
const
SearchTextSettings
&);
132
void
slotDeflautSelection();
133
void
slotSelectAll();
134
void
slotClearSelection();
135
136
private
:
137
138
void
cleanUpMdKeyItem();
139
140
private
:
141
142
// Disable.
143
MetadataSelectorView
() =
delete
;
144
145
private
:
146
147
class
Private;
148
Private*
const
d =
nullptr
;
149
};
150
151
}
// namespace Digikam
152
153
Q_DECLARE_OPERATORS_FOR_FLAGS(Digikam::MetadataSelectorView::ControlElements)
Digikam::MdKeyListViewItem
Definition
mdkeylistviewitem.h:34
Digikam::MetaEngine::TagsMap
QMap< QString, QStringList > TagsMap
Definition
metaengine.h:143
Digikam::MetadataSelectorItem
Definition
metadataselector.h:36
Digikam::MetadataSelectorItem::~MetadataSelectorItem
~MetadataSelectorItem() override=default
Digikam::MetadataSelectorView
Definition
metadataselector.h:85
Digikam::MetadataSelectorView::ControlElement
ControlElement
Definition
metadataselector.h:91
Digikam::MetadataSelectorView::Backend
Backend
Definition
metadataselector.h:100
Digikam::MetadataSelector
Definition
metadataselector.h:61
Digikam::MetadataSelector::~MetadataSelector
~MetadataSelector() override=default
Digikam::SearchTextSettings
Definition
searchtextbar.h:33
digikam_export.h
dmetadata.h
Digikam
Definition
datefolderview.cpp:34
searchtextbar.h
core
libs
widgets
metadata
config
metadataselector.h
Generated by
1.9.8