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 ¤t); 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 }