File indexing completed on 2024-06-02 05:28:57

0001 /*
0002   SPDX-FileCopyrightText: 2000 Hans Dijkema <kmailcvt@hum.org>
0003   SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org>
0004 
0005   SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include "mailimporter_export.h"
0011 #include <QString>
0012 #include <memory>
0013 class QWidget;
0014 namespace MailImporter
0015 {
0016 class FilterInfoGui;
0017 /**
0018  * @brief The FilterInfo class
0019  */
0020 class MAILIMPORTER_EXPORT FilterInfo
0021 {
0022 public:
0023     FilterInfo();
0024     ~FilterInfo();
0025 
0026     void setFilterInfoGui(FilterInfoGui *filterinfogui);
0027 
0028     void setStatusMessage(const QString &status);
0029     void setFrom(const QString &from);
0030     void setTo(const QString &to);
0031     void setCurrent(const QString &current);
0032     void setCurrent(int percent = 0);
0033     void setOverall(int percent = 0);
0034     void addInfoLogEntry(const QString &log);
0035     void addErrorLogEntry(const QString &log);
0036     void clear();
0037     void alert(const QString &message);
0038 
0039     static void terminateASAP();
0040     [[nodiscard]] bool shouldTerminate() const;
0041 
0042     QWidget *parentWidget() const;
0043     void setRemoveDupMessage(bool removeDupMessage);
0044     [[nodiscard]] bool removeDupMessage() const;
0045 
0046 private:
0047     class FilterInfoPrivate;
0048     std::unique_ptr<FilterInfoPrivate> const d;
0049 };
0050 }