1 #ifndef GUI_HISTORY_H
2 #define GUI_HISTORY_H
3 
4 #include "Gui/Utils/Widgets/Dialog.h"
5 #include "Utils/Session/SessionUtils.h"
6 #include "Utils/Pimpl.h"
7 
8 class QFrame;
9 class QDate;
10 
11 UI_FWD(GUI_History)
12 
13 namespace Session
14 {
15 	class Manager;
16 }
17 
18 class GUI_History :
19 	public Gui::Dialog
20 {
21 	Q_OBJECT
22 	PIMPL(GUI_History)
23 	UI_CLASS(GUI_History)
24 
25 public:
26 	explicit GUI_History(Session::Manager* sessionManager, QWidget* parent=nullptr);
27 	~GUI_History() override;
28 
29 	[[nodiscard]] QFrame* header() const;
30 
31 private:
32 	void initShortcuts();
33 	void requestData(int index);
34 	void loadSelectedDateRange();
35 
36 private slots:
37 	void scrollToTop();
38 	void scrollToBottom();
39 	void loadMore();
40 	void dateRangeClicked();
41 	void clearRangeClicked();
42 	void calendarFinished();
43 
44 protected:
45 	void languageChanged() override;
46 };
47 
48 #endif // GUI_HISTORY_H
49