KFileMetaData 5.109.0
usermetadata.h
1/*
2 SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
3
4 SPDX-License-Identifier: LGPL-2.1-or-later
5*/
6
7#ifndef KFILEMETADATA_USERMETADATA_H
8#define KFILEMETADATA_USERMETADATA_H
9
10#include "kfilemetadata_export.h"
11#include <QStringList>
12#include <QUrl>
13
14#include <memory>
15
16namespace KFileMetaData {
17
18class UserMetaDataPrivate;
22class KFILEMETADATA_EXPORT UserMetaData {
23public:
24 UserMetaData(const QString &filePath);
25 UserMetaData(const UserMetaData &rhs);
26 virtual ~UserMetaData();
27
28 enum Error {
29 NoError = 0
30 };
31
35 enum Attribute : uint32_t {
36 None = 0x0,
37 Any = None,
38 Tags = 0x1,
39 Rating = 0x2,
40 Comment = 0x4,
41 OriginUrl = 0x8,
42 OriginEmailSubject = 0x10,
43 OriginEmailSender = 0x20,
45 Other = 0xffffff80,
46 All = 0xffffffff,
47 };
51 Q_DECLARE_FLAGS(Attributes, Attribute)
52
53 const UserMetaData& operator =(const UserMetaData& rhs);
54
55 QString filePath() const;
56 bool isSupported() const;
57
58 Error setTags(const QStringList& tags);
59 QStringList tags() const;
60
61 int rating() const;
62 Error setRating(int rating);
63
64 QString userComment() const;
65 Error setUserComment(const QString& userComment);
66
67 QUrl originUrl() const;
68 Error setOriginUrl(const QUrl &originUrl);
69
70 QString originEmailSubject() const;
71 Error setOriginEmailSubject(const QString &originEmailSubject);
72
73 QString originEmailSender() const;
74 Error setOriginEmailSender(const QString &originEmailSender);
75
76 QString originEmailMessageId() const;
77 Error setOriginEmailMessageId(const QString &originEmailMessageId);
78
79 QString attribute(const QString& name);
80 Error setAttribute(const QString& name, const QString& value);
81 bool hasAttribute(const QString& name);
82
96 Attributes queryAttributes(Attributes attributes = Attribute::Any) const;
97
98private:
99 const std::unique_ptr<UserMetaDataPrivate> d;
100};
101
102Q_DECLARE_OPERATORS_FOR_FLAGS(UserMetaData::Attributes)
103}
104
105#endif // KFILEMETADATA_USERMETADATA_H
@ Rating
For ratings stored in Metadata tags.
Definition properties.h:347
@ Comment
Represents a comment stored in the file.
Definition properties.h:77
@ OriginEmailSender
The sender of the email this file was originally attached to.
Definition properties.h:287
@ OriginUrl
The URL this file has originally been downloaded from.
Definition properties.h:277
@ OriginEmailSubject
The subject of the email this file was originally attached to.
Definition properties.h:282
@ OriginEmailMessageId
The message ID of the email this file was originally attached to.
Definition properties.h:292