Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Metadata.h « core « src - github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 2aa70da36ce0ad3ad9556e81a92755cf8cfa1bb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*
 *  Copyright (C) 2010 Felix Geyer <debfx@fobos.de>
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 2 or (at your option)
 *  version 3 of the License.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef KEEPASSX_METADATA_H
#define KEEPASSX_METADATA_H

#include <QtCore/QDateTime>
#include <QtCore/QHash>
#include <QtGui/QIcon>

#include "core/Uuid.h"

class Database;
class Group;

class Metadata : public QObject
{
    Q_OBJECT

public:
    explicit Metadata(Database* parent);

    QString generator() const;
    QString name() const;
    QDateTime nameChanged() const;
    QString description() const;
    QDateTime descriptionChanged() const;
    QString defaultUserName() const;
    QDateTime defaultUserNameChanged() const;
    int maintenanceHistoryDays() const;
    bool protectTitle() const;
    bool protectUsername() const;
    bool protectPassword() const;
    bool protectUrl() const;
    bool protectNotes() const;
    bool autoEnableVisualHiding() const;
    QIcon customIcon(const Uuid& uuid) const;
    QHash<Uuid, QIcon> customIcons() const;
    bool recycleBinEnabled() const;
    const Group* recycleBin() const;
    QDateTime recycleBinChanged() const;
    const Group* entryTemplatesGroup() const;
    QDateTime entryTemplatesGroupChanged() const;
    const Group* lastSelectedGroup() const;
    const Group* lastTopVisibleGroup() const;
    QDateTime masterKeyChanged() const;
    int masterKeyChangeRec() const;
    int masterKeyChangeForce() const;
    QHash<QString, QString> customFields() const;

    void setGenerator(const QString& value);
    void setName(const QString& value);
    void setNameChanged(const QDateTime& value);
    void setDescription(const QString& value);
    void setDescriptionChanged(const QDateTime& value);
    void setDefaultUserName(const QString& value);
    void setDefaultUserNameChanged(const QDateTime& value);
    void setMaintenanceHistoryDays(int value);
    void setProtectTitle(bool value);
    void setProtectUsername(bool value);
    void setProtectPassword(bool value);
    void setProtectUrl(bool value);
    void setProtectNotes(bool value);
    void setAutoEnableVisualHiding(bool value);
    void addCustomIcon(const Uuid& uuid, const QIcon& icon);
    void removeCustomIcon(const Uuid& uuid);
    void setRecycleBinEnabled(bool value);
    void setRecycleBin(Group* group);
    void setRecycleBinChanged(const QDateTime& value);
    void setEntryTemplatesGroup(Group* group);
    void setEntryTemplatesGroupChanged(const QDateTime& value);
    void setLastSelectedGroup(Group* group);
    void setLastTopVisibleGroup(Group* group);
    void setMasterKeyChanged(const QDateTime& value);
    void setMasterKeyChangeRec(int value);
    void setMasterKeyChangeForce(int value);
    void addCustomField(const QString& key, const QString& value);
    void removeCustomField(const QString& key);

Q_SIGNALS:
    void nameTextChanged(Database* db);

private:
    Database* m_parent;

    QString m_generator;
    QString m_name;
    QDateTime m_nameChanged;
    QString m_description;
    QDateTime m_descriptionChanged;
    QString m_defaultUserName;
    QDateTime m_defaultUserNameChanged;
    int m_maintenanceHistoryDays;

    bool m_protectTitle;
    bool m_protectUsername;
    bool m_protectPassword;
    bool m_protectUrl;
    bool m_protectNotes;
    bool m_autoEnableVisualHiding;

    QHash<Uuid, QIcon> m_customIcons;

    bool m_recycleBinEnabled;
    Group* m_recycleBin;
    QDateTime m_recycleBinChanged;
    Group* m_entryTemplatesGroup;
    QDateTime m_entryTemplatesGroupChanged;
    Group* m_lastSelectedGroup;
    Group* m_lastTopVisibleGroup;

    QDateTime m_masterKeyChanged;
    int m_masterKeyChangeRec;
    int m_masterKeyChangeForce;

    QHash<QString, QString> m_customFields;
};

#endif // KEEPASSX_METADATA_H