add speed limit violations interface to the settings pane

This commit is contained in:
ccolin 2021-01-04 14:19:05 +01:00
parent d48a05212b
commit 72c6a89727
2 changed files with 22 additions and 0 deletions

View File

@ -25,6 +25,8 @@ SettingsPane::SettingsPane(QWidget *parent)
this, &SettingsPane::toggledGuides);
connect(collisions, &QListWidget::itemClicked,
[&](QListWidgetItem *item) { emit bookmarkClicked(((BookmarkItem *) item)->getFrame()); });
connect(speeding_violations, &QListWidget::itemClicked,
[&](QListWidgetItem *item) { emit bookmarkClicked(((BookmarkItem *) item)->getFrame()); });
QTabWidget *tabs = new QTabWidget();
@ -50,9 +52,26 @@ void SettingsPane::addCollision(int idA, int idB, int frame) {
}
void SettingsPane::addSpeedingViolation(int id, int frame, double speed) {
BookmarkItem *item = new BookmarkItem("Frame " + QString::number(frame) + ": #"
+ QString::number(id) + " (" + QString::number(speed) + ")",
frame);
item->setFlags(Qt::ItemIsEnabled | Qt::ItemNeverHasChildren);
speeding_violations->addItem(item);
}
void SettingsPane::clearCollisions() {
QListWidgetItem *item;
while ((item = collisions->takeItem(0)) != nullptr) {
delete item;
}
}
void SettingsPane::clearSpeedingViolations() {
QListWidgetItem *item;
while ((item = speeding_violations->takeItem(0)) != nullptr) {
delete item;
}
}

View File

@ -28,10 +28,13 @@ public:
public slots:
void addCollision(int idA, int idB, int frame);
void addSpeedingViolation(int id, int frame, double speed);
void clearCollisions();
void clearSpeedingViolations();
signals:
void sphereRadiusChanged(double sqRadius);
void speedLimitChanged(double limit);
void toggledTrajectories(int shown);
void toggledGuides(int shown);
void bookmarkClicked(int frame);