Fix go to address UX in RAM Search

This commit is contained in:
YoshiRulz 2019-04-22 01:09:18 +10:00
parent f599b33ee2
commit 2bb63c2bf1
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 16 additions and 17 deletions

View File

@ -927,32 +927,31 @@ namespace BizHawk.Client.EmuHawk
Message = "Enter a hexadecimal value"
};
var result = prompt.ShowHawkDialog();
if (result == DialogResult.OK)
while (prompt.ShowHawkDialog() == DialogResult.OK)
{
if (prompt.PromptText.IsHex())
try
{
int addr;
try
{
addr = int.Parse(prompt.PromptText, NumberStyles.HexNumber);
}
catch (OverflowException e)
{
//TODO repeat dialog `prompt` / show error?
return;
}
var addr = int.Parse(prompt.PromptText, NumberStyles.HexNumber);
for (int index = 0; index < _searches.Count; index++)
{
if (addr == _searches[index].Address)
if (_searches[index].Address == addr)
{
WatchListView.SelectItem(index, true);
WatchListView.ensureVisible();
break;
return; // Don't re-show dialog on success
}
}
//TODO add error text to dialog?
// Re-show dialog if the address isn't found
}
catch (FormatException e)
{
// Re-show dialog if given invalid text (shouldn't happen)
}
catch (OverflowException e)
{
//TODO add error text to dialog?
// Re-show dialog if the address isn't valid
}
}
}