digiKam
Loading...
Searching...
No Matches
advancedmetadatatab.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 : 2015-06-16
7 * Description : Advanced Configuration tab for metadata.
8 *
9 * SPDX-FileCopyrightText: 2015 by Veaceslav Munteanu <veaceslav dot munteanu90 at gmail.com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QWidget>
20
21// Local includes
22
24
25class QStandardItemModel;
26class QStandardItem;
27
28namespace Digikam
29{
30
31class AdvancedMetadataTab : public QWidget
32{
33 Q_OBJECT
34
35public:
36
37 explicit AdvancedMetadataTab(QWidget* const parent = nullptr);
38 ~AdvancedMetadataTab() override;
39
40 void applySettings();
41
42public Q_SLOTS:
43
44 void slotSaveProfile();
45 void slotLoadProfile();
46 void slotResetToDefault();
47 void slotRevertChanges();
49 void slotEditNamespace();
50
51private Q_SLOTS:
52
53 void slotUnifyChecked(bool value);
54 void slotAllTagsChecked(bool value);
55 void slotIndexChanged();
56 void slotRevertChangesAvailable();
57
58private:
59
64 enum NsRoles
65 {
66 NAME_ROLE = Qt::UserRole + 1,
67 ISTAG_ROLE = Qt::UserRole + 2,
68 SEPARATOR_ROLE = Qt::UserRole + 3,
69 NSTYPE_ROLE = Qt::UserRole + 5,
70
71 ZEROSTAR_ROLE = Qt::UserRole + 6,
72 ONESTAR_ROLE = Qt::UserRole + 7,
73 TWOSTAR_ROLE = Qt::UserRole + 8,
74 THREESTAR_ROLE = Qt::UserRole + 9,
75 FOURSTAR_ROLE = Qt::UserRole + 10,
76 FIVESTAR_ROLE = Qt::UserRole + 11,
77
78 SPECIALOPTS_ROLE = Qt::UserRole + 12,
79
80 ALTNAME_ROLE = Qt::UserRole + 13,
81 SUBSPACE_ROLE = Qt::UserRole + 14,
82 ALTNAMEOPTS_ROLE = Qt::UserRole + 15,
83
84 ISDEFAULT_ROLE = Qt::UserRole + 16
85 };
86
87private:
88
89 void connectButtons();
90
96 void setModelData(QStandardItemModel* const model, const QList<NamespaceEntry>& container);
97 void setUi();
98
99 void setDataToItem(QStandardItem* const item, const NamespaceEntry& entry);
100
107 int getModelIndex();
108
109 QList<NamespaceEntry>& getCurrentContainer();
110
111 void setModels();
112
113 void updateContainer();
114
115 void saveModelData(QStandardItemModel* const model, QList<NamespaceEntry>& container);
116
117private:
118
119 class Private;
120 Private* const d = nullptr;
121};
122
123} // namespace Digikam
Definition advancedmetadatatab.h:32
void slotSaveProfile()
Definition advancedmetadatatab.cpp:121
void slotLoadProfile()
Definition advancedmetadatatab.cpp:148
~AdvancedMetadataTab() override
Definition advancedmetadatatab.cpp:116
void slotAddNewNamespace()
Definition advancedmetadatatab.cpp:224
void applySettings()
Definition advancedmetadatatab.cpp:295
void slotEditNamespace()
Definition advancedmetadatatab.cpp:273
void slotResetToDefault()
Definition advancedmetadatatab.cpp:192
void slotRevertChanges()
Definition advancedmetadatatab.cpp:213
The NamespaceEntry class provide a simple container for dmetadata namespaces variables,...
Definition dmetadatasettingscontainer.h:41
qulonglong value
Definition itemviewutilities.cpp:585
Definition datefolderview.cpp:34