Ram Search - make manual removal of addresses undo-able, slight cleanup of Start method

This commit is contained in:
adelikat 2013-12-27 16:48:47 +00:00
parent 4ea95ac94e
commit 098fca2895
2 changed files with 16 additions and 7 deletions

View File

@ -55,50 +55,53 @@ namespace BizHawk.Client.Common
case Watch.WatchSize.Byte: case Watch.WatchSize.Byte:
if (_settings.Mode == Settings.SearchMode.Detailed) if (_settings.Mode == Settings.SearchMode.Detailed)
{ {
for (int i = 0; i < _settings.Domain.Size; i++) for (int i = 0; i < domain.Size; i++)
{ {
_watchList.Add(new MiniByteWatchDetailed(domain, i)); _watchList.Add(new MiniByteWatchDetailed(domain, i));
} }
} }
else else
{ {
for (int i = 0; i < _settings.Domain.Size; i++) for (int i = 0; i < domain.Size; i++)
{ {
_watchList.Add(new MiniByteWatch(domain, i)); _watchList.Add(new MiniByteWatch(domain, i));
} }
} }
break; break;
case Watch.WatchSize.Word: case Watch.WatchSize.Word:
if (_settings.Mode == Settings.SearchMode.Detailed) if (_settings.Mode == Settings.SearchMode.Detailed)
{ {
for (int i = 0; i < _settings.Domain.Size; i += (_settings.CheckMisAligned ? 1 : 2)) for (int i = 0; i < domain.Size; i += (_settings.CheckMisAligned ? 1 : 2))
{ {
_watchList.Add(new MiniWordWatchDetailed(domain, i, _settings.BigEndian)); _watchList.Add(new MiniWordWatchDetailed(domain, i, _settings.BigEndian));
} }
} }
else else
{ {
for (int i = 0; i < _settings.Domain.Size; i += (_settings.CheckMisAligned ? 1 : 2)) for (int i = 0; i < domain.Size; i += (_settings.CheckMisAligned ? 1 : 2))
{ {
_watchList.Add(new MiniWordWatch(domain, i, _settings.BigEndian)); _watchList.Add(new MiniWordWatch(domain, i, _settings.BigEndian));
} }
} }
break; break;
case Watch.WatchSize.DWord: case Watch.WatchSize.DWord:
if (_settings.Mode == Settings.SearchMode.Detailed) if (_settings.Mode == Settings.SearchMode.Detailed)
{ {
for (int i = 0; i < _settings.Domain.Size; i += (_settings.CheckMisAligned ? 1 : 4)) for (int i = 0; i < domain.Size; i += (_settings.CheckMisAligned ? 1 : 4))
{ {
_watchList.Add(new MiniDWordWatchDetailed(domain, i, _settings.BigEndian)); _watchList.Add(new MiniDWordWatchDetailed(domain, i, _settings.BigEndian));
} }
} }
else else
{ {
for (int i = 0; i < _settings.Domain.Size; i += (_settings.CheckMisAligned ? 1 : 4)) for (int i = 0; i < domain.Size; i += (_settings.CheckMisAligned ? 1 : 4))
{ {
_watchList.Add(new MiniDWordWatch(domain, i, _settings.BigEndian)); _watchList.Add(new MiniDWordWatch(domain, i, _settings.BigEndian));
} }
} }
break; break;
} }
@ -316,6 +319,11 @@ namespace BizHawk.Client.Common
public void RemoveRange(IEnumerable<int> addresses) public void RemoveRange(IEnumerable<int> addresses)
{ {
if (_keepHistory)
{
_history.AddState(_watchList);
}
_watchList = _watchList.Where(x => !addresses.Contains(x.Address)).ToList(); _watchList = _watchList.Where(x => !addresses.Contains(x.Address)).ToList();
} }

View File

@ -738,6 +738,7 @@ namespace BizHawk.Client.EmuHawk
WatchListView.ItemCount = _searches.Count; WatchListView.ItemCount = _searches.Count;
SetTotal(); SetTotal();
WatchListView.SelectedIndices.Clear(); WatchListView.SelectedIndices.Clear();
ToggleSearchDependentToolBarItems();
} }
} }