mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
CodeViewWidget: Add WithDetailedUpdate to update CodeWidget
This used to also update the function calls and callers.
This commit is contained in:
parent
2f85b80b7b
commit
5f629abd8b
@ -442,8 +442,19 @@ void CodeViewWidget::SetAddress(u32 address, SetAddressUpdate update)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
m_address = address;
|
m_address = address;
|
||||||
if (update == SetAddressUpdate::WithUpdate)
|
switch (update)
|
||||||
|
{
|
||||||
|
case SetAddressUpdate::WithoutUpdate:
|
||||||
|
return;
|
||||||
|
case SetAddressUpdate::WithUpdate:
|
||||||
|
// Update the CodeViewWidget
|
||||||
Update();
|
Update();
|
||||||
|
break;
|
||||||
|
case SetAddressUpdate::WithDetailedUpdate:
|
||||||
|
// Update the CodeWidget's views (code view, function calls/callers, ...)
|
||||||
|
emit UpdateCodeWidget();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeViewWidget::ReplaceAddress(u32 address, ReplaceWith replace)
|
void CodeViewWidget::ReplaceAddress(u32 address, ReplaceWith replace)
|
||||||
@ -611,7 +622,7 @@ void CodeViewWidget::OnFollowBranch()
|
|||||||
if (!branch_addr)
|
if (!branch_addr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SetAddress(branch_addr, SetAddressUpdate::WithUpdate);
|
SetAddress(branch_addr, SetAddressUpdate::WithDetailedUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeViewWidget::OnRenameSymbol()
|
void CodeViewWidget::OnRenameSymbol()
|
||||||
@ -785,7 +796,7 @@ void CodeViewWidget::mousePressEvent(QMouseEvent* event)
|
|||||||
if (column(item) == CODE_VIEW_COLUMN_BREAKPOINT)
|
if (column(item) == CODE_VIEW_COLUMN_BREAKPOINT)
|
||||||
ToggleBreakpoint();
|
ToggleBreakpoint();
|
||||||
else
|
else
|
||||||
SetAddress(addr, SetAddressUpdate::WithUpdate);
|
SetAddress(addr, SetAddressUpdate::WithDetailedUpdate);
|
||||||
|
|
||||||
Update();
|
Update();
|
||||||
break;
|
break;
|
||||||
|
@ -25,7 +25,8 @@ public:
|
|||||||
enum class SetAddressUpdate
|
enum class SetAddressUpdate
|
||||||
{
|
{
|
||||||
WithUpdate,
|
WithUpdate,
|
||||||
WithoutUpdate
|
WithoutUpdate,
|
||||||
|
WithDetailedUpdate
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit CodeViewWidget();
|
explicit CodeViewWidget();
|
||||||
@ -49,6 +50,7 @@ signals:
|
|||||||
void ShowMemory(u32 address);
|
void ShowMemory(u32 address);
|
||||||
void SymbolsChanged();
|
void SymbolsChanged();
|
||||||
void BreakpointsChanged();
|
void BreakpointsChanged();
|
||||||
|
void UpdateCodeWidget();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum class ReplaceWith
|
enum class ReplaceWith
|
||||||
|
@ -170,6 +170,7 @@ void CodeWidget::ConnectWidgets()
|
|||||||
connect(m_code_view, &CodeViewWidget::SymbolsChanged, this, &CodeWidget::UpdateSymbols);
|
connect(m_code_view, &CodeViewWidget::SymbolsChanged, this, &CodeWidget::UpdateSymbols);
|
||||||
connect(m_code_view, &CodeViewWidget::BreakpointsChanged, this,
|
connect(m_code_view, &CodeViewWidget::BreakpointsChanged, this,
|
||||||
[this] { emit BreakpointsChanged(); });
|
[this] { emit BreakpointsChanged(); });
|
||||||
|
connect(m_code_view, &CodeViewWidget::UpdateCodeWidget, this, &CodeWidget::Update);
|
||||||
|
|
||||||
connect(m_code_view, &CodeViewWidget::RequestPPCComparison, this,
|
connect(m_code_view, &CodeViewWidget::RequestPPCComparison, this,
|
||||||
&CodeWidget::RequestPPCComparison);
|
&CodeWidget::RequestPPCComparison);
|
||||||
|
@ -419,7 +419,7 @@ void MainWindow::CreateComponents()
|
|||||||
};
|
};
|
||||||
const auto request_view_in_memory = [this](u32 addr) { m_memory_widget->SetAddress(addr); };
|
const auto request_view_in_memory = [this](u32 addr) { m_memory_widget->SetAddress(addr); };
|
||||||
const auto request_view_in_code = [this](u32 addr) {
|
const auto request_view_in_code = [this](u32 addr) {
|
||||||
m_code_widget->SetAddress(addr, CodeViewWidget::SetAddressUpdate::WithUpdate);
|
m_code_widget->SetAddress(addr, CodeViewWidget::SetAddressUpdate::WithDetailedUpdate);
|
||||||
};
|
};
|
||||||
|
|
||||||
connect(m_watch_widget, &WatchWidget::RequestMemoryBreakpoint, request_memory_breakpoint);
|
connect(m_watch_widget, &WatchWidget::RequestMemoryBreakpoint, request_memory_breakpoint);
|
||||||
@ -439,7 +439,7 @@ void MainWindow::CreateComponents()
|
|||||||
connect(m_memory_widget, &MemoryWidget::BreakpointsChanged, m_breakpoint_widget,
|
connect(m_memory_widget, &MemoryWidget::BreakpointsChanged, m_breakpoint_widget,
|
||||||
&BreakpointWidget::Update);
|
&BreakpointWidget::Update);
|
||||||
connect(m_memory_widget, &MemoryWidget::ShowCode, m_code_widget, [this](u32 address) {
|
connect(m_memory_widget, &MemoryWidget::ShowCode, m_code_widget, [this](u32 address) {
|
||||||
m_code_widget->SetAddress(address, CodeViewWidget::SetAddressUpdate::WithUpdate);
|
m_code_widget->SetAddress(address, CodeViewWidget::SetAddressUpdate::WithDetailedUpdate);
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(m_breakpoint_widget, &BreakpointWidget::BreakpointsChanged, m_code_widget,
|
connect(m_breakpoint_widget, &BreakpointWidget::BreakpointsChanged, m_code_widget,
|
||||||
@ -448,7 +448,7 @@ void MainWindow::CreateComponents()
|
|||||||
&MemoryWidget::Update);
|
&MemoryWidget::Update);
|
||||||
connect(m_breakpoint_widget, &BreakpointWidget::SelectedBreakpoint, [this](u32 address) {
|
connect(m_breakpoint_widget, &BreakpointWidget::SelectedBreakpoint, [this](u32 address) {
|
||||||
if (Core::GetState() == Core::State::Paused)
|
if (Core::GetState() == Core::State::Paused)
|
||||||
m_code_widget->SetAddress(address, CodeViewWidget::SetAddressUpdate::WithUpdate);
|
m_code_widget->SetAddress(address, CodeViewWidget::SetAddressUpdate::WithDetailedUpdate);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user