digiKam
Loading...
Searching...
No Matches
databaseoption.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-19
7 * Description : an option to provide database information to the parser
8 *
9 * SPDX-FileCopyrightText: 2009-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 <QString>
20#include <QMap>
21
22// Local includes
23
24#include "option.h"
25#include "ruledialog.h"
26
27class QLineEdit;
28
29namespace Digikam
30{
31class DbKeysCollection;
32class DbKeySelectorView;
33
35{
36 Q_OBJECT
37
38public:
39
40 explicit DatabaseOptionDialog(Rule* const parent);
41 ~DatabaseOptionDialog() override = default;
42
44 QLineEdit* separatorLineEdit = nullptr;
45
46private:
47
48 // Disable
49 explicit DatabaseOptionDialog(QWidget*) = delete;
51 DatabaseOptionDialog& operator=(const DatabaseOptionDialog&) = delete;
52};
53
54// --------------------------------------------------------
55
56typedef QMap<QString, DbKeysCollection*> DbOptionKeysMap;
57
58// --------------------------------------------------------
59
60class DatabaseOption : public Option
61{
62 Q_OBJECT
63
64public:
65
67 ~DatabaseOption() override;
68
69protected:
70
71 QString parseOperation(ParseSettings& settings,
72 const QRegularExpressionMatch& match) override;
73
74private Q_SLOTS:
75
76 void slotTokenTriggered(const QString& token) override;
77
78private:
79
80 QString parseDatabase(const QString& keyword, ParseSettings& settings);
81 void addDbKeysCollection(DbKeysCollection* key);
82
83 void registerKeysCollection();
84 void unregisterKeysCollection();
85
86private:
87
88 DbOptionKeysMap m_map;
89
90private:
91
92 // Disable
93 explicit DatabaseOption(QObject*) = delete;
94 DatabaseOption(const DatabaseOption&) = delete;
95 DatabaseOption& operator=(const DatabaseOption&) = delete;
96};
97
98} // namespace Digikam
Definition databaseoption.h:35
QLineEdit * separatorLineEdit
Definition databaseoption.h:44
DbKeySelectorView * dbkeySelectorView
Definition databaseoption.h:43
~DatabaseOptionDialog() override=default
Definition databaseoption.h:61
QString parseOperation(ParseSettings &settings, const QRegularExpressionMatch &match) override
Definition databaseoption.cpp:134
DatabaseOption()
Definition databaseoption.cpp:65
~DatabaseOption() override
Definition databaseoption.cpp:78
Definition dbkeyselector.h:79
A class for managing / grouping database keys.
Definition dbkeyscollection.h:37
Definition option.h:25
Definition parsesettings.h:33
Definition ruledialog.h:28
Definition rule.h:32
Definition datefolderview.cpp:34
QMap< QString, DbKeysCollection * > DbOptionKeysMap
Definition databaseoption.h:56