ToolManager - support autoloading from custom settings that inherit ToolDialogSettings, Ram Search - convert recent files to ConfigPersist

This commit is contained in:
adelikat 2015-01-01 02:08:45 +00:00
parent 8a13733f9b
commit 89fcceecfc
6 changed files with 288 additions and 467 deletions

View File

@ -244,45 +244,6 @@ namespace BizHawk.Client.Common
public Watch.PreviousType RamWatchDefinePrevious = Watch.PreviousType.LastFrame; public Watch.PreviousType RamWatchDefinePrevious = Watch.PreviousType.LastFrame;
public bool DisplayRamWatch = false; public bool DisplayRamWatch = false;
// RamSearch Settings
public ToolDialogSettings RamSearchSettings = new ToolDialogSettings();
public int RamSearchPrev_Type = 1;
public RecentFiles RecentSearches = new RecentFiles(8);
public int RamSearchPreviousAs = 0;
public bool RamSearchPreviewMode = true;
public bool RamSearchAlwaysExcludeRamWatch = false;
public int RamSearchAddressWidth = -1;
public int RamSearchValueWidth = -1;
public int RamSearchPrevWidth = -1;
public int RamSearchChangesWidth = -1;
public int RamSearchAddressIndex = 0;
public int RamSearchValueIndex = 1;
public int RamSearchPrevIndex = 2;
public int RamSearchChangesIndex = 3;
public bool RamSearchFastMode = false;
public Dictionary<string, int> RamSearchColumnWidths = new Dictionary<string, int>
{
{ "AddressColumn", -1 },
{ "ValueColumn", -1 },
{ "PrevColumn", -1 },
{ "ChangesColumn", -1 },
{ "DiffColumn", -1 },
};
public Dictionary<string, int> RamSearchColumnIndexes = new Dictionary<string, int>
{
{ "AddressColumn", 0 },
{ "ValueColumn", 1 },
{ "PrevColumn", 2 },
{ "ChangesColumn", 3 },
{ "DiffColumn", 4 },
};
public bool RamSearchShowPrevColumn = true;
public bool RamSearchShowChangeColumn = true;
public bool RamSearchShowDiffColumn = false;
// HexEditor Settings // HexEditor Settings
public ToolDialogSettings HexEditorSettings = new ToolDialogSettings(); public ToolDialogSettings HexEditorSettings = new ToolDialogSettings();
public bool AutoLoadHexEditor = false; public bool AutoLoadHexEditor = false;

View File

@ -362,11 +362,6 @@ namespace BizHawk.Client.EmuHawk
GlobalWin.Tools.LoadRamWatch(!Global.Config.DisplayRamWatch); GlobalWin.Tools.LoadRamWatch(!Global.Config.DisplayRamWatch);
} }
if (Global.Config.RecentSearches.AutoLoad)
{
GlobalWin.Tools.Load<RamSearch>();
}
if (Global.Config.AutoLoadHexEditor) if (Global.Config.AutoLoadHexEditor)
{ {
GlobalWin.Tools.Load<HexEditor>(); GlobalWin.Tools.Load<HexEditor>();

View File

@ -95,7 +95,17 @@ namespace BizHawk.Client.EmuHawk
public void AutoLoad() public void AutoLoad()
{ {
foreach (var typename in Global.Config.CommonToolSettings.Where(kvp => kvp.Value.AutoLoad).Select(kvp => kvp.Key)) var genericSettings = Global.Config.CommonToolSettings
.Where(kvp => kvp.Value.AutoLoad)
.Select(kvp => kvp.Key);
var customSettings = Global.Config.CustomToolSettings
.Where(list => list.Value.Any(kvp => typeof(ToolDialogSettings).IsAssignableFrom(kvp.Value.GetType()) && (kvp.Value as ToolDialogSettings).AutoLoad))
.Select(kvp => kvp.Key);
var typeNames = genericSettings.Concat(customSettings);
foreach (var typename in typeNames)
{ {
// this type resolution might not be sufficient. more investigation is needed // this type resolution might not be sufficient. more investigation is needed
Type t = Type.GetType(typename); Type t = Type.GetType(typename);

File diff suppressed because it is too large Load Diff

View File

@ -27,14 +27,6 @@ namespace BizHawk.Client.EmuHawk
public partial class RamSearch : Form, IToolForm public partial class RamSearch : Form, IToolForm
{ {
// TODO: DoSearch grabs the state of widgets and passes it to the engine before running, so rip out code that is attempting to keep the state up to date through change events // TODO: DoSearch grabs the state of widgets and passes it to the engine before running, so rip out code that is attempting to keep the state up to date through change events
private readonly Dictionary<string, int> _defaultColumnWidths = new Dictionary<string, int>
{
{ WatchList.ADDRESS, 60 },
{ WatchList.VALUE, 59 },
{ WatchList.PREV, 59 },
{ WatchList.CHANGES, 55 },
{ WatchList.DIFF, 59 },
};
private string _currentFileName = string.Empty; private string _currentFileName = string.Empty;
@ -53,21 +45,6 @@ namespace BizHawk.Client.EmuHawk
public const int MaxDetailedSize = 1024 * 1024; // 1mb, semi-arbituary decision, sets the size to check for and automatically switch to fast mode for the user public const int MaxDetailedSize = 1024 * 1024; // 1mb, semi-arbituary decision, sets the size to check for and automatically switch to fast mode for the user
public const int MaxSupportedSize = 1024 * 1024 * 64; // 64mb, semi-arbituary decision, sets the maximum size ram search will support (as it will crash beyond this) public const int MaxSupportedSize = 1024 * 1024 * 64; // 64mb, semi-arbituary decision, sets the maximum size ram search will support (as it will crash beyond this)
[RequiredService]
public IMemoryDomains Core { get; set; }
[RequiredService]
public IEmulator Emu { get; set; }
public bool AskSaveChanges()
{
return true;
}
public bool UpdateBefore
{
get { return false; }
}
#region Initialize, Load, and Save #region Initialize, Load, and Save
public RamSearch() public RamSearch()
@ -84,7 +61,26 @@ namespace BizHawk.Client.EmuHawk
_sortedColumn = string.Empty; _sortedColumn = string.Empty;
_sortReverse = false; _sortReverse = false;
TopMost = Global.Config.RamSearchSettings.TopMost; Settings = new RamSearchSettings();
}
[RequiredService]
public IMemoryDomains Core { get; set; }
[RequiredService]
public IEmulator Emu { get; set; }
[ConfigPersist]
public RamSearchSettings Settings { get; set; }
public bool AskSaveChanges()
{
return true;
}
public bool UpdateBefore
{
get { return false; }
} }
private void HardSetDisplayTypeDropDown(Watch.DisplayType type) private void HardSetDisplayTypeDropDown(Watch.DisplayType type)
@ -114,8 +110,18 @@ namespace BizHawk.Client.EmuHawk
} }
} }
private void ColumnToggleCallback()
{
SaveColumnInfo();
LoadColumnInfo();
}
private void RamSearch_Load(object sender, EventArgs e) private void RamSearch_Load(object sender, EventArgs e)
{ {
TopMost = Settings.TopMost;
RamSearchMenu.Items.Add(Settings.Columns.GenerateColumnsMenu(ColumnToggleCallback));
_settings = new RamSearchEngine.Settings(Core); _settings = new RamSearchEngine.Settings(Core);
_searches = new RamSearchEngine(_settings, Core); _searches = new RamSearchEngine(_settings, Core);
@ -164,7 +170,7 @@ namespace BizHawk.Client.EmuHawk
var nextColor = Color.White; var nextColor = Color.White;
var isCheat = Global.CheatList.IsActive(_settings.Domain, _searches[index].Address ?? 0); var isCheat = Global.CheatList.IsActive(_settings.Domain, _searches[index].Address ?? 0);
var isWeeded = Global.Config.RamSearchPreviewMode && !_forcePreviewClear && _searches.Preview(_searches[index].Address ?? 0); var isWeeded = Settings.PreviewMode && !_forcePreviewClear && _searches.Preview(_searches[index].Address ?? 0);
if (_searches[index].Address.Value >= _searches[index].Domain.Size) if (_searches[index].Address.Value >= _searches[index].Domain.Size)
{ {
@ -222,17 +228,17 @@ namespace BizHawk.Client.EmuHawk
_defaultWidth = Size.Width; _defaultWidth = Size.Width;
_defaultHeight = Size.Height; _defaultHeight = Size.Height;
if (Global.Config.RamSearchSettings.UseWindowPosition) if (Settings.UseWindowPosition)
{ {
Location = Global.Config.RamSearchSettings.WindowPosition; Location = Settings.WindowPosition;
} }
if (Global.Config.RamSearchSettings.UseWindowSize) if (Settings.UseWindowSize)
{ {
Size = Global.Config.RamSearchSettings.WindowSize; Size = Settings.WindowSize;
} }
TopMost = Global.Config.RamSearchSettings.TopMost; TopMost = Settings.TopMost;
LoadColumnInfo(); LoadColumnInfo();
} }
@ -297,10 +303,10 @@ namespace BizHawk.Client.EmuHawk
{ {
SaveColumnInfo(); SaveColumnInfo();
Global.Config.RamSearchSettings.Wndx = Location.X; Settings.Wndx = Location.X;
Global.Config.RamSearchSettings.Wndy = Location.Y; Settings.Wndy = Location.Y;
Global.Config.RamSearchSettings.Width = Right - Left; Settings.Width = Right - Left;
Global.Config.RamSearchSettings.Height = Bottom - Top; Settings.Height = Bottom - Top;
} }
public void NewSearch() public void NewSearch()
@ -311,7 +317,7 @@ namespace BizHawk.Client.EmuHawk
_searches = new RamSearchEngine(_settings, Core, compareTo, compareVal, differentBy); _searches = new RamSearchEngine(_settings, Core, compareTo, compareVal, differentBy);
_searches.Start(); _searches.Start();
if (Global.Config.RamSearchAlwaysExcludeRamWatch) if (Settings.AlwaysExcludeRamWatch)
{ {
RemoveRamWatchesFromList(); RemoveRamWatchesFromList();
} }
@ -401,7 +407,7 @@ namespace BizHawk.Client.EmuHawk
private void RefreshFloatingWindowControl() private void RefreshFloatingWindowControl()
{ {
Owner = Global.Config.RamSearchSettings.FloatingWindow ? null : GlobalWin.MainForm; Owner = Settings.FloatingWindow ? null : GlobalWin.MainForm;
} }
private void ToggleSearchDependentToolBarItems() private void ToggleSearchDependentToolBarItems()
@ -570,7 +576,7 @@ namespace BizHawk.Client.EmuHawk
if (!file.Exists) if (!file.Exists)
{ {
Global.Config.RecentSearches.HandleLoadError(path); Settings.RecentSearches.HandleLoadError(path);
} }
else else
{ {
@ -600,69 +606,24 @@ namespace BizHawk.Client.EmuHawk
private void LoadColumnInfo() private void LoadColumnInfo()
{ {
WatchListView.Columns.Clear(); WatchListView.Columns.Clear();
WatchListView.AddColumn(WatchList.ADDRESS, true, GetColumnWidth(WatchList.ADDRESS));
WatchListView.AddColumn(WatchList.VALUE, true, GetColumnWidth(WatchList.VALUE));
WatchListView.AddColumn(WatchList.PREV, Global.Config.RamSearchShowPrevColumn, GetColumnWidth(WatchList.PREV));
WatchListView.AddColumn(WatchList.CHANGES, Global.Config.RamSearchShowChangeColumn, GetColumnWidth(WatchList.CHANGES));
WatchListView.AddColumn(WatchList.DIFF, Global.Config.RamSearchShowDiffColumn, GetColumnWidth(WatchList.DIFF));
ColumnPositions(); var columns = Settings.Columns
} .Where(c => c.Visible)
.OrderBy(c => c.Index);
private void ColumnPositions() foreach (var column in columns)
{
var columns = Global.Config.RamSearchColumnIndexes
.Where(x => WatchListView.Columns.ContainsKey(x.Key))
.OrderBy(x => x.Value).ToList();
for (var i = 0; i < columns.Count; i++)
{ {
WatchListView.Columns[columns[i].Key].DisplayIndex = i; WatchListView.AddColumn(column);
} }
} }
private void SaveColumnInfo() private void SaveColumnInfo()
{ {
if (WatchListView.Columns[WatchList.ADDRESS] != null) foreach (ColumnHeader column in WatchListView.Columns)
{ {
Global.Config.RamSearchColumnIndexes[WatchList.ADDRESS] = WatchListView.Columns[WatchList.ADDRESS].DisplayIndex; Settings.Columns[column.Name].Index = column.DisplayIndex;
Global.Config.RamSearchColumnWidths[WatchList.ADDRESS] = WatchListView.Columns[WatchList.ADDRESS].Width; Settings.Columns[column.Name].Width = column.Width;
} }
if (WatchListView.Columns[WatchList.VALUE] != null)
{
Global.Config.RamSearchColumnIndexes[WatchList.VALUE] = WatchListView.Columns[WatchList.VALUE].DisplayIndex;
Global.Config.RamSearchColumnWidths[WatchList.VALUE] = WatchListView.Columns[WatchList.VALUE].Width;
}
if (WatchListView.Columns[WatchList.PREV] != null)
{
Global.Config.RamSearchColumnIndexes[WatchList.PREV] = WatchListView.Columns[WatchList.PREV].DisplayIndex;
Global.Config.RamSearchColumnWidths[WatchList.PREV] = WatchListView.Columns[WatchList.PREV].Width;
}
if (WatchListView.Columns[WatchList.CHANGES] != null)
{
Global.Config.RamSearchColumnIndexes[WatchList.CHANGES] = WatchListView.Columns[WatchList.CHANGES].DisplayIndex;
Global.Config.RamSearchColumnWidths[WatchList.CHANGES] = WatchListView.Columns[WatchList.CHANGES].Width;
}
if (WatchListView.Columns[WatchList.DIFF] != null)
{
Global.Config.RamSearchColumnIndexes[WatchList.DIFF] = WatchListView.Columns[WatchList.DIFF].DisplayIndex;
Global.Config.RamSearchColumnWidths[WatchList.DIFF] = WatchListView.Columns[WatchList.DIFF].Width;
}
}
private int GetColumnWidth(string columnName)
{
var width = Global.Config.RamSearchColumnWidths[columnName];
if (width == -1)
{
width = _defaultColumnWidths[columnName];
}
return width;
} }
private void DoDisplayTypeClick(Watch.DisplayType type) private void DoDisplayTypeClick(Watch.DisplayType type)
@ -786,7 +747,7 @@ namespace BizHawk.Client.EmuHawk
DifferenceRadio.Enabled = true; DifferenceRadio.Enabled = true;
DifferentByBox.Enabled = true; DifferentByBox.Enabled = true;
ClearChangeCountsToolBarItem.Enabled = true; ClearChangeCountsToolBarItem.Enabled = true;
WatchListView.Columns[WatchList.CHANGES].Width = Global.Config.RamSearchColumnWidths[WatchList.CHANGES]; WatchListView.Columns[WatchList.CHANGES].Width = Settings.Columns[WatchList.CHANGES].Width;
SetReboot(true); SetReboot(true);
} }
@ -809,7 +770,7 @@ namespace BizHawk.Client.EmuHawk
PreviousValueRadio.Checked = true; PreviousValueRadio.Checked = true;
} }
Global.Config.RamSearchColumnWidths[WatchList.CHANGES] = WatchListView.Columns[WatchList.CHANGES].Width; Settings.Columns[WatchList.CHANGES].Width = WatchListView.Columns[WatchList.CHANGES].Width;
WatchListView.Columns[WatchList.CHANGES].Width = 0; WatchListView.Columns[WatchList.CHANGES].Width = 0;
SetReboot(true); SetReboot(true);
} }
@ -855,7 +816,7 @@ namespace BizHawk.Client.EmuHawk
} }
UpdateList(); UpdateList();
Global.Config.RecentSearches.Add(file.FullName); Settings.RecentSearches.Add(file.FullName);
if (!append && !truncate) if (!append && !truncate)
{ {
@ -873,7 +834,7 @@ namespace BizHawk.Client.EmuHawk
{ {
GlobalWin.Tools.LoadRamWatch(true); GlobalWin.Tools.LoadRamWatch(true);
watches.ForEach(GlobalWin.Tools.RamWatch.AddWatch); watches.ForEach(GlobalWin.Tools.RamWatch.AddWatch);
if (Global.Config.RamSearchAlwaysExcludeRamWatch) if (Settings.AlwaysExcludeRamWatch)
{ {
RemoveRamWatchesFromList(); RemoveRamWatchesFromList();
} }
@ -964,6 +925,30 @@ namespace BizHawk.Client.EmuHawk
#endregion #endregion
public class RamSearchSettings : ToolDialogSettings
{
public RamSearchSettings()
{
Columns = new ColumnList
{
new Column { Name = WatchList.ADDRESS, Visible = true, Index = 0, Width = 60 },
new Column { Name = WatchList.VALUE, Visible = true, Index = 1, Width = 59 },
new Column { Name = WatchList.PREV, Visible = true, Index = 2, Width = 59 },
new Column { Name = WatchList.CHANGES, Visible = true, Index = 3, Width = 55 },
new Column { Name = WatchList.DIFF, Visible = false, Index = 4, Width = 59 },
};
PreviewMode = true;
RecentSearches = new RecentFiles(8);
}
public ColumnList Columns { get; set; }
public bool PreviewMode { get; set; }
public bool AlwaysExcludeRamWatch { get; set; }
public RecentFiles RecentSearches { get; set; }
}
#region Winform Events #region Winform Events
#region File #region File
@ -977,7 +962,7 @@ namespace BizHawk.Client.EmuHawk
{ {
RecentSubMenu.DropDownItems.Clear(); RecentSubMenu.DropDownItems.Clear();
RecentSubMenu.DropDownItems.AddRange( RecentSubMenu.DropDownItems.AddRange(
Global.Config.RecentSearches.RecentMenu(LoadFileFromRecent)); Settings.RecentSearches.RecentMenu(LoadFileFromRecent));
} }
private void OpenMenuItem_Click(object sender, EventArgs e) private void OpenMenuItem_Click(object sender, EventArgs e)
@ -1031,7 +1016,7 @@ namespace BizHawk.Client.EmuHawk
{ {
_currentFileName = watches.CurrentFileName; _currentFileName = watches.CurrentFileName;
MessageLabel.Text = Path.GetFileName(_currentFileName) + " saved"; MessageLabel.Text = Path.GetFileName(_currentFileName) + " saved";
Global.Config.RecentSearches.Add(watches.CurrentFileName); Settings.RecentSearches.Add(watches.CurrentFileName);
} }
} }
@ -1287,19 +1272,19 @@ namespace BizHawk.Client.EmuHawk
private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e) private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e)
{ {
AutoloadDialogMenuItem.Checked = Global.Config.RecentSearches.AutoLoad; AutoloadDialogMenuItem.Checked = Settings.AutoLoad;
SaveWinPositionMenuItem.Checked = Global.Config.RamSearchSettings.SaveWindowPosition; SaveWinPositionMenuItem.Checked = Settings.SaveWindowPosition;
ExcludeRamWatchMenuItem.Checked = Global.Config.RamSearchAlwaysExcludeRamWatch; ExcludeRamWatchMenuItem.Checked = Settings.AlwaysExcludeRamWatch;
UseUndoHistoryMenuItem.Checked = _searches.UndoEnabled; UseUndoHistoryMenuItem.Checked = _searches.UndoEnabled;
PreviewModeMenuItem.Checked = Global.Config.RamSearchPreviewMode; PreviewModeMenuItem.Checked = Settings.PreviewMode;
AlwaysOnTopMenuItem.Checked = Global.Config.RamSearchSettings.TopMost; AlwaysOnTopMenuItem.Checked = Settings.TopMost;
FloatingWindowMenuItem.Checked = Global.Config.RamSearchSettings.FloatingWindow; FloatingWindowMenuItem.Checked = Settings.FloatingWindow;
AutoSearchMenuItem.Checked = _autoSearch; AutoSearchMenuItem.Checked = _autoSearch;
} }
private void PreviewModeMenuItem_Click(object sender, EventArgs e) private void PreviewModeMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.RamSearchPreviewMode ^= true; Settings.PreviewMode ^= true;
} }
private void AutoSearchMenuItem_Click(object sender, EventArgs e) private void AutoSearchMenuItem_Click(object sender, EventArgs e)
@ -1309,8 +1294,8 @@ namespace BizHawk.Client.EmuHawk
private void ExcludeRamWatchMenuItem_Click(object sender, EventArgs e) private void ExcludeRamWatchMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.RamSearchAlwaysExcludeRamWatch ^= true; Settings.AlwaysExcludeRamWatch ^= true;
if (Global.Config.RamSearchAlwaysExcludeRamWatch) if (Settings.AlwaysExcludeRamWatch)
{ {
RemoveRamWatchesFromList(); RemoveRamWatchesFromList();
} }
@ -1323,66 +1308,43 @@ namespace BizHawk.Client.EmuHawk
private void AutoloadDialogMenuItem_Click(object sender, EventArgs e) private void AutoloadDialogMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.RecentSearches.AutoLoad ^= true; Settings.AutoLoad ^= true;
} }
private void SaveWinPositionMenuItem_Click(object sender, EventArgs e) private void SaveWinPositionMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.RamSearchSettings.SaveWindowPosition ^= true; Settings.SaveWindowPosition ^= true;
} }
private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e) private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.RamSearchSettings.TopMost ^= true; TopMost = Settings.TopMost ^= true;
TopMost = Global.Config.RamSearchSettings.TopMost;
} }
private void FloatingWindowMenuItem_Click(object sender, EventArgs e) private void FloatingWindowMenuItem_Click(object sender, EventArgs e)
{ {
Global.Config.RamSearchSettings.FloatingWindow ^= true; Settings.FloatingWindow ^= true;
RefreshFloatingWindowControl(); RefreshFloatingWindowControl();
} }
private void RestoreDefaultsMenuItem_Click(object sender, EventArgs e) private void RestoreDefaultsMenuItem_Click(object sender, EventArgs e)
{ {
var recentFiles = Settings.RecentSearches; // We don't want to wipe recent files when restoring
Settings = new RamSearchSettings();
Settings.RecentSearches = recentFiles;
Size = new Size(_defaultWidth, _defaultHeight); Size = new Size(_defaultWidth, _defaultHeight);
Global.Config.RamSearchColumnWidths = new Dictionary<string, int>
{
{ "AddressColumn", -1 },
{ "ValueColumn", -1 },
{ "PrevColumn", -1 },
{ "ChangesColumn", -1 },
{ "DiffColumn", -1 },
};
Global.Config.RamSearchColumnIndexes = new Dictionary<string, int> RamSearchMenu.Items.Remove(
{ RamSearchMenu.Items
{ "AddressColumn", 0 }, .OfType<ToolStripMenuItem>()
{ "ValueColumn", 1 }, .First(x => x.Name == "GeneratedColumnsSubMenu")
{ "PrevColumn", 2 }, );
{ "ChangesColumn", 3 },
{ "DiffColumn", 4 },
};
ColumnPositions(); RamSearchMenu.Items.Add(Settings.Columns.GenerateColumnsMenu(ColumnToggleCallback));
Global.Config.RamSearchShowChangeColumn = true;
Global.Config.RamSearchShowPrevColumn = true;
Global.Config.RamSearchShowDiffColumn = false;
Global.Config.RamSearchSettings.SaveWindowPosition = true;
Global.Config.RamSearchSettings.TopMost = TopMost = false;
Global.Config.RamSearchSettings.FloatingWindow = false;
Global.Config.RamSearchColumnWidths = new Dictionary<string, int>
{
{ "AddressColumn", -1 },
{ "ValueColumn", -1 },
{ "PrevColumn", -1 },
{ "ChangesColumn", -1 },
{ "DiffColumn", -1 },
};
_settings = new RamSearchEngine.Settings(Core); _settings = new RamSearchEngine.Settings(Core);
if (_settings.Mode == RamSearchEngine.Settings.SearchMode.Fast) if (_settings.Mode == RamSearchEngine.Settings.SearchMode.Fast)
@ -1391,39 +1353,6 @@ namespace BizHawk.Client.EmuHawk
} }
RefreshFloatingWindowControl(); RefreshFloatingWindowControl();
ColumnPositions();
LoadColumnInfo();
}
#endregion
#region Columns
private void ColumnsMenuItem_DropDownOpened(object sender, EventArgs e)
{
ShowPreviousMenuItem.Checked = Global.Config.RamSearchShowPrevColumn;
ShowChangesMenuItem.Checked = Global.Config.RamSearchShowChangeColumn;
ShowDiffMenuItem.Checked = Global.Config.RamSearchShowDiffColumn;
}
private void ShowPreviousMenuItem_Click(object sender, EventArgs e)
{
Global.Config.RamSearchShowPrevColumn ^= true;
SaveColumnInfo();
LoadColumnInfo();
}
private void ShowChangesMenuItem_Click(object sender, EventArgs e)
{
Global.Config.RamSearchShowChangeColumn ^= true;
SaveColumnInfo();
LoadColumnInfo();
}
private void ShowDiffMenuItem_Click(object sender, EventArgs e)
{
Global.Config.RamSearchShowDiffColumn ^= true;
SaveColumnInfo();
LoadColumnInfo(); LoadColumnInfo();
} }

View File

@ -136,7 +136,7 @@
<data name="DoSearchToolButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="DoSearchToolButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAI3SURBVDhPlZLRS9NRHMW3hwgKBxXRH1BR0UMvPfoQVBAJ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI3SURBVDhPlZLRS9NRHMW3hwgKBxXRH1BR0UMvPfoQVBAJ
PbiXWETgQw/2MJopjdksa7RyuNQIIlC2alu2dJrQFslklmvQXOthtqlskjORam5jma46nfv7JbathA58 PbiXWETgQw/2MJopjdksa7RyuNQIIlC2alu2dJrQFslklmvQXOthtqlskjORam5jma46nfv7JbathA58
Xu4953u/33uvYj0ZDG6d5WFwpt01jm5vCl2OcK7pkrOTW9vJBsn0L7V3+G3T6Szmi0D4G/DiCzCWBx5E Xu4953u/33uvYj0ZDG6d5WFwpt01jm5vCl2OcK7pkrOTW9vJBsn0L7V3+G3T6Szmi0D4G/DiCzCWBx5E
Cjiv743RsodslMzlslpH6gKJDIQWlgD/J8CdBDwfgOFFwPUuj5oa7TNaRZFK3XNGR8NfgYkc4GPInwUC Cjiv743RsodslMzlslpH6gKJDIQWlgD/J8CdBDwfgOFFwPUuj5oa7TNaRZFK3XNGR8NfgYkc4GPInwUC
@ -152,7 +152,7 @@
<data name="ClearChangeCountsToolBarItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="ClearChangeCountsToolBarItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc