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