File indexing completed on 2025-02-16 04:45:58

0001 /*
0002    SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "importfilterinfogui.h"
0008 #include "importmailpage.h"
0009 
0010 #include <MailImporter/ImportMailsWidget>
0011 
0012 #include <KMessageBox>
0013 #include <QApplication>
0014 
0015 #include <QListWidgetItem>
0016 
0017 ImportFilterInfoGui::ImportFilterInfoGui(ImportMailPage *parent)
0018     : MailImporter::FilterInfoGui()
0019     , m_parent(parent)
0020 {
0021 }
0022 
0023 ImportFilterInfoGui::~ImportFilterInfoGui() = default;
0024 
0025 void ImportFilterInfoGui::setStatusMessage(const QString &status)
0026 {
0027     m_parent->mailWidget()->setStatusMessage(status);
0028 }
0029 
0030 void ImportFilterInfoGui::setFrom(const QString &from)
0031 {
0032     m_parent->mailWidget()->setFrom(from);
0033 }
0034 
0035 void ImportFilterInfoGui::setTo(const QString &to)
0036 {
0037     m_parent->mailWidget()->setTo(to);
0038 }
0039 
0040 void ImportFilterInfoGui::setCurrent(const QString &current)
0041 {
0042     m_parent->mailWidget()->setCurrent(current);
0043     qApp->processEvents();
0044 }
0045 
0046 void ImportFilterInfoGui::setCurrent(int percent)
0047 {
0048     m_parent->mailWidget()->setCurrent(percent);
0049     qApp->processEvents(); // Be careful - back & finish buttons disabled, so only user event that can happen is cancel/close button
0050 }
0051 
0052 void ImportFilterInfoGui::setOverall(int percent)
0053 {
0054     m_parent->mailWidget()->setOverall(percent);
0055 }
0056 
0057 void ImportFilterInfoGui::addInfoLogEntry(const QString &log)
0058 {
0059     auto item = new QListWidgetItem(log);
0060     item->setForeground(Qt::blue);
0061     m_parent->mailWidget()->addItem(item);
0062     m_parent->mailWidget()->setLastCurrentItem();
0063     qApp->processEvents();
0064 }
0065 
0066 void ImportFilterInfoGui::addErrorLogEntry(const QString &log)
0067 {
0068     auto item = new QListWidgetItem(log);
0069     item->setForeground(Qt::red);
0070     m_parent->mailWidget()->addItem(item);
0071     m_parent->mailWidget()->setLastCurrentItem();
0072     qApp->processEvents();
0073 }
0074 
0075 void ImportFilterInfoGui::clear()
0076 {
0077     m_parent->mailWidget()->clear();
0078 }
0079 
0080 void ImportFilterInfoGui::alert(const QString &message)
0081 {
0082     KMessageBox::information(m_parent, message);
0083 }
0084 
0085 QWidget *ImportFilterInfoGui::parent() const
0086 {
0087     return m_parent;
0088 }