]> git.sesse.net Git - pkanalytics/blobdiff - mainwindow.h
Make it possible to zoom the VideoWidget.
[pkanalytics] / mainwindow.h
index 4e7095f11dacf8503f10ad72899b657b624ca1be..f7c8830b8125ba6023cbe0f6a9f7eeb01f184ac2 100644 (file)
@@ -6,23 +6,44 @@
 #include "ui_mainwindow.h"
 
 class EventsModel;
+class PlayersModel;
+class FormationsModel;
 
 class MainWindow : public QMainWindow
 {
        Q_OBJECT
 
 public:
-       MainWindow();
-       void setModel(EventsModel *model);
+       MainWindow(EventsModel *events, PlayersModel *players,
+                  FormationsModel *offensive_formations, FormationsModel *defensive_formations);
+       ~MainWindow() {
+               if (ui && ui->video) {
+                       ui->video->stop();
+               }
+       }
 
 private:
+       void position_changed(uint64_t pos);
        void seek(int64_t delta_ms);
+       void insert_player_event(int button_id);
+       void insert_noplayer_event(const std::string &type);
        void set_current_event_type(const std::string &type);
+       void insert_or_change_formation(bool offense);
+       void delete_current_event();
+       void make_substitution();
+       void formation_double_clicked(bool offense, unsigned row);
+
+       void update_ui_from_time(uint64_t t);
+       void update_status(uint64_t t);
+       void update_player_buttons(uint64_t t);
+       void update_action_buttons(uint64_t t);
 
        Ui::MainWindow *ui;
-       EventsModel *model;
+       EventsModel *events;
+       PlayersModel *players;
+       FormationsModel *offensive_formations;
+       FormationsModel *defensive_formations;
        bool seeking = false;
        bool playing = true;
        std::optional<uint64_t> buffered_seek;
-       QMediaPlayer *player;
 };