]> git.sesse.net Git - pkanalytics/commitdiff
We only need one set of soft plus/minus buttons.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 22 Jul 2023 18:38:07 +0000 (20:38 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 22 Jul 2023 18:38:07 +0000 (20:38 +0200)
mainwindow.cpp
mainwindow.ui

index af32288d8a33eb083a5ff2f4ba9f5fc58e63cbcd..81e7e92dc7c70f41e68ecf9b2e9f76d249f5e68b 100644 (file)
@@ -212,8 +212,22 @@ MainWindow::MainWindow(EventsModel *events, PlayersModel *players,
        });
        connect(ui->drop, &QPushButton::clicked, [this]() { set_current_event_type("drop"); });
        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->soft_plus, &QPushButton::clicked, [this, events]() {
+               EventsModel::Status s = events->get_status_at(ui->video->get_position());
+               if (s.attack_state == EventsModel::Status::OFFENSE) {
+                       set_current_event_type("offensive_soft_plus");
+               } else if (s.attack_state == EventsModel::Status::DEFENSE) {
+                       set_current_event_type("defensive_soft_plus");
+               }
+       });
+       connect(ui->soft_minus, &QPushButton::clicked, [this, events]() {
+               EventsModel::Status s = events->get_status_at(ui->video->get_position());
+               if (s.attack_state == EventsModel::Status::OFFENSE) {
+                       set_current_event_type("offensive_soft_minus");
+               } else if (s.attack_state == EventsModel::Status::DEFENSE) {
+                       set_current_event_type("defensive_soft_minus");
+               }
+       });
        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) {
@@ -237,8 +251,6 @@ MainWindow::MainWindow(EventsModel *events, PlayersModel *players,
                }
        });
        connect(ui->our_defense, &QPushButton::clicked, [this]() { set_current_event_type("defense"); });
-       connect(ui->defensive_soft_plus, &QPushButton::clicked, [this]() { set_current_event_type("defensive_soft_plus"); });
-       connect(ui->defensive_soft_minus, &QPushButton::clicked, [this]() { set_current_event_type("defensive_soft_minus"); });
 
        connect(ui->offensive_formation, &QPushButton::clicked, [this]() { insert_or_change_formation(/*offense=*/true); });
        connect(ui->defensive_formation, &QPushButton::clicked, [this]() { insert_or_change_formation(/*offense=*/false); });
@@ -485,15 +497,13 @@ void MainWindow::update_action_buttons(uint64_t t)
                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->soft_plus->setEnabled(false);
+               ui->soft_minus->setEnabled(false);
                ui->pull_or_was_d->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->their_pull->setEnabled(false);
                return;
        } else {
@@ -517,14 +527,12 @@ void MainWindow::update_action_buttons(uint64_t t)
                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->soft_plus->setEnabled(false);
+               ui->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);
                return;
        }
        if (s.pull_state == EventsModel::Status::PULL_IN_AIR) {
@@ -545,14 +553,12 @@ void MainWindow::update_action_buttons(uint64_t t)
                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->soft_plus->setEnabled(false);
+               ui->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);
                return;
        }
 
@@ -565,16 +571,14 @@ void MainWindow::update_action_buttons(uint64_t t)
        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->soft_plus->setEnabled(s.attack_state != EventsModel::Status::NOT_STARTED && has_selection_with_player);
+       ui->soft_minus->setEnabled(s.attack_state != EventsModel::Status::NOT_STARTED && has_selection_with_player);
        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);
        ui->our_defense->setEnabled(s.attack_state == EventsModel::Status::DEFENSE && has_selection_with_player);
        ui->their_goal->setEnabled(s.attack_state == EventsModel::Status::DEFENSE);
-       ui->defensive_soft_plus->setEnabled(s.attack_state == EventsModel::Status::DEFENSE && has_selection_with_player);
-       ui->defensive_soft_minus->setEnabled(s.attack_state == EventsModel::Status::DEFENSE && has_selection_with_player);
        ui->their_pull->setEnabled(false);
 }
 
index 207d0c54042892dbdc9887edd125a38ebff718af..845966050d541f772b3eb9bcb2d28563219cea33 100644 (file)
         </item>
         <item>
          <layout class="QGridLayout" name="offense_grid">
-          <item row="4" column="0">
-           <widget class="QPushButton" name="pull_or_was_d">
-            <property name="text">
-             <string>Pull (&amp;p)</string>
-            </property>
-            <property name="shortcut">
-             <string>P</string>
-            </property>
-           </widget>
-          </item>
           <item row="0" column="0">
            <widget class="QPushButton" name="catch_">
             <property name="text">
             </property>
            </widget>
           </item>
-          <item row="4" column="1">
-           <widget class="QPushButton" name="offensive_formation">
-            <property name="enabled">
-             <bool>true</bool>
-            </property>
-            <property name="text">
-             <string>Formation (&amp;o)</string>
-            </property>
-           </widget>
-          </item>
           <item row="0" column="1">
            <widget class="QPushButton" name="throwaway">
             <property name="text">
             </property>
            </widget>
           </item>
-          <item row="2" column="0">
-           <widget class="QPushButton" name="offensive_soft_plus">
+          <item row="1" column="0">
+           <widget class="QPushButton" name="drop">
             <property name="text">
-             <string>Soft plus (&amp;+)</string>
+             <string>Drop (&amp;x)</string>
             </property>
             <property name="shortcut">
-             <string>+</string>
+             <string>X</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="1">
-           <widget class="QPushButton" name="offensive_soft_minus">
+          <item row="1" column="1">
+           <widget class="QPushButton" name="goal">
             <property name="text">
-             <string>Soft minus (&amp;-)</string>
+             <string>Goal (&amp;g)</string>
             </property>
             <property name="shortcut">
-             <string>-</string>
+             <string>G</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="0">
-           <widget class="QPushButton" name="drop">
-            <property name="text">
-             <string>Drop (&amp;x)</string>
+          <item row="3" column="1">
+           <widget class="QPushButton" name="offensive_formation">
+            <property name="enabled">
+             <bool>true</bool>
             </property>
-            <property name="shortcut">
-             <string>X</string>
+            <property name="text">
+             <string>Formation (&amp;o)</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="1">
-           <widget class="QPushButton" name="goal">
+          <item row="3" column="0">
+           <widget class="QPushButton" name="pull_or_was_d">
             <property name="text">
-             <string>Goal (&amp;g)</string>
+             <string>Pull (&amp;p)</string>
             </property>
             <property name="shortcut">
-             <string>G</string>
+             <string>P</string>
             </property>
            </widget>
           </item>
             </property>
            </widget>
           </item>
-          <item row="2" column="0">
-           <widget class="QPushButton" name="defensive_soft_plus">
-            <property name="text">
-             <string>Soft plus (&amp;+)</string>
-            </property>
-            <property name="shortcut">
-             <string>+</string>
-            </property>
-           </widget>
-          </item>
           <item row="0" column="1">
            <widget class="QPushButton" name="their_throwaway">
             <property name="text">
             </property>
            </widget>
           </item>
-          <item row="2" column="1">
-           <widget class="QPushButton" name="defensive_soft_minus">
-            <property name="text">
-             <string>Soft minus (&amp;-)</string>
-            </property>
-            <property name="shortcut">
-             <string>-</string>
-            </property>
-           </widget>
-          </item>
           <item row="1" column="1">
            <widget class="QPushButton" name="their_goal">
             <property name="text">
             </property>
            </widget>
           </item>
-          <item row="3" column="0">
+          <item row="2" column="0">
            <widget class="QPushButton" name="their_pull">
             <property name="text">
              <string>Their pull (&amp;p)</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="1">
+          <item row="2" column="1">
            <widget class="QPushButton" name="defensive_formation">
             <property name="enabled">
              <bool>true</bool>
         </item>
         <item>
          <layout class="QGridLayout" name="misc_grid">
-          <item row="0" column="0">
+          <item row="1" column="1">
+           <widget class="QPushButton" name="stoppage">
+            <property name="text">
+             <string>Stoppage (&amp;v)</string>
+            </property>
+            <property name="shortcut">
+             <string>V</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
            <widget class="QPushButton" name="substitution">
             <property name="text">
              <string>Substitution (&amp;b)</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="0">
+          <item row="2" column="0">
            <widget class="QPushButton" name="unknown">
             <property name="text">
              <string>Unknown (&amp;?)</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="1">
+          <item row="2" column="1">
            <widget class="QPushButton" name="delete_">
             <property name="text">
              <string>Delete (⌫)</string>
             </property>
            </widget>
           </item>
+          <item row="0" column="0">
+           <widget class="QPushButton" name="soft_plus">
+            <property name="text">
+             <string>Soft plus (&amp;+)</string>
+            </property>
+            <property name="shortcut">
+             <string>+</string>
+            </property>
+           </widget>
+          </item>
           <item row="0" column="1">
-           <widget class="QPushButton" name="stoppage">
+           <widget class="QPushButton" name="soft_minus">
             <property name="text">
-             <string>Stoppage (&amp;v)</string>
+             <string>Soft minus (&amp;-)</string>
             </property>
             <property name="shortcut">
-             <string>V</string>
+             <string>-</string>
             </property>
            </widget>
           </item>