Improved register written event

This commit is contained in:
Nav
2021-09-12 23:25:34 +01:00
parent 60df8c0d49
commit b81b51790e
8 changed files with 51 additions and 42 deletions

View File

@@ -117,7 +117,7 @@ TargetRegistersPaneWidget::TargetRegistersPaneWidget(
&insightWorker,
&InsightWorker::targetRegistersWritten,
this,
&TargetRegistersPaneWidget::onRegistersWritten
&TargetRegistersPaneWidget::onRegistersRead
);
}
@@ -162,30 +162,6 @@ void TargetRegistersPaneWidget::onRegistersRead(const Targets::TargetRegisters&
}
}
void TargetRegistersPaneWidget::onRegistersWritten(const Bloom::Targets::TargetRegisterDescriptors& descriptors) {
if (this->targetState != Targets::TargetState::STOPPED) {
return;
}
/*
* Don't bother refreshing individual registers if it will involve more than two refresh calls - In this case, it
* will be faster to just refresh all of them at once.
*/
if (descriptors.size() <= 2) {
for (const auto& descriptor : descriptors) {
for (const auto& registerGroupWidget : this->registerGroupWidgets) {
if (registerGroupWidget->registerWidgetsMappedByDescriptor.contains(descriptor)) {
registerGroupWidget->registerWidgetsMappedByDescriptor.at(descriptor)->refreshValue();
break;
}
}
}
} else {
this->refreshRegisterValues();
}
}
void TargetRegistersPaneWidget::filterRegisters(const QString& keyword) {
auto stdKeyword = keyword.toLower().toStdString();