rssguard/src/gui/messagepreviewer.h
2017-10-19 07:18:13 +02:00

64 lines
1.4 KiB
C++
Executable file

// For license of this file, see <object-root-folder>/LICENSE.md.
#ifndef MESSAGEPREVIEWER_H
#define MESSAGEPREVIEWER_H
#include <QWidget>
#include "ui_messagepreviewer.h"
#include "core/message.h"
#include "services/abstract/rootitem.h"
#include <QPointer>
namespace Ui {
class MessagePreviewer;
}
class QToolBar;
class MessagePreviewer : public QWidget {
Q_OBJECT
public:
explicit MessagePreviewer(QWidget* parent = 0);
virtual ~MessagePreviewer();
void reloadFontSettings();
public slots:
void clear();
void hideToolbar();
void loadMessage(const Message& message, RootItem* root);
private slots:
void markMessageAsRead();
void markMessageAsUnread();
void markMessageAsReadUnread(RootItem::ReadStatus read);
void switchMessageImportance(bool checked);
signals:
void markMessageRead(int id, RootItem::ReadStatus read);
void markMessageImportant(int id, RootItem::Importance important);
void requestMessageListReload(bool mark_current_as_read);
private:
void createConnections();
void updateButtons();
QString prepareHtmlForMessage(const Message& message);
QToolBar* m_toolBar;
QScopedPointer<Ui::MessagePreviewer> m_ui;
Message m_message;
QStringList m_pictures;
QPointer<RootItem> m_root;
QAction* m_actionMarkRead;
QAction* m_actionMarkUnread;
QAction* m_actionSwitchImportance;
};
#endif // MESSAGEPREVIEWER_H