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

0001 /*
0002    SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "dkimchecksignaturejob.h"
0010 #include "messageviewer_export.h"
0011 #include <Akonadi/Item>
0012 #include <QWidget>
0013 class QLabel;
0014 namespace MessageViewer
0015 {
0016 /**
0017  * @brief The DKIMWidgetInfo class
0018  * @author Laurent Montel <montel@kde.org>
0019  */
0020 class MESSAGEVIEWER_EXPORT DKIMWidgetInfo : public QWidget
0021 {
0022     Q_OBJECT
0023 public:
0024     explicit DKIMWidgetInfo(QWidget *parent = nullptr);
0025     ~DKIMWidgetInfo() override;
0026     void setResult(const MessageViewer::DKIMCheckSignatureJob::CheckSignatureResult &checkResult, Akonadi::Item::Id id);
0027     void clear();
0028 
0029     [[nodiscard]] Akonadi::Item::Id currentItemId() const;
0030     void setCurrentItemId(Akonadi::Item::Id currentItemId);
0031 
0032     [[nodiscard]] MessageViewer::DKIMCheckSignatureJob::CheckSignatureResult result() const;
0033 
0034 protected:
0035     [[nodiscard]] bool event(QEvent *e) override;
0036 
0037 private:
0038     MESSAGEVIEWER_NO_EXPORT void updateInfo();
0039     MESSAGEVIEWER_NO_EXPORT void updateToolTip();
0040     MESSAGEVIEWER_NO_EXPORT void initColors();
0041     MESSAGEVIEWER_NO_EXPORT void updatePalette();
0042     MessageViewer::DKIMCheckSignatureJob::CheckSignatureResult mResult;
0043     QLabel *const mLabel;
0044     QColor mWarningColor;
0045     QColor mErrorColor;
0046     QColor mOkColor;
0047     QColor mDefaultColor;
0048     Akonadi::Item::Id mCurrentItemId = -1;
0049 };
0050 }