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

0001 /*  -*- c++ -*-
0002     headerstrategy.cpp
0003 
0004     This file is part of KMail, the KDE mail client.
0005     SPDX-FileCopyrightText: 2003 Marc Mutz <mutz@kde.org>
0006 
0007     SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
0008 
0009     SPDX-License-Identifier: GPL-2.0-or-later
0010 */
0011 
0012 #include "headerstrategy.h"
0013 
0014 //
0015 // HeaderStrategy abstract base:
0016 //
0017 using namespace MessageViewer;
0018 HeaderStrategy::HeaderStrategy() = default;
0019 
0020 HeaderStrategy::~HeaderStrategy() = default;
0021 
0022 QStringList HeaderStrategy::headersToDisplay() const
0023 {
0024     return {};
0025 }
0026 
0027 QStringList HeaderStrategy::headersToHide() const
0028 {
0029     return {};
0030 }
0031 
0032 bool HeaderStrategy::showHeader(const QString &header) const
0033 {
0034     const QString headerLower(header.toLower());
0035     if (headersToDisplay().contains(headerLower)) {
0036         return true;
0037     }
0038     if (headersToHide().contains(headerLower)) {
0039         return false;
0040     }
0041     return defaultPolicy() == Display;
0042 }
0043 
0044 QStringList HeaderStrategy::stringList(const char *const headers[], int numHeaders)
0045 {
0046     QStringList sl;
0047     sl.reserve(numHeaders);
0048     for (int i = 0; i < numHeaders; ++i) {
0049         sl.push_back(QLatin1StringView(headers[i]));
0050     }
0051     return sl;
0052 }