1 // For license of this file, see <project-root-folder>/LICENSE.md.
2 
3 #ifndef NEWSPAPERPREVIEWER_H
4 #define NEWSPAPERPREVIEWER_H
5 
6 #include <QWidget>
7 
8 #include "gui/tabcontent.h"
9 
10 #include "ui_newspaperpreviewer.h"
11 
12 #include "core/message.h"
13 #include "services/abstract/rootitem.h"
14 
15 #include <QPointer>
16 
17 namespace Ui {
18   class NewspaperPreviewer;
19 }
20 
21 class RootItem;
22 
23 #if defined(USE_WEBENGINE)
24 class WebBrowser;
25 #endif
26 
27 class NewspaperPreviewer : public TabContent {
28   Q_OBJECT
29 
30   public:
31     explicit NewspaperPreviewer(int msg_height, RootItem* root, QList<Message> messages, QWidget* parent = nullptr);
32 
33 #if defined(USE_WEBENGINE)
34     virtual WebBrowser* webBrowser() const;
35 #endif
36 
37   public slots:
38     void showMoreMessages();
39 
40   signals:
41     void markMessageRead(int id, RootItem::ReadStatus read);
42     void markMessageImportant(int id, RootItem::Importance important);
43 
44   private:
45     int m_msgHeight;
46     QScopedPointer<Ui::NewspaperPreviewer> m_ui;
47     QPointer<RootItem> m_root;
48     QList<Message> m_messages;
49 };
50 
51 #endif // NEWSPAPERPREVIEWER_H
52