]> git.sesse.net Git - pkanalytics/blob - mainwindow.h
Move EventsModel into the MainWindow constructor.
[pkanalytics] / mainwindow.h
1 #include <QMediaPlayer>
2 #include <QMainWindow>
3 #include <QApplication>
4 #include <stdint.h>
5 #include <optional>
6 #include "ui_mainwindow.h"
7
8 class EventsModel;
9
10 class MainWindow : public QMainWindow
11 {
12         Q_OBJECT
13
14 public:
15         MainWindow(EventsModel *events);
16
17 private:
18         void position_changed(uint64_t pos);
19         void seek(int64_t delta_ms);
20         void insert_event(int button_id);
21         void set_current_event_type(const std::string &type);
22         void delete_current_event();
23         void update_status();
24
25         Ui::MainWindow *ui;
26         EventsModel *events;
27         bool seeking = false;
28         bool playing = true;
29         std::optional<uint64_t> buffered_seek;
30         QMediaPlayer *player;
31 };