X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=main.cpp;h=ac9b554d2b777e18e0ac801099efc706095a96e4;hb=7a960fbf75a145f30e34f5f803062d91afb81165;hp=560a9a658676b09723edab126b6230a5ac8c3190;hpb=280e1391ec1d4ea4e498377726d7613874335943;p=pkanalytics diff --git a/main.cpp b/main.cpp index 560a9a6..ac9b554 100644 --- a/main.cpp +++ b/main.cpp @@ -140,12 +140,14 @@ MainWindow::MainWindow(EventsModel *events, PlayersModel *players, connect(ui->goal, &QPushButton::clicked, [this]() { set_current_event_type("goal"); }); connect(ui->offensive_soft_plus, &QPushButton::clicked, [this]() { set_current_event_type("offensive_soft_plus"); }); connect(ui->offensive_soft_minus, &QPushButton::clicked, [this]() { set_current_event_type("offensive_soft_minus"); }); - connect(ui->pull, &QPushButton::clicked, [this, events]() { + connect(ui->pull_or_was_d, &QPushButton::clicked, [this, events]() { EventsModel::Status s = events->get_status_at(ui->video->get_position()); if (s.pull_state == EventsModel::Status::SHOULD_PULL) { set_current_event_type("pull"); } else if (s.pull_state == EventsModel::Status::PULL_IN_AIR) { insert_noplayer_event("pull_landed"); + } else if (s.pull_state == EventsModel::Status::NOT_PULLING) { + set_current_event_type("was_d"); } }); @@ -410,7 +412,7 @@ void MainWindow::update_action_buttons(uint64_t t) ui->goal->setEnabled(false); ui->offensive_soft_plus->setEnabled(false); ui->offensive_soft_minus->setEnabled(false); - ui->pull->setEnabled(false); + ui->pull_or_was_d->setEnabled(false); ui->interception->setEnabled(false); ui->their_throwaway->setEnabled(false); ui->our_defense->setEnabled(false); @@ -425,15 +427,15 @@ void MainWindow::update_action_buttons(uint64_t t) } // Defaults for pull-related buttons. - ui->pull->setText("Pull (&p)"); + ui->pull_or_was_d->setText("Pull (&p)"); ui->their_pull->setText("Their pull (&p)"); - ui->pull->setShortcut(QCoreApplication::translate("MainWindow", "P", nullptr)); + ui->pull_or_was_d->setShortcut(QCoreApplication::translate("MainWindow", "P", nullptr)); ui->their_pull->setShortcut(QCoreApplication::translate("MainWindow", "P", nullptr)); ui->throwaway->setText("Throwaway (&t)"); ui->throwaway->setShortcut(QCoreApplication::translate("MainWindow", "T", nullptr)); if (s.pull_state == EventsModel::Status::SHOULD_PULL) { - ui->pull->setEnabled(s.attack_state == EventsModel::Status::DEFENSE && has_selection_with_player); + ui->pull_or_was_d->setEnabled(s.attack_state == EventsModel::Status::DEFENSE && has_selection_with_player); ui->their_pull->setEnabled(s.attack_state == EventsModel::Status::OFFENSE); ui->catch_->setEnabled(false); @@ -452,15 +454,15 @@ void MainWindow::update_action_buttons(uint64_t t) } if (s.pull_state == EventsModel::Status::PULL_IN_AIR) { if (s.attack_state == EventsModel::Status::DEFENSE) { - ui->pull->setText("Pull landed (&p)"); - ui->pull->setShortcut(QCoreApplication::translate("MainWindow", "P", nullptr)); - ui->pull->setEnabled(true); + ui->pull_or_was_d->setText("Pull landed (&p)"); + ui->pull_or_was_d->setShortcut(QCoreApplication::translate("MainWindow", "P", nullptr)); + ui->pull_or_was_d->setEnabled(true); ui->throwaway->setText("Pull OOB (&t)"); ui->throwaway->setShortcut(QCoreApplication::translate("MainWindow", "T", nullptr)); ui->throwaway->setEnabled(true); } else { - ui->pull->setEnabled(false); + ui->pull_or_was_d->setEnabled(false); ui->throwaway->setEnabled(false); } ui->their_pull->setEnabled(false); // We don't track their pull landings; only by means of catch etc. @@ -479,13 +481,18 @@ void MainWindow::update_action_buttons(uint64_t t) return; } + // Not pulling, so reuse the pull button for got d-ed. + ui->pull_or_was_d->setText("Was d-ed (&z)"); + ui->pull_or_was_d->setShortcut(QCoreApplication::translate("MainWindow", "Z", nullptr)); + ui->pull_or_was_d->setEnabled(true); + ui->catch_->setEnabled(s.attack_state == EventsModel::Status::OFFENSE && has_selection_with_player); ui->throwaway->setEnabled(s.attack_state == EventsModel::Status::OFFENSE && has_selection_with_player); ui->drop->setEnabled(s.attack_state == EventsModel::Status::OFFENSE && has_selection_with_player); ui->goal->setEnabled(s.attack_state == EventsModel::Status::OFFENSE && has_selection_with_player); ui->offensive_soft_plus->setEnabled(s.attack_state == EventsModel::Status::OFFENSE && has_selection_with_player); ui->offensive_soft_minus->setEnabled(s.attack_state == EventsModel::Status::OFFENSE && has_selection_with_player); - ui->pull->setEnabled(false); + ui->pull_or_was_d->setEnabled(s.attack_state == EventsModel::Status::OFFENSE && has_selection_with_player); // Was d-ed. ui->interception->setEnabled(s.attack_state == EventsModel::Status::DEFENSE && has_selection_with_player); ui->their_throwaway->setEnabled(s.attack_state == EventsModel::Status::DEFENSE);