MemoryViewWidget: Add OnFrameEnd callback to auto-update memory while a game is running.

This commit is contained in:
TryTwo
2024-06-24 14:18:41 -07:00
parent 3edb5accca
commit 32e135e6a9
4 changed files with 56 additions and 1 deletions

View File

@ -340,13 +340,38 @@ void MemoryWidget::ConnectWidgets()
void MemoryWidget::closeEvent(QCloseEvent*)
{
Settings::Instance().SetMemoryVisible(false);
RemoveAfterFrameEventCallback();
}
void MemoryWidget::showEvent(QShowEvent* event)
{
RegisterAfterFrameEventCallback();
Update();
}
void MemoryWidget::hideEvent(QHideEvent* event)
{
RemoveAfterFrameEventCallback();
}
void MemoryWidget::RegisterAfterFrameEventCallback()
{
m_vi_end_field_event = VIEndFieldEvent::Register([this] { AutoUpdateTable(); }, "MemoryWidget");
}
void MemoryWidget::RemoveAfterFrameEventCallback()
{
m_vi_end_field_event.reset();
}
void MemoryWidget::AutoUpdateTable()
{
if (!isVisible())
return;
m_memory_view->UpdateOnFrameEnd();
}
void MemoryWidget::Update()
{
if (!isVisible())