DolphinWX: Allow short-hand searching in the code window
Lessens the restrictions on the searching in the code view. Now typing out the full 8 digit hex number isn't needed. For example, you don't need to type 000000FF to go to FF, you just literally type FF. Also makes JumpToAddress a boolean function to remain consistent with the DSP code view. This will also change the address search box to have a red background if either an invalid hex number is given, or if it's longer than 8 characters
This commit is contained in:
parent
dc526aa0a6
commit
26f3867e20
|
@ -195,10 +195,18 @@ void CCodeWindow::OnCodeStep(wxCommandEvent& event)
|
|||
Parent->UpdateGUI();
|
||||
}
|
||||
|
||||
void CCodeWindow::JumpToAddress(u32 _Address)
|
||||
bool CCodeWindow::JumpToAddress(u32 address)
|
||||
{
|
||||
codeview->Center(_Address);
|
||||
UpdateLists();
|
||||
// Jump to anywhere in memory
|
||||
if (address <= 0xFFFFFFFF)
|
||||
{
|
||||
codeview->Center(address);
|
||||
UpdateLists();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void CCodeWindow::OnCodeViewChange(wxCommandEvent &event)
|
||||
|
@ -208,20 +216,27 @@ void CCodeWindow::OnCodeViewChange(wxCommandEvent &event)
|
|||
|
||||
void CCodeWindow::OnAddrBoxChange(wxCommandEvent& event)
|
||||
{
|
||||
if (!GetToolBar()) return;
|
||||
if (!GetToolBar())
|
||||
return;
|
||||
|
||||
wxTextCtrl* pAddrCtrl = (wxTextCtrl*)GetToolBar()->FindControl(IDM_ADDRBOX);
|
||||
wxString txt = pAddrCtrl->GetValue();
|
||||
wxString txt = pAddrCtrl->GetValue().Strip(wxString::stripType::both);
|
||||
|
||||
std::string text(WxStrToStr(txt));
|
||||
text = StripSpaces(text);
|
||||
if (text.size() == 8)
|
||||
bool success = false;
|
||||
unsigned long addr;
|
||||
if (txt.ToULong(&addr, 16))
|
||||
{
|
||||
u32 addr;
|
||||
sscanf(text.c_str(), "%08x", &addr);
|
||||
JumpToAddress(addr);
|
||||
if (JumpToAddress(addr))
|
||||
success = true;
|
||||
}
|
||||
|
||||
if (success)
|
||||
pAddrCtrl->SetBackgroundColour(wxNullColour);
|
||||
else
|
||||
pAddrCtrl->SetBackgroundColour(*wxRED);
|
||||
|
||||
pAddrCtrl->Refresh();
|
||||
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ class CCodeWindow
|
|||
bool AutomaticStart();
|
||||
bool JITNoBlockCache();
|
||||
bool JITBlockLinking();
|
||||
void JumpToAddress(u32 _Address);
|
||||
bool JumpToAddress(u32 address);
|
||||
|
||||
void Update() override;
|
||||
void NotifyMapLoaded();
|
||||
|
|
Loading…
Reference in New Issue