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

0001 /*
0002     SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.net
0003     SPDX-FileContributor: Tobias Koenig <tokoe@kdab.com>
0004 
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #pragma once
0010 
0011 #include "messageviewer_export.h"
0012 
0013 #include "messageviewer/viewer.h"
0014 
0015 #include <QObject>
0016 
0017 namespace MessageViewer
0018 {
0019 /**
0020  * @short A viewer handler to mark viewed messages as read.
0021  */
0022 class MESSAGEVIEWER_EXPORT MarkMessageReadHandler : public QObject, public AbstractMessageLoadedHandler
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     /**
0028      * Creates a new mark message read handler.
0029      *
0030      * @param parent The parent object.
0031      */
0032     explicit MarkMessageReadHandler(QObject *parent = nullptr);
0033 
0034     /**
0035      * Destroys the mark message read handler.
0036      */
0037     ~MarkMessageReadHandler() override;
0038 
0039     /**
0040      * @copydoc AbstractMessageLoadedHandler::setItem()
0041      */
0042     void setItem(const Akonadi::Item &item) override;
0043 
0044 private:
0045     //@cond PRIVATE
0046     class MarkMessageReadHandlerPrivate;
0047     friend class MarkMessageReadHandlerPrivate;
0048     std::unique_ptr<MarkMessageReadHandlerPrivate> const d;
0049     //@endcond
0050 };
0051 }