ui->play_pause->setShortcut(QCoreApplication::translate("MainWindow", "Space", nullptr));
});
- connect(ui->player_1, &QPushButton::clicked, [this]() {
- ui->event_view->selectRow(model->insert_event(player->position(), 1));
- });
- connect(ui->player_2, &QPushButton::clicked, [this]() {
- ui->event_view->selectRow(model->insert_event(player->position(), 2));
- });
- connect(ui->player_3, &QPushButton::clicked, [this]() {
- ui->event_view->selectRow(model->insert_event(player->position(), 3));
- });
- connect(ui->player_4, &QPushButton::clicked, [this]() {
- ui->event_view->selectRow(model->insert_event(player->position(), 4));
- });
- connect(ui->player_5, &QPushButton::clicked, [this]() {
- ui->event_view->selectRow(model->insert_event(player->position(), 5));
- });
- connect(ui->player_6, &QPushButton::clicked, [this]() {
- ui->event_view->selectRow(model->insert_event(player->position(), 6));
- });
- connect(ui->player_7, &QPushButton::clicked, [this]() {
- ui->event_view->selectRow(model->insert_event(player->position(), 7));
- });
+ connect(ui->player_1, &QPushButton::clicked, [this]() { insert_event(1); });
+ connect(ui->player_2, &QPushButton::clicked, [this]() { insert_event(2); });
+ connect(ui->player_3, &QPushButton::clicked, [this]() { insert_event(3); });
+ connect(ui->player_4, &QPushButton::clicked, [this]() { insert_event(4); });
+ connect(ui->player_5, &QPushButton::clicked, [this]() { insert_event(5); });
+ connect(ui->player_6, &QPushButton::clicked, [this]() { insert_event(6); });
+ connect(ui->player_7, &QPushButton::clicked, [this]() { insert_event(7); });
// TODO: disable if nothing is selected
connect(ui->catch_, &QPushButton::clicked, [this]() { set_current_event_type("catch"); });
{
ui->event_view->setModel(model);
this->model = model;
+ connect(ui->event_view->selectionModel(), &QItemSelectionModel::currentRowChanged,
+ [this, model](const QModelIndex ¤t, const QModelIndex &previous) {
+ player->setPosition(model->get_time(current.row()));
+ });
}
void MainWindow::seek(int64_t delta_ms)
}
}
+void MainWindow::insert_event(int button_id)
+{
+ ui->event_view->selectionModel()->blockSignals(true);
+ ui->event_view->selectRow(model->insert_event(player->position(), button_id));
+ ui->event_view->selectionModel()->blockSignals(false);
+}
+
void MainWindow::set_current_event_type(const string &type)
{
QItemSelectionModel *select = ui->event_view->selectionModel();
return;
}
int row = select->selectedRows().front().row(); // Should only be one, due to our selection behavior.
+ ui->event_view->selectionModel()->blockSignals(true);
model->delete_event(row);
+ ui->event_view->selectionModel()->blockSignals(false);
update_status();
}