GUI: Profile-specific icon for systray
[trojita.git] / src / UiUtils / PartLoadingOptions.h
blobbbae6e7d6287538f856e9dd4fd1b72e3fd54fad4
1 /* Copyright (C) 2006 - 2014 Jan Kundrát <jkt@flaska.net>
3 This file is part of the Trojita Qt IMAP e-mail client,
4 http://trojita.flaska.net/
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License as
8 published by the Free Software Foundation; either version 2 of
9 the License or (at your option) version 3 or any later version
10 accepted by the membership of KDE e.V. (or its successor approved
11 by the membership of KDE e.V.), which shall act as a proxy
12 defined in Section 14 of version 3 of the license.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 #ifndef UIUTILS_PARTLOADINGOPTIONS_H
24 #define UIUTILS_PARTLOADINGOPTIONS_H
26 #include <QFlags>
28 namespace UiUtils {
30 /** @short Are the parts supposed to be visible immediately, or only after their respective View is shown? */
31 typedef enum {
32 PART_IGNORE_DISPOSITION_ATTACHMENT = 1 << 0, /**< @short Don't wrap the part in an AttachmentView */
33 PART_IGNORE_CLICKTHROUGH = 1 << 1, /**< @short Ignore any heuristics which lead to wrapping in an LoadablePartView with a clickthrough */
34 PART_IGNORE_LOAD_ON_SHOW = 1 << 2, /**< @short Ignore wrapping in a LoadablePartView set up to load on first show event */
35 PART_IS_HIDDEN = 1 << 3, /**< @short Request wrapping this part in a LoadablePartView */
36 PART_PREFER_PLAINTEXT_OVER_HTML = 1 << 4, /**< @short The user's preferences indicate that a text/plain part shall be shown instead of a text/html if available */
37 PART_IGNORE_INLINE = 1 << 5, /**< @short Do not auto-expand this attachment */
38 } PartLoadingFlag;
39 /** @short Which of these options shall be propagated to child Views when embedding them, and which shall be filtered? */
40 enum {
41 MASK_PROPAGATE_WHEN_EMBEDDING =
42 PART_IS_HIDDEN | PART_PREFER_PLAINTEXT_OVER_HTML
44 typedef QFlags<PartLoadingFlag> PartLoadingOptions;
48 #endif