JS8Call-Improved master
Loading...
Searching...
No Matches
MessagePanel.h
1#ifndef JS8CALL_MESSAGEPANEL_H
2#define JS8CALL_MESSAGEPANEL_H
3#include "JS8_Main/Inbox.h"
4#include "JS8_Main/Message.h"
5
6#include <QItemSelection>
7#include <QPair>
8#include <QWidget>
9
10class QAction;
11class QMenu;
12
13namespace Ui {
14class MessagePanel;
15}
16
17class MessagePanel : public QWidget {
18 Q_OBJECT
19public:
20 explicit MessagePanel(QString inboxPath, QWidget* parent = nullptr);
21 ~MessagePanel() override;
22signals:
23 void replyMessage(const QString &call);
24 void countsUpdated();
25 void requestFloat();
26 void requestDock();
27 void messageDeleted(int id);
28
29public slots:
30 void setCall(const QString &call);
31 void refresh();
32 void populateMessages(QList<QPair<int, Message>> msgs);
33 QString prepareReplyMessage(QString path, QString text);
34
35private slots:
36 void messageTableSelectionChanged(const QItemSelection & /*selected*/,
37 const QItemSelection & /*deselected*/);
38 void on_replyPushButton_clicked();
39
40private:
41 void configureReplyButton(int row, const QString &messageText);
42 void resetReplyButton();
43 void emitReplyAction(QAction *action);
44 QString prepareStoreForwardReplyMessage(QString path, QString recipient,
45 QString text);
46 void deleteSelectedMessages(); // shared by context menu + Delete key
47 void deleteMessage(int id);
48 void markMessageRead(int id);
49 Ui::MessagePanel *ui;
50 Inbox *inbox;
51 QMenu *replyMenu;
52 QAction *replyToPathAction;
53 QAction *replyToOriginalViaPathAction;
54 QAction *replyToOriginalAction;
55 QString call;
56};
57#endif // JS8CALL_MESSAGEPANEL_H
Definition Inbox.h:15
Definition qpriorityqueue.h:39