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