File indexing completed on 2025-03-09 04:54:39

0001 /*
0002   SPDX-FileCopyrightText: 2005 Till Adam <adam@kde.org>
0003   SPDX-FileCopyrightText: 2016 Sandro Knauß <sknauss@kde.org>
0004 
0005   SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "utils/mimetype.h"
0009 #include "utils/iconnamecache.h"
0010 
0011 #include <MimeTreeParser/NodeHelper>
0012 #include <MimeTreeParser/Util>
0013 
0014 #include <KIconLoader>
0015 #include <KMime/Content>
0016 
0017 QString MessageViewer::Util::iconPathForMimetype(const QString &mimeType, int iconSize, const QString &fallbackFileName1, const QString &fallbackFileName2)
0018 {
0019     return IconNameCache::instance()->iconPath(MimeTreeParser::Util::iconNameForMimetype(mimeType, fallbackFileName1, fallbackFileName2), iconSize);
0020 }
0021 
0022 QString MessageViewer::Util::iconPathForContent(KMime::Content *node, int size)
0023 {
0024     return IconNameCache::instance()->iconPath(MimeTreeParser::Util::iconNameForContent(node), size);
0025 }
0026 
0027 MessageViewer::Util::AttachmentDisplayInfo MessageViewer::Util::attachmentDisplayInfo(KMime::Content *node)
0028 {
0029     AttachmentDisplayInfo info;
0030     info.icon = iconPathForContent(node, KIconLoader::Small);
0031     info.label = MimeTreeParser::Util::labelForContent(node);
0032 
0033     const bool typeBlacklisted = MimeTreeParser::Util::isTypeBlacklisted(node);
0034     info.displayInHeader = !info.label.isEmpty() && !info.icon.isEmpty() && !typeBlacklisted;
0035     return info;
0036 }