+ // Defaults for pull-related buttons.
+ ui->pull->setText("Pull (&p)");
+ ui->their_pull->setText("Their pull (&p)");
+ ui->pull->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->their_pull->setEnabled(s.attack_state == EventsModel::Status::OFFENSE);
+
+ ui->catch_->setEnabled(false);
+ ui->throwaway->setEnabled(false);
+ ui->drop->setEnabled(false);
+ ui->goal->setEnabled(false);
+ ui->offensive_soft_plus->setEnabled(false);
+ ui->offensive_soft_minus->setEnabled(false);
+ ui->interception->setEnabled(false);
+ ui->their_throwaway->setEnabled(false);
+ ui->our_defense->setEnabled(false);
+ ui->their_goal->setEnabled(false);
+ ui->defensive_soft_plus->setEnabled(false);
+ ui->defensive_soft_minus->setEnabled(false);
+ ui->our_foul->setEnabled(false);
+ return;
+ }
+ 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->throwaway->setText("Pull OOB (&t)");
+ ui->throwaway->setShortcut(QCoreApplication::translate("MainWindow", "T", nullptr));
+ ui->throwaway->setEnabled(true);
+ } else {
+ ui->pull->setEnabled(false);
+ ui->throwaway->setEnabled(false);
+ }
+ ui->their_pull->setEnabled(false); // We don't track their pull landings; only by means of catch etc.
+
+ ui->catch_->setEnabled(false);
+ ui->drop->setEnabled(false);
+ ui->goal->setEnabled(false);
+ ui->offensive_soft_plus->setEnabled(false);
+ ui->offensive_soft_minus->setEnabled(false);
+ ui->interception->setEnabled(false);
+ ui->their_throwaway->setEnabled(false);
+ ui->our_defense->setEnabled(false);
+ ui->their_goal->setEnabled(false);
+ ui->defensive_soft_plus->setEnabled(false);
+ ui->defensive_soft_minus->setEnabled(false);
+ ui->our_foul->setEnabled(false);
+ return;
+ }
+