digiKam
Loading...
Searching...
No Matches
dbkeyselector.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-05-22
7 * Description : database key selector.
8 *
9 * SPDX-FileCopyrightText: 2010-2012 by Andi Clemens <andi dot clemens 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 "searchtextbar.h"
26#include "databaseoption.h"
27
28namespace Digikam
29{
30class DbHeaderListItem;
31
32class DbKeySelectorItem : public QTreeWidgetItem
33{
34
35public:
36
37 explicit DbKeySelectorItem(DbHeaderListItem* const parent, const QString& title, const QString& desc);
38 ~DbKeySelectorItem() override = default;
39
40 QString key() const;
41 QString description() const;
42
43private:
44
45 QString m_key;
46 QString m_description;
47
48private:
49
50 // Disable
51 DbKeySelectorItem(const DbKeySelectorItem&) = delete;
52 DbKeySelectorItem& operator=(const DbKeySelectorItem&) = delete;
53};
54
55// ------------------------------------------------------------------------------------
56
57class DbKeySelector : public QTreeWidget
58{
59 Q_OBJECT
60
61public:
62
63 explicit DbKeySelector(QWidget* const parent);
64 ~DbKeySelector() override = default;
65
66 void setKeysMap(const DbOptionKeysMap& map);
67 QStringList checkedKeysList();
68
69private:
70
71 // Disable
72 DbKeySelector(const DbKeySelector&) = delete;
73 DbKeySelector& operator=(const DbKeySelector&) = delete;
74};
75
76// ------------------------------------------------------------------------------------
77
78class DbKeySelectorView : public QWidget
79{
80 Q_OBJECT
81
82public:
83
84 explicit DbKeySelectorView(QWidget* const parent);
85 ~DbKeySelectorView() override;
86
87 void setKeysMap(const DbOptionKeysMap& map);
88 QStringList checkedKeysList() const;
89
90private Q_SLOTS:
91
92 void slotSearchTextChanged(const SearchTextSettings&);
93
94private:
95
96 void removeChildlessHeaders();
97
98private:
99
100 // Disable
101 DbKeySelectorView(const DbKeySelectorView&) = delete;
102 DbKeySelectorView& operator=(const DbKeySelectorView&) = delete;
103
104private:
105
106 class Private;
107 Private* const d = nullptr;
108};
109
110} // namespace Digikam
Definition dbheaderlistitem.h:29
Definition dbkeyselector.h:33
~DbKeySelectorItem() override=default
QString description() const
Definition dbkeyselector.cpp:71
QString key() const
Definition dbkeyselector.cpp:66
Definition dbkeyselector.h:79
void setKeysMap(const DbOptionKeysMap &map)
Definition dbkeyselector.cpp:178
~DbKeySelectorView() override
Definition dbkeyselector.cpp:173
QStringList checkedKeysList() const
Definition dbkeyselector.cpp:183
Definition dbkeyselector.h:58
~DbKeySelector() override=default
QStringList checkedKeysList()
Definition dbkeyselector.cpp:119
void setKeysMap(const DbOptionKeysMap &map)
Definition dbkeyselector.cpp:96
Definition searchtextbar.h:33
Definition datefolderview.cpp:34
QMap< QString, DbKeysCollection * > DbOptionKeysMap
Definition databaseoption.h:56