summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mimetreeparser/util.h
blob: 099c647aefda24ab5107eb6fc287f956e08eb450 (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
/*
  Copyright (c) 2016 Sandro Knauß <sknauss@kde.org>

  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 of the License, or
  (at your option) any later version.

  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, write to the Free Software Foundation, Inc.,
  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

#ifndef __MIMETREEPARSER_UTILS_UTIL_H__
#define __MIMETREEPARSER_UTILS_UTIL_H__

#include <QString>

class QMimeType;

namespace KMime
{
class Content;
}

namespace MimeTreeParser
{

/**
 * The Util namespace contains a collection of helper functions use in
 * various places.
 */
namespace Util
{

/**
      * Describes the type of the displayed message. This depends on the MIME structure
      * of the mail and on whether HTML mode is enabled (which is decided by htmlMail())
      */
enum HtmlMode {
    Normal,         ///< A normal plaintext message, non-multipart
    Html,           ///< A HTML message, non-multipart
    MultipartPlain, ///< A multipart/alternative message, the plain text part is currently displayed
    MultipartHtml,  ///< A multipart/altervative message, the HTML part is currently displayed
    MultipartIcal   ///< A multipart/altervative message, the ICal part is currently displayed
};

bool isTypeBlacklisted(KMime::Content *node);

QString labelForContent(KMime::Content *node);

QMimeType mimetype(const QString &name);

QString iconNameForMimetype(const QString &mimeType,
        const QString &fallbackFileName1 = QString(),
        const QString &fallbackFileName2 = QString());

QString iconNameForContent(KMime::Content *node);
}
}

#endif