add auto-start and auto-save to CDL; fix toolbar to be ToolStripEx, so it doesnt suck

This commit is contained in:
zeromus 2016-05-07 10:10:26 -05:00
parent 53c7f4e5be
commit 0cc27a226b
4 changed files with 640 additions and 562 deletions

View File

@ -127,6 +127,7 @@ namespace BizHawk.Client.Common
public DateTime? Update_LastCheckTimeUTC = null; public DateTime? Update_LastCheckTimeUTC = null;
public string Update_LatestVersion = ""; public string Update_LatestVersion = "";
public string Update_IgnoreVersion = ""; public string Update_IgnoreVersion = "";
public bool CDLAutoSave = true, CDLAutoStart = true;
//public bool TurboSeek = true; // When PauseOnFrame is set, this will decide whether the client goes into turbo mode or not //public bool TurboSeek = true; // When PauseOnFrame is set, this will decide whether the client goes into turbo mode or not

View File

@ -28,350 +28,368 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CDL)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CDL));
this.menuStrip1 = new MenuStripEx(); this.menuStrip1 = new MenuStripEx();
this.FileSubMenu = new System.Windows.Forms.ToolStripMenuItem(); this.FileSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.NewMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.NewMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.OpenMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.OpenMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.SaveMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.SaveMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.SaveAsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.SaveAsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.AppendMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.AppendMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.RecentSubMenu = new System.Windows.Forms.ToolStripMenuItem(); this.RecentSubMenu = new System.Windows.Forms.ToolStripMenuItem();
this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.miAutoStart = new System.Windows.Forms.ToolStripMenuItem();
this.ClearMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.miAutoSave = new System.Windows.Forms.ToolStripMenuItem();
this.DisassembleMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.ClearMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ExitMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.DisassembleMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsbLoggingActive = new System.Windows.Forms.ToolStripButton(); this.ExitMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.toolStrip1 = new ToolStripEx();
this.tsbViewUpdate = new System.Windows.Forms.ToolStripButton(); this.tsbLoggingActive = new System.Windows.Forms.ToolStripButton();
this.tsbViewStyle = new System.Windows.Forms.ToolStripComboBox(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.lvCDL = new BizHawk.Client.EmuHawk.VirtualListView(); this.tsbViewUpdate = new System.Windows.Forms.ToolStripButton();
this.colAddress = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.tsbViewStyle = new System.Windows.Forms.ToolStripComboBox();
this.colDomain = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.colPct = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.tsbExportText = new System.Windows.Forms.ToolStripButton();
this.colMapped = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.lvCDL = new BizHawk.Client.EmuHawk.VirtualListView();
this.colSize = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colAddress = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFlag01 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colDomain = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFlag02 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colPct = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFlag04 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colMapped = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFlag08 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colSize = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFlag10 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colFlag01 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFlag20 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colFlag02 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFlag40 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colFlag04 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFlag80 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colFlag08 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); this.colFlag10 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.tsbExportText = new System.Windows.Forms.ToolStripButton(); this.colFlag20 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.menuStrip1.SuspendLayout(); this.colFlag40 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.toolStrip1.SuspendLayout(); this.colFlag80 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.SuspendLayout(); this.menuStrip1.SuspendLayout();
// this.toolStrip1.SuspendLayout();
// menuStrip1 this.SuspendLayout();
// //
this.menuStrip1.ClickThrough = true; // menuStrip1
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { //
this.FileSubMenu}); this.menuStrip1.ClickThrough = true;
this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuStrip1.Name = "menuStrip1"; this.FileSubMenu});
this.menuStrip1.Size = new System.Drawing.Size(992, 24); this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.TabIndex = 2; this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Text = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(992, 24);
// this.menuStrip1.TabIndex = 2;
// FileSubMenu this.menuStrip1.Text = "menuStrip1";
// //
this.FileSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { // FileSubMenu
this.NewMenuItem, //
this.OpenMenuItem, this.FileSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.SaveMenuItem, this.NewMenuItem,
this.SaveAsMenuItem, this.OpenMenuItem,
this.AppendMenuItem, this.SaveMenuItem,
this.RecentSubMenu, this.SaveAsMenuItem,
this.toolStripSeparator2, this.AppendMenuItem,
this.ClearMenuItem, this.RecentSubMenu,
this.DisassembleMenuItem, this.miAutoStart,
this.toolStripSeparator1, this.miAutoSave,
this.ExitMenuItem}); this.toolStripSeparator2,
this.FileSubMenu.Name = "FileSubMenu"; this.ClearMenuItem,
this.FileSubMenu.Size = new System.Drawing.Size(35, 20); this.DisassembleMenuItem,
this.FileSubMenu.Text = "&File"; this.toolStripSeparator1,
this.FileSubMenu.DropDownOpened += new System.EventHandler(this.FileSubMenu_DropDownOpened); this.ExitMenuItem});
// this.FileSubMenu.Name = "FileSubMenu";
// NewMenuItem this.FileSubMenu.Size = new System.Drawing.Size(35, 20);
// this.FileSubMenu.Text = "&File";
this.NewMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.NewFile; this.FileSubMenu.DropDownOpened += new System.EventHandler(this.FileSubMenu_DropDownOpened);
this.NewMenuItem.Name = "NewMenuItem"; //
this.NewMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); // NewMenuItem
this.NewMenuItem.Size = new System.Drawing.Size(193, 22); //
this.NewMenuItem.Text = "&New"; this.NewMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.NewFile;
this.NewMenuItem.Click += new System.EventHandler(this.NewMenuItem_Click); this.NewMenuItem.Name = "NewMenuItem";
// this.NewMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
// OpenMenuItem this.NewMenuItem.Size = new System.Drawing.Size(193, 22);
// this.NewMenuItem.Text = "&New";
this.OpenMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.OpenFile; this.NewMenuItem.Click += new System.EventHandler(this.NewMenuItem_Click);
this.OpenMenuItem.Name = "OpenMenuItem"; //
this.OpenMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); // OpenMenuItem
this.OpenMenuItem.Size = new System.Drawing.Size(193, 22); //
this.OpenMenuItem.Text = "&Open..."; this.OpenMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.OpenFile;
this.OpenMenuItem.Click += new System.EventHandler(this.OpenMenuItem_Click); this.OpenMenuItem.Name = "OpenMenuItem";
// this.OpenMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
// SaveMenuItem this.OpenMenuItem.Size = new System.Drawing.Size(193, 22);
// this.OpenMenuItem.Text = "&Open...";
this.SaveMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.SaveAs; this.OpenMenuItem.Click += new System.EventHandler(this.OpenMenuItem_Click);
this.SaveMenuItem.Name = "SaveMenuItem"; //
this.SaveMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); // SaveMenuItem
this.SaveMenuItem.Size = new System.Drawing.Size(193, 22); //
this.SaveMenuItem.Text = "&Save"; this.SaveMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.SaveAs;
this.SaveMenuItem.Click += new System.EventHandler(this.SaveMenuItem_Click); this.SaveMenuItem.Name = "SaveMenuItem";
// this.SaveMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
// SaveAsMenuItem this.SaveMenuItem.Size = new System.Drawing.Size(193, 22);
// this.SaveMenuItem.Text = "&Save";
this.SaveAsMenuItem.Name = "SaveAsMenuItem"; this.SaveMenuItem.Click += new System.EventHandler(this.SaveMenuItem_Click);
this.SaveAsMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) //
| System.Windows.Forms.Keys.S))); // SaveAsMenuItem
this.SaveAsMenuItem.Size = new System.Drawing.Size(193, 22); //
this.SaveAsMenuItem.Text = "&Save As..."; this.SaveAsMenuItem.Name = "SaveAsMenuItem";
this.SaveAsMenuItem.Click += new System.EventHandler(this.SaveAsMenuItem_Click); this.SaveAsMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
// | System.Windows.Forms.Keys.S)));
// AppendMenuItem this.SaveAsMenuItem.Size = new System.Drawing.Size(193, 22);
// this.SaveAsMenuItem.Text = "&Save As...";
this.AppendMenuItem.Name = "AppendMenuItem"; this.SaveAsMenuItem.Click += new System.EventHandler(this.SaveAsMenuItem_Click);
this.AppendMenuItem.Size = new System.Drawing.Size(193, 22); //
this.AppendMenuItem.Text = "&Append File..."; // AppendMenuItem
this.AppendMenuItem.Click += new System.EventHandler(this.AppendMenuItem_Click); //
// this.AppendMenuItem.Name = "AppendMenuItem";
// RecentSubMenu this.AppendMenuItem.Size = new System.Drawing.Size(193, 22);
// this.AppendMenuItem.Text = "&Append File...";
this.RecentSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.AppendMenuItem.Click += new System.EventHandler(this.AppendMenuItem_Click);
this.noneToolStripMenuItem}); //
this.RecentSubMenu.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Recent; // RecentSubMenu
this.RecentSubMenu.Name = "RecentSubMenu"; //
this.RecentSubMenu.Size = new System.Drawing.Size(193, 22); this.RecentSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.RecentSubMenu.Text = "Recent"; this.noneToolStripMenuItem});
this.RecentSubMenu.DropDownOpened += new System.EventHandler(this.RecentSubMenu_DropDownOpened); this.RecentSubMenu.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Recent;
// this.RecentSubMenu.Name = "RecentSubMenu";
// noneToolStripMenuItem this.RecentSubMenu.Size = new System.Drawing.Size(193, 22);
// this.RecentSubMenu.Text = "Recent";
this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; this.RecentSubMenu.DropDownOpened += new System.EventHandler(this.RecentSubMenu_DropDownOpened);
this.noneToolStripMenuItem.Size = new System.Drawing.Size(99, 22); //
this.noneToolStripMenuItem.Text = "None"; // noneToolStripMenuItem
// //
// toolStripSeparator2 this.noneToolStripMenuItem.Name = "noneToolStripMenuItem";
// this.noneToolStripMenuItem.Size = new System.Drawing.Size(99, 22);
this.toolStripSeparator2.Name = "toolStripSeparator2"; this.noneToolStripMenuItem.Text = "None";
this.toolStripSeparator2.Size = new System.Drawing.Size(190, 6); //
// // miAutoStart
// ClearMenuItem //
// this.miAutoStart.Name = "miAutoStart";
this.ClearMenuItem.Name = "ClearMenuItem"; this.miAutoStart.Size = new System.Drawing.Size(193, 22);
this.ClearMenuItem.Size = new System.Drawing.Size(193, 22); this.miAutoStart.Text = "Auto-Start";
this.ClearMenuItem.Text = "&Clear"; this.miAutoStart.Click += new System.EventHandler(this.miAutoStart_Click);
this.ClearMenuItem.Click += new System.EventHandler(this.ClearMenuItem_Click); //
// // miAutoSave
// DisassembleMenuItem //
// this.miAutoSave.Name = "miAutoSave";
this.DisassembleMenuItem.Name = "DisassembleMenuItem"; this.miAutoSave.Size = new System.Drawing.Size(193, 22);
this.DisassembleMenuItem.Size = new System.Drawing.Size(193, 22); this.miAutoSave.Text = "Auto-Save";
this.DisassembleMenuItem.Text = "&Disassemble..."; //
this.DisassembleMenuItem.Click += new System.EventHandler(this.DisassembleMenuItem_Click); // toolStripSeparator2
// //
// toolStripSeparator1 this.toolStripSeparator2.Name = "toolStripSeparator2";
// this.toolStripSeparator2.Size = new System.Drawing.Size(190, 6);
this.toolStripSeparator1.Name = "toolStripSeparator1"; //
this.toolStripSeparator1.Size = new System.Drawing.Size(190, 6); // ClearMenuItem
// //
// ExitMenuItem this.ClearMenuItem.Name = "ClearMenuItem";
// this.ClearMenuItem.Size = new System.Drawing.Size(193, 22);
this.ExitMenuItem.Name = "ExitMenuItem"; this.ClearMenuItem.Text = "&Clear";
this.ExitMenuItem.ShortcutKeyDisplayString = "Alt+F4"; this.ClearMenuItem.Click += new System.EventHandler(this.ClearMenuItem_Click);
this.ExitMenuItem.Size = new System.Drawing.Size(193, 22); //
this.ExitMenuItem.Text = "&Close"; // DisassembleMenuItem
this.ExitMenuItem.Click += new System.EventHandler(this.ExitMenuItem_Click); //
// this.DisassembleMenuItem.Name = "DisassembleMenuItem";
// toolStrip1 this.DisassembleMenuItem.Size = new System.Drawing.Size(193, 22);
// this.DisassembleMenuItem.Text = "&Disassemble...";
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.DisassembleMenuItem.Click += new System.EventHandler(this.DisassembleMenuItem_Click);
this.tsbLoggingActive, //
this.toolStripSeparator3, // toolStripSeparator1
this.tsbViewUpdate, //
this.tsbViewStyle, this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator4, this.toolStripSeparator1.Size = new System.Drawing.Size(190, 6);
this.tsbExportText}); //
this.toolStrip1.Location = new System.Drawing.Point(0, 24); // ExitMenuItem
this.toolStrip1.Name = "toolStrip1"; //
this.toolStrip1.Size = new System.Drawing.Size(992, 25); this.ExitMenuItem.Name = "ExitMenuItem";
this.toolStrip1.TabIndex = 8; this.ExitMenuItem.ShortcutKeyDisplayString = "Alt+F4";
this.toolStrip1.Text = "toolStrip1"; this.ExitMenuItem.Size = new System.Drawing.Size(193, 22);
// this.ExitMenuItem.Text = "&Close";
// tsbLoggingActive this.ExitMenuItem.Click += new System.EventHandler(this.ExitMenuItem_Click);
// //
this.tsbLoggingActive.CheckOnClick = true; // toolStrip1
this.tsbLoggingActive.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; //
this.tsbLoggingActive.Image = ((System.Drawing.Image)(resources.GetObject("tsbLoggingActive.Image"))); this.toolStrip1.ClickThrough = true;
this.tsbLoggingActive.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbLoggingActive.Name = "tsbLoggingActive"; this.tsbLoggingActive,
this.tsbLoggingActive.Size = new System.Drawing.Size(41, 22); this.toolStripSeparator3,
this.tsbLoggingActive.Text = "Active"; this.tsbViewUpdate,
this.tsbLoggingActive.CheckedChanged += new System.EventHandler(this.tsbLoggingActive_CheckedChanged); this.tsbViewStyle,
// this.toolStripSeparator4,
// toolStripSeparator3 this.tsbExportText});
// this.toolStrip1.Location = new System.Drawing.Point(0, 24);
this.toolStripSeparator3.Name = "toolStripSeparator3"; this.toolStrip1.Name = "toolStrip1";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25); this.toolStrip1.Size = new System.Drawing.Size(992, 25);
// this.toolStrip1.TabIndex = 8;
// tsbViewUpdate this.toolStrip1.Text = "toolStrip1";
// //
this.tsbViewUpdate.Checked = true; // tsbLoggingActive
this.tsbViewUpdate.CheckOnClick = true; //
this.tsbViewUpdate.CheckState = System.Windows.Forms.CheckState.Checked; this.tsbLoggingActive.CheckOnClick = true;
this.tsbViewUpdate.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.tsbLoggingActive.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.tsbViewUpdate.Image = ((System.Drawing.Image)(resources.GetObject("tsbViewUpdate.Image"))); this.tsbLoggingActive.Image = ((System.Drawing.Image)(resources.GetObject("tsbLoggingActive.Image")));
this.tsbViewUpdate.ImageTransparentColor = System.Drawing.Color.Magenta; this.tsbLoggingActive.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbViewUpdate.Name = "tsbViewUpdate"; this.tsbLoggingActive.Name = "tsbLoggingActive";
this.tsbViewUpdate.Size = new System.Drawing.Size(46, 22); this.tsbLoggingActive.Size = new System.Drawing.Size(41, 22);
this.tsbViewUpdate.Text = "Update"; this.tsbLoggingActive.Text = "Active";
// this.tsbLoggingActive.CheckedChanged += new System.EventHandler(this.tsbLoggingActive_CheckedChanged);
// tsbViewStyle //
// // toolStripSeparator3
this.tsbViewStyle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; //
this.tsbViewStyle.Items.AddRange(new object[] { this.toolStripSeparator3.Name = "toolStripSeparator3";
"Show %", this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
"Show Bytes", //
"Show KBytes"}); // tsbViewUpdate
this.tsbViewStyle.Name = "tsbViewStyle"; //
this.tsbViewStyle.Size = new System.Drawing.Size(121, 25); this.tsbViewUpdate.Checked = true;
this.tsbViewStyle.SelectedIndexChanged += new System.EventHandler(this.tsbViewStyle_SelectedIndexChanged); this.tsbViewUpdate.CheckOnClick = true;
// this.tsbViewUpdate.CheckState = System.Windows.Forms.CheckState.Checked;
// lvCDL this.tsbViewUpdate.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
// this.tsbViewUpdate.Image = ((System.Drawing.Image)(resources.GetObject("tsbViewUpdate.Image")));
this.lvCDL.BlazingFast = false; this.tsbViewUpdate.ImageTransparentColor = System.Drawing.Color.Magenta;
this.lvCDL.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.tsbViewUpdate.Name = "tsbViewUpdate";
this.colAddress, this.tsbViewUpdate.Size = new System.Drawing.Size(46, 22);
this.colDomain, this.tsbViewUpdate.Text = "Update";
this.colPct, //
this.colMapped, // tsbViewStyle
this.colSize, //
this.colFlag01, this.tsbViewStyle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.colFlag02, this.tsbViewStyle.Items.AddRange(new object[] {
this.colFlag04, "Show %",
this.colFlag08, "Show Bytes",
this.colFlag10, "Show KBytes"});
this.colFlag20, this.tsbViewStyle.Name = "tsbViewStyle";
this.colFlag40, this.tsbViewStyle.Size = new System.Drawing.Size(121, 25);
this.colFlag80}); this.tsbViewStyle.SelectedIndexChanged += new System.EventHandler(this.tsbViewStyle_SelectedIndexChanged);
this.lvCDL.Dock = System.Windows.Forms.DockStyle.Fill; //
this.lvCDL.FullRowSelect = true; // toolStripSeparator4
this.lvCDL.GridLines = true; //
this.lvCDL.ItemCount = 0; this.toolStripSeparator4.Name = "toolStripSeparator4";
this.lvCDL.Location = new System.Drawing.Point(0, 49); this.toolStripSeparator4.Size = new System.Drawing.Size(6, 25);
this.lvCDL.Name = "lvCDL"; //
this.lvCDL.SelectAllInProgress = false; // tsbExportText
this.lvCDL.selectedItem = -1; //
this.lvCDL.Size = new System.Drawing.Size(992, 323); this.tsbExportText.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.LoadConfig;
this.lvCDL.TabIndex = 9; this.tsbExportText.ImageTransparentColor = System.Drawing.Color.Magenta;
this.lvCDL.UseCompatibleStateImageBehavior = false; this.tsbExportText.Name = "tsbExportText";
this.lvCDL.UseCustomBackground = true; this.tsbExportText.Size = new System.Drawing.Size(87, 22);
this.lvCDL.View = System.Windows.Forms.View.Details; this.tsbExportText.Text = "To Clipboard";
this.lvCDL.VirtualMode = true; this.tsbExportText.Click += new System.EventHandler(this.tsbExportText_Click);
this.lvCDL.QueryItemText += new BizHawk.Client.EmuHawk.QueryItemTextHandler(this.lvCDL_QueryItemText); //
// // lvCDL
// colAddress //
// this.lvCDL.BlazingFast = false;
this.colAddress.Text = "CDL File @"; this.lvCDL.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colAddress.Width = 107; this.colAddress,
// this.colDomain,
// colDomain this.colPct,
// this.colMapped,
this.colDomain.Text = "Domain"; this.colSize,
this.colDomain.Width = 126; this.colFlag01,
// this.colFlag02,
// colPct this.colFlag04,
// this.colFlag08,
this.colPct.Text = "%"; this.colFlag10,
this.colPct.Width = 58; this.colFlag20,
// this.colFlag40,
// colMapped this.colFlag80});
// this.lvCDL.Dock = System.Windows.Forms.DockStyle.Fill;
this.colMapped.Text = "Mapped"; this.lvCDL.FullRowSelect = true;
this.colMapped.Width = 64; this.lvCDL.GridLines = true;
// this.lvCDL.ItemCount = 0;
// colSize this.lvCDL.Location = new System.Drawing.Point(0, 49);
// this.lvCDL.Name = "lvCDL";
this.colSize.Text = "Size"; this.lvCDL.SelectAllInProgress = false;
this.colSize.Width = 102; this.lvCDL.selectedItem = -1;
// this.lvCDL.Size = new System.Drawing.Size(992, 323);
// colFlag01 this.lvCDL.TabIndex = 9;
// this.lvCDL.UseCompatibleStateImageBehavior = false;
this.colFlag01.Text = "0x01"; this.lvCDL.UseCustomBackground = true;
// this.lvCDL.View = System.Windows.Forms.View.Details;
// colFlag02 this.lvCDL.VirtualMode = true;
// this.lvCDL.QueryItemText += new BizHawk.Client.EmuHawk.QueryItemTextHandler(this.lvCDL_QueryItemText);
this.colFlag02.Text = "0x02"; //
// // colAddress
// colFlag04 //
// this.colAddress.Text = "CDL File @";
this.colFlag04.Text = "0x04"; this.colAddress.Width = 107;
// //
// colFlag08 // colDomain
// //
this.colFlag08.Text = "0x08"; this.colDomain.Text = "Domain";
// this.colDomain.Width = 126;
// colFlag10 //
// // colPct
this.colFlag10.Text = "0x10"; //
// this.colPct.Text = "%";
// colFlag20 this.colPct.Width = 58;
// //
this.colFlag20.Text = "0x20"; // colMapped
// //
// colFlag40 this.colMapped.Text = "Mapped";
// this.colMapped.Width = 64;
this.colFlag40.Text = "0x40"; //
// // colSize
// colFlag80 //
// this.colSize.Text = "Size";
this.colFlag80.Text = "0x80"; this.colSize.Width = 102;
// //
// toolStripSeparator4 // colFlag01
// //
this.toolStripSeparator4.Name = "toolStripSeparator4"; this.colFlag01.Text = "0x01";
this.toolStripSeparator4.Size = new System.Drawing.Size(6, 25); //
// // colFlag02
// tsbExportText //
// this.colFlag02.Text = "0x02";
this.tsbExportText.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.LoadConfig; //
this.tsbExportText.ImageTransparentColor = System.Drawing.Color.Magenta; // colFlag04
this.tsbExportText.Name = "tsbExportText"; //
this.tsbExportText.Size = new System.Drawing.Size(87, 22); this.colFlag04.Text = "0x04";
this.tsbExportText.Text = "To Clipboard"; //
this.tsbExportText.Click += new System.EventHandler(this.tsbExportText_Click); // colFlag08
// //
// CDL this.colFlag08.Text = "0x08";
// //
this.AllowDrop = true; // colFlag10
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.colFlag10.Text = "0x10";
this.ClientSize = new System.Drawing.Size(992, 372); //
this.Controls.Add(this.lvCDL); // colFlag20
this.Controls.Add(this.toolStrip1); //
this.Controls.Add(this.menuStrip1); this.colFlag20.Text = "0x20";
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); //
this.MainMenuStrip = this.menuStrip1; // colFlag40
this.MinimumSize = new System.Drawing.Size(150, 130); //
this.Name = "CDL"; this.colFlag40.Text = "0x40";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; //
this.Text = "Code Data Logger"; // colFlag80
this.Load += new System.EventHandler(this.PCECDL_Load); //
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.PCECDL_DragDrop); this.colFlag80.Text = "0x80";
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.PCECDL_DragEnter); //
this.menuStrip1.ResumeLayout(false); // CDL
this.menuStrip1.PerformLayout(); //
this.toolStrip1.ResumeLayout(false); this.AllowDrop = true;
this.toolStrip1.PerformLayout(); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.ResumeLayout(false); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.PerformLayout(); this.ClientSize = new System.Drawing.Size(992, 372);
this.Controls.Add(this.lvCDL);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.menuStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.MinimumSize = new System.Drawing.Size(150, 130);
this.Name = "CDL";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Code Data Logger";
this.Load += new System.EventHandler(this.PCECDL_Load);
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.PCECDL_DragDrop);
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.PCECDL_DragEnter);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
} }
#endregion #endregion
@ -388,9 +406,8 @@
private System.Windows.Forms.ToolStripMenuItem ExitMenuItem; private System.Windows.Forms.ToolStripMenuItem ExitMenuItem;
private System.Windows.Forms.ToolStripMenuItem SaveMenuItem; private System.Windows.Forms.ToolStripMenuItem SaveMenuItem;
private System.Windows.Forms.ToolStripMenuItem RecentSubMenu; private System.Windows.Forms.ToolStripMenuItem RecentSubMenu;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton tsbLoggingActive; private System.Windows.Forms.ToolStripButton tsbLoggingActive;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripButton tsbViewUpdate; private System.Windows.Forms.ToolStripButton tsbViewUpdate;
@ -410,7 +427,10 @@
private System.Windows.Forms.ColumnHeader colFlag40; private System.Windows.Forms.ColumnHeader colFlag40;
private System.Windows.Forms.ColumnHeader colFlag80; private System.Windows.Forms.ColumnHeader colFlag80;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripButton tsbExportText; private System.Windows.Forms.ToolStripButton tsbExportText;
private System.Windows.Forms.ToolStripMenuItem miAutoStart;
private System.Windows.Forms.ToolStripMenuItem miAutoSave;
private ToolStripEx toolStrip1;
} }
} }

View File

@ -181,7 +181,31 @@ namespace BizHawk.Client.EmuHawk
} }
public bool AskSaveChanges() public bool AskSaveChanges()
{ {
//nothing to fear:
if (_cdl == null)
return true;
//try auto-saving if appropriate
if (Global.Config.CDLAutoSave)
{
//TODO - I dont like this system. It's hard to figure out how to use it. It should be done in multiple passes.
var result = MessageBox.Show("Save changes to CDL session?", "CDL Auto Save", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.No)
return true;
if (string.IsNullOrWhiteSpace(_currentFilename))
{
if (!RunSaveAs())
return false;
}
else
{
RunSave();
return true;
}
}
return true; return true;
} }
@ -208,8 +232,8 @@ namespace BizHawk.Client.EmuHawk
//ok, it's all good: //ok, it's all good:
_cdl = newCDL; _cdl = newCDL;
CodeDataLogger.SetCDL(null); CodeDataLogger.SetCDL(null);
if (tsbLoggingActive.Checked) if (tsbLoggingActive.Checked || Global.Config.CDLAutoStart)
CodeDataLogger.SetCDL(_cdl); CodeDataLogger.SetCDL(_cdl);
SetCurrentFilename(path); SetCurrentFilename(path);
@ -225,21 +249,24 @@ namespace BizHawk.Client.EmuHawk
AppendMenuItem.Enabled = AppendMenuItem.Enabled =
ClearMenuItem.Enabled = ClearMenuItem.Enabled =
DisassembleMenuItem.Enabled = DisassembleMenuItem.Enabled =
_cdl != null; _cdl != null;
miAutoSave.Checked = Global.Config.CDLAutoSave;
miAutoStart.Checked = Global.Config.CDLAutoStart;
} }
private void RecentSubMenu_DropDownOpened(object sender, EventArgs e) private void RecentSubMenu_DropDownOpened(object sender, EventArgs e)
{ {
RecentSubMenu.DropDownItems.Clear(); RecentSubMenu.DropDownItems.Clear();
RecentSubMenu.DropDownItems.AddRange(_recent.RecentMenu(LoadFile, true)); RecentSubMenu.DropDownItems.AddRange(_recent.RecentMenu(LoadFile, true));
} }
void NewFileLogic() void NewFileLogic()
{ {
_cdl = new CodeDataLog(); _cdl = new CodeDataLog();
CodeDataLogger.NewCDL(_cdl); CodeDataLogger.NewCDL(_cdl);
if (tsbLoggingActive.Checked) if (tsbLoggingActive.Checked || Global.Config.CDLAutoStart)
CodeDataLogger.SetCDL(_cdl); CodeDataLogger.SetCDL(_cdl);
else CodeDataLogger.SetCDL(null); else CodeDataLogger.SetCDL(null);
@ -281,46 +308,51 @@ namespace BizHawk.Client.EmuHawk
} }
LoadFile(file.FullName); LoadFile(file.FullName);
}
void RunSave()
{
_recent.Add(_currentFilename);
using (var fs = new FileStream(_currentFilename, FileMode.Create, FileAccess.Write))
{
_cdl.Save(fs);
}
} }
private void SaveMenuItem_Click(object sender, EventArgs e) private void SaveMenuItem_Click(object sender, EventArgs e)
{ {
if (_cdl == null)
{
MessageBox.Show(this, "Cannot save with no CDL loaded!", "Alert");
return;
}
if (string.IsNullOrWhiteSpace(_currentFilename)) if (string.IsNullOrWhiteSpace(_currentFilename))
{ {
RunSaveAs(); RunSaveAs();
return; return;
} }
using (var fs = new FileStream(_currentFilename, FileMode.Create, FileAccess.Write)) RunSave();
{
_cdl.Save(fs);
}
} }
void RunSaveAs() /// <summary>
/// returns false if the operation was canceled
/// </summary>
bool RunSaveAs()
{ {
if (_cdl == null) var file = SaveFileDialog(
{ _currentFilename,
MessageBox.Show(this, "Cannot save with no CDL loaded!", "Alert"); PathManager.MakeAbsolutePath(Global.Config.PathEntries.LogPathFragment, null),
} "Code Data Logger Files",
else "cdl");
{
var file = SaveFileDialog( if (file == null)
_currentFilename, return false;
PathManager.MakeAbsolutePath(Global.Config.PathEntries.LogPathFragment, null),
"Code Data Logger Files", SetCurrentFilename(file.FullName);
"cdl"); RunSave();
return true;
if (file != null)
{
using (var fs = new FileStream(file.FullName, FileMode.Create, FileAccess.Write))
{
_cdl.Save(fs);
_recent.Add(file.FullName);
SetCurrentFilename(file.FullName);
}
}
}
} }
private void SaveAsMenuItem_Click(object sender, EventArgs e) private void SaveAsMenuItem_Click(object sender, EventArgs e)
@ -399,10 +431,24 @@ namespace BizHawk.Client.EmuHawk
private void ExitMenuItem_Click(object sender, EventArgs e) private void ExitMenuItem_Click(object sender, EventArgs e)
{ {
Close(); Close();
}
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
if (!AskSaveChanges())
e.Cancel = true;
base.OnClosing(e);
}
protected override void OnShown(EventArgs e)
{
if (Global.Config.CDLAutoStart)
NewFileLogic();
base.OnShown(e);
} }
protected override void OnClosed(EventArgs e) protected override void OnClosed(EventArgs e)
{ {
//deactivate logger //deactivate logger
if (CodeDataLogger != null) //just in case... if (CodeDataLogger != null) //just in case...
CodeDataLogger.SetCDL(null); CodeDataLogger.SetCDL(null);
@ -462,6 +508,18 @@ namespace BizHawk.Client.EmuHawk
sw.WriteLine(); sw.WriteLine();
} }
Clipboard.SetText(sw.ToString()); Clipboard.SetText(sw.ToString());
} }
private void miAutoSave_Click(object sender, EventArgs e)
{
Global.Config.CDLAutoSave ^= true;
}
private void miAutoStart_Click(object sender, EventArgs e)
{
Global.Config.CDLAutoStart ^= true;
}
} }
} }

View File

@ -1,177 +1,176 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 17</value> <value>126, 17</value>
</metadata> </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="tsbLoggingActive.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tsbLoggingActive.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg== TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="tsbViewUpdate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tsbViewUpdate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg== TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAA AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAACMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwAAAAAAAAAAAACMWxApOoZ AAAAAAAAAAACMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwCMWwAAAAAAAAAAAACMWxApOoZ
jN1ApOoCMWyj0/Wj0/Wj0/Wj0/Wj0/Wj0/Wj0/Wj0/UCMWwAAAACMWxApOpApOoCMWxApOoZjN0CMWyj jN1ApOoCMWyj0/Wj0/Wj0/Wj0/Wj0/Wj0/Wj0/Wj0/UCMWwAAAACMWxApOpApOoCMWxApOoZjN0CMWyj
0/UuKfAuKfCj0/XLPAPLPANApOpApOoCMWwCMWwZjN0CMWwQUHwCMWxApOoCMWxApOouKfCj0/Wj0/XL 0/UuKfAuKfCj0/XLPAPLPANApOpApOoCMWwCMWwZjN0CMWwQUHwCMWxApOoCMWxApOouKfCj0/Wj0/XL
PAOj0/XLPAOj0/UCMWwCMWxApOoCMWwQUHwCMWxApOoCMWyj0/UuKfCj0/Wj0/XLPAOj0/XLPAOj0/UC PAOj0/XLPAOj0/UCMWwCMWxApOoCMWwQUHwCMWxApOoCMWyj0/UuKfCj0/Wj0/XLPAOj0/XLPAOj0/UC
MWwCMWxApOoCMWwQUHwCMWxApOoCMWyj0/UuKfCj0/Wj0/XLPAOj0/XLPAOj0/UCMWwCMWxApOoCMWwQ MWwCMWxApOoCMWwQUHwCMWxApOoCMWyj0/UuKfCj0/Wj0/XLPAOj0/XLPAOj0/UCMWwCMWxApOoCMWwQ
UHwCMWwZjN0CMWyj0/UuKfAuKfCj0/XLPAPLPANApOpApOoCMWwCMWxApOoCMWwQUHwCMWwZjN0CMWyj UHwCMWwZjN0CMWyj0/UuKfAuKfCj0/XLPAPLPANApOpApOoCMWwCMWxApOoCMWwQUHwCMWwZjN0CMWyj
0/Wj0/Wj0/VApOpApOpApOpApOpApOoCMWwCMWwZjN1ApOoCMWxApOpApOoCMWyj0/Wj0/Wj0/UCMWwC 0/Wj0/Wj0/VApOpApOpApOpApOpApOoCMWwCMWwZjN1ApOoCMWxApOpApOoCMWyj0/Wj0/Wj0/UCMWwC
MWyj0/Wj0/Wj0/UCMWwAAAACMWxApOpApOoZjN0CMWxApOpApOqj0/UCMWyj0/Wj0/Wj0/Wj0/UCMWwA MWyj0/Wj0/Wj0/UCMWwAAAACMWxApOpApOoZjN0CMWxApOpApOqj0/UCMWyj0/Wj0/Wj0/Wj0/UCMWwA
AAAAAAAAAAACMWwCMWwCMWwCMWwCMWwCMWwCMWyj0/VApOqj0/UCMWwCMWwAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAACMWwCMWwCMWwCMWwCMWwCMWwCMWyj0/VApOqj0/UCMWwCMWwAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAACMWyj0/VApOqj0/UOOwMOOwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAACMWyj0/VApOqj0/UOOwMOOwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAOOwMjpQUCMWyj0/UOOwMhhwkjpQUOOwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOOwMhhwkjpQUC AAAOOwMjpQUCMWyj0/UOOwMhhwkjpQUOOwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOOwMhhwkjpQUC
MWwOOwMjpQUhhwkOOwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMLAQOOwMOOwMAAAAOOwMhhwkjpQUO MWwOOwMjpQUhhwkOOwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMLAQOOwMOOwMAAAAOOwMhhwkjpQUO
OwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOOwMjpQUOOwMAAADAAwAAgAEAAAAA OwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOOwMjpQUOOwMAAADAAwAAgAEAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAAwAMAAP+BAAD/AAAA/wAAAP8QAAD/8QAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAAwAMAAP+BAAD/AAAA/wAAAP8QAAD/8QAA
</value> </value>
</data> </data>
>>>>>>> refs/remotes/TASVideos/master
</root> </root>