1/*
2 This file is part of KFileMetaData
3 SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
4
5 SPDX-License-Identifier: LGPL-2.1-or-later
6*/
7
8#ifndef KFILEMETADATA_TYPES
9#define KFILEMETADATA_TYPES
10
11#include <QVariant>
12
13/*!
14 * \namespace KFileMetaData
15 * \inheaderfile KFileMetaData/Types
16 * \inmodule KFileMetaData
17 * The KFileMetaData namespace
18 */
19namespace KFileMetaData
20{
21
22/*!
23 * \namespace KFileMetaData::Type
24 * \inmodule KFileMetaData
25 * The Type namespace
26 */
27namespace Type
28{
29
30/*!
31 * A Type represents a way to represent a way to group files based on
32 * a higher level view, which the user generally expects.
33 *
34 * Every extractor provides a list of types applicable for each file.
35 *
36 * \omitvalue FirstType
37 * \value Empty
38 * \value Archive A file which contains a compressed collection of other files, e.g. tar, zip, rar, gz.
39 * File types which use e.g. zip as an implementation detail -
40 * Java JAR files, OpenDocument formats, etc. - are not treated as Archive
41 * \value Audio Used to mark any file which just contains audio. Do not use this type if the file also contains Video
42 * \value Video Any file which contains Video. It may also contain Audio
43 * \value Image Any Image file. This includes both raster and vector formats
44 * \value Document Any file which counts as a document. Documents are generally
45 * files which contain rich text, formatting and maybe images, but also just plain text
46 * \value Spreadsheet A SpreadSheet file. This is a specialization of the Document type.
47 * Any file which has this type should also have the Document type
48 * \value Presentation A Presentation file. This is a specialization of the Document type.
49 * Any file which has this type should also have the Document type
50 * \value Text Any file which contains text data (i.e. not binary data) counts as
51 * a Text file. As this also includes various file types which contain
52 * data collections (e.g. csv, json) or code (e.g. QML, Makefile),
53 * "Document" is typically the more appropriate type
54 * \value Folder A directory or folder
55 * \omitvalue LastType
56 */
57enum Type {
58 FirstType = 0,
59 Empty = 0,
60 Archive,
61 Audio,
62 Video,
63 Image,
64 Document,
65 Spreadsheet,
66 Presentation,
67 Text,
68 Folder,
69 LastType = Folder
70};
71
72} // namespace Type
73} // namespace KFileMetaData
74
75Q_DECLARE_METATYPE(KFileMetaData::Type::Type)
76
77#endif
78

source code of kfilemetadata/src/types.h