digiKam
Loading...
Searching...
No Matches
subjectwidget.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 : 2006-10-15
7 * Description : IPTC subjects editor.
8 *
9 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at googlemail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QByteArray>
21#include <QMap>
22#include <QStringList>
23#include <QUrl>
24#include <QScrollArea>
25#include <QCheckBox>
26#include <QLabel>
27#include <QLineEdit>
28
29// Local includes
30
31#include "digikam_export.h"
32#include "dtextedit.h"
33
34namespace Digikam
35{
36
37class DIGIKAM_EXPORT SubjectData
38{
39public:
40
41 SubjectData(const QString& n, const QString& m, const QString& d)
42 : name (n),
43 matter(m),
44 detail(d)
45 {
46 }
47
48 QString name;
49 QString matter;
50 QString detail;
51};
52
53// --------------------------------------------------------------------------------
54
55class DIGIKAM_EXPORT SubjectWidget : public QScrollArea
56{
57 Q_OBJECT
58
59public:
60
61 explicit SubjectWidget(QWidget* const parent, bool sizesLimited = false);
62 ~SubjectWidget() override;
63
64 void setSubjectsList(const QStringList& list);
65 QStringList subjectsList() const;
66
67Q_SIGNALS:
68
70
71protected Q_SLOTS:
72
73 virtual void slotSubjectsToggled(bool);
74 virtual void slotRefChanged();
75 virtual void slotEditOptionChanged(int);
76 virtual void slotSubjectSelectionChanged();
77 virtual void slotAddSubject();
78 virtual void slotDelSubject();
79 virtual void slotRepSubject();
80
81protected:
82
83 virtual bool loadSubjectCodesFromXML(const QUrl& url);
84 virtual QString buildSubject() const;
85
86protected:
87
88 QLabel* m_note = nullptr;
89
90 QCheckBox* m_subjectsCheck = nullptr;
91
92 QLineEdit* m_iprEdit = nullptr;
93 QLineEdit* m_refEdit = nullptr;
94 DTextEdit* m_nameEdit = nullptr;
95 DTextEdit* m_matterEdit = nullptr;
96 DTextEdit* m_detailEdit = nullptr;
97
98 QString m_iprDefault;
99
100private:
101
102 class Private;
103 Private* const d = nullptr;
104};
105
106} // namespace Digikam
Definition dtextedit.h:41
Definition subjectwidget.h:38
SubjectData(const QString &n, const QString &m, const QString &d)
Definition subjectwidget.h:41
QString name
English and Name of subject.
Definition subjectwidget.h:48
QString matter
English and Matter Name of subject.
Definition subjectwidget.h:49
QString detail
English and Detail Name of subject.
Definition subjectwidget.h:50
Definition subjectwidget.h:56
QString m_iprDefault
Definition subjectwidget.h:98
Definition datefolderview.cpp:34