add FirmwaresConfigInfo dialog to show you more information about a firmware (such as which options the DB is allowing) and reformulate TI-83 firmware DB entries a bit--theyre wrong until we enter correct hashes though
This commit is contained in:
parent
208dbf1942
commit
b284f5b5e4
|
@ -33,7 +33,6 @@ namespace BizHawk
|
|||
FirmwareAndOption("300C20DF6731A33952DED8C436F7F186D25D3492", "GBA", "Bios", "gbabios.rom", "Bios");
|
||||
//FirmwareAndOption("24F67BDEA115A2C847C8813A262502EE1607B7DF", "NDS", "Bios_Arm7", "biosnds7.rom", "ARM7 Bios");
|
||||
//FirmwareAndOption("BFAAC75F101C135E32E2AAF541DE6B1BE4C8C62D", "NDS", "Bios_Arm9", "biosnds9.rom", "ARM9 Bios");
|
||||
FirmwareAndOption("EF66DAD3E7B2B6A86F326765E7DFD7D1A308AD8F", "TI83", "Rom", "ti83_1.rom", "TI-83 Rom");
|
||||
FirmwareAndOption("5A65B922B562CB1F57DAB51B73151283F0E20C7A", "INTV", "EROM", "erom.bin", "Executive Rom");
|
||||
FirmwareAndOption("F9608BB4AD1CFE3640D02844C7AD8E0BCD974917", "INTV", "GROM", "grom.bin", "Graphics Rom");
|
||||
FirmwareAndOption("1D503E56DF85A62FEE696E7618DC5B4E781DF1BB", "C64", "Kernal", "c64-kernal.bin", "Kernal Rom");
|
||||
|
@ -61,6 +60,18 @@ namespace BizHawk
|
|||
Option("SAT", "E", ss_100a_ue);
|
||||
Option("SAT", "E", ss_100_j);
|
||||
Option("SAT", "E", ss_101_j);
|
||||
|
||||
var ti83_1unk = File("EF66DAD3E7B2B6A86F326765E7DFD7D1A308AD8F", "ti83_1.rom", "TI-83 Rom v1.??");
|
||||
var ti83_102 = File("oops:4EDF419CAA9FB0542B4FED8BCD8B54C2", "ti83_102.rom", "TI-83 Rom v1.02");
|
||||
var ti83_103 = File("oops:28308683219BC1242B3A423F05061E69 ", "ti83_103.rom", "TI-83 Rom v1.03");
|
||||
var ti83_104 = File("oops:02D48EAAD98A74619E2F68DE23AC212F ", "ti83_104.rom", "TI-83 Rom v1.04");
|
||||
var ti83_107 = File("oops:D4448D09BBFDE687C04F9E3310E023AB ", "ti83_107.rom", "TI-83 Rom v1.07");
|
||||
Firmware("TI83", "Rom", "TI-83 Rom");
|
||||
Option("TI83", "Rom", ti83_1unk);
|
||||
Option("TI83", "Rom", ti83_102);
|
||||
Option("TI83", "Rom", ti83_103);
|
||||
Option("TI83", "Rom", ti83_104);
|
||||
Option("TI83", "Rom", ti83_107);
|
||||
}
|
||||
|
||||
//adds a defined firmware ID to the database
|
||||
|
|
|
@ -229,6 +229,12 @@
|
|||
<Compile Include="config\FirmwaresConfig.Designer.cs">
|
||||
<DependentUpon>FirmwaresConfig.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="config\FirmwaresConfigInfo.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="config\FirmwaresConfigInfo.Designer.cs">
|
||||
<DependentUpon>FirmwaresConfigInfo.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="config\GifAnimator.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -807,6 +813,9 @@
|
|||
<EmbeddedResource Include="config\FirmwaresConfig.resx">
|
||||
<DependentUpon>FirmwaresConfig.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="config\FirmwaresConfigInfo.resx">
|
||||
<DependentUpon>FirmwaresConfigInfo.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="config\GifAnimator.resx">
|
||||
<DependentUpon>GifAnimator.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
|
|
@ -65,6 +65,9 @@ namespace BizHawk
|
|||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 msg, IntPtr wParam, ref HDITEM lParam);
|
||||
|
||||
/// <summary>
|
||||
/// Dumps the contents of the ListView into a tab separated list of lines
|
||||
/// </summary>
|
||||
public static string CopyItemsAsText(this ListView listViewControl)
|
||||
{
|
||||
ListView.SelectedIndexCollection indexes = listViewControl.SelectedIndices;
|
||||
|
|
|
@ -34,26 +34,28 @@
|
|||
this.lvFirmwares = new System.Windows.Forms.ListView();
|
||||
this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.lvFirmwaresContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.tsmiSetCustomization = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiClearCustomization = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiInfo = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.toolStrip1 = new ToolStripEx();
|
||||
this.tbbGroup = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tbbScan = new System.Windows.Forms.ToolStripButton();
|
||||
this.tbbOrganize = new System.Windows.Forms.ToolStripButton();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.lvFirmwaresContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.tsmiClearCustomization = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiSetCustomization = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.panel1.SuspendLayout();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.tsmiCopy = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.lvFirmwaresContextMenuStrip.SuspendLayout();
|
||||
this.panel1.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// imageList1
|
||||
|
@ -96,11 +98,62 @@
|
|||
//
|
||||
this.columnHeader1.Text = "System";
|
||||
//
|
||||
// columnHeader6
|
||||
//
|
||||
this.columnHeader6.Text = "Id";
|
||||
//
|
||||
// columnHeader4
|
||||
//
|
||||
this.columnHeader4.Text = "Description";
|
||||
this.columnHeader4.Width = 165;
|
||||
//
|
||||
// columnHeader2
|
||||
//
|
||||
this.columnHeader2.Text = "Resolved With";
|
||||
this.columnHeader2.Width = 116;
|
||||
//
|
||||
// columnHeader3
|
||||
//
|
||||
this.columnHeader3.Text = "Location";
|
||||
this.columnHeader3.Width = 252;
|
||||
//
|
||||
// columnHeader7
|
||||
//
|
||||
this.columnHeader7.Text = "Hash";
|
||||
this.columnHeader7.Width = 340;
|
||||
//
|
||||
// lvFirmwaresContextMenuStrip
|
||||
//
|
||||
this.lvFirmwaresContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsmiSetCustomization,
|
||||
this.tsmiClearCustomization,
|
||||
this.tsmiInfo,
|
||||
this.tsmiCopy});
|
||||
this.lvFirmwaresContextMenuStrip.Name = "lvFirmwaresContextMenuStrip";
|
||||
this.lvFirmwaresContextMenuStrip.Size = new System.Drawing.Size(170, 114);
|
||||
this.lvFirmwaresContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.lvFirmwaresContextMenuStrip_Opening);
|
||||
//
|
||||
// tsmiSetCustomization
|
||||
//
|
||||
this.tsmiSetCustomization.Name = "tsmiSetCustomization";
|
||||
this.tsmiSetCustomization.Size = new System.Drawing.Size(169, 22);
|
||||
this.tsmiSetCustomization.Text = "&Set Customization";
|
||||
this.tsmiSetCustomization.Click += new System.EventHandler(this.tsmiClearCustomization_Click);
|
||||
//
|
||||
// tsmiClearCustomization
|
||||
//
|
||||
this.tsmiClearCustomization.Name = "tsmiClearCustomization";
|
||||
this.tsmiClearCustomization.Size = new System.Drawing.Size(169, 22);
|
||||
this.tsmiClearCustomization.Text = "C&lear Customization";
|
||||
this.tsmiClearCustomization.Click += new System.EventHandler(this.tsmiClearCustomization_Click);
|
||||
//
|
||||
// tsmiInfo
|
||||
//
|
||||
this.tsmiInfo.Name = "tsmiInfo";
|
||||
this.tsmiInfo.Size = new System.Drawing.Size(169, 22);
|
||||
this.tsmiInfo.Text = "&Info";
|
||||
this.tsmiInfo.Click += new System.EventHandler(this.tsmiInfo_Click);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.panel1, 2);
|
||||
|
@ -112,8 +165,24 @@
|
|||
this.panel1.Size = new System.Drawing.Size(773, 472);
|
||||
this.panel1.TabIndex = 24;
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 2;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 0);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 2;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(779, 478);
|
||||
this.tableLayoutPanel1.TabIndex = 25;
|
||||
//
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.ClickThrough = true;
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tbbGroup,
|
||||
this.toolStripSeparator2,
|
||||
|
@ -163,61 +232,12 @@
|
|||
this.tbbOrganize.Text = "Organize";
|
||||
this.tbbOrganize.Click += new System.EventHandler(this.tbbOrganize_Click);
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
// tsmiCopy
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 2;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 0);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 2;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(779, 478);
|
||||
this.tableLayoutPanel1.TabIndex = 25;
|
||||
//
|
||||
// columnHeader6
|
||||
//
|
||||
this.columnHeader6.Text = "Id";
|
||||
//
|
||||
// columnHeader2
|
||||
//
|
||||
this.columnHeader2.Text = "Resolved With";
|
||||
this.columnHeader2.Width = 116;
|
||||
//
|
||||
// columnHeader7
|
||||
//
|
||||
this.columnHeader7.Text = "Hash";
|
||||
this.columnHeader7.Width = 340;
|
||||
//
|
||||
// columnHeader3
|
||||
//
|
||||
this.columnHeader3.Text = "Location";
|
||||
this.columnHeader3.Width = 252;
|
||||
//
|
||||
// lvFirmwaresContextMenuStrip
|
||||
//
|
||||
this.lvFirmwaresContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsmiSetCustomization,
|
||||
this.tsmiClearCustomization});
|
||||
this.lvFirmwaresContextMenuStrip.Name = "lvFirmwaresContextMenuStrip";
|
||||
this.lvFirmwaresContextMenuStrip.Size = new System.Drawing.Size(170, 48);
|
||||
//
|
||||
// tsmiClearCustomization
|
||||
//
|
||||
this.tsmiClearCustomization.Name = "tsmiClearCustomization";
|
||||
this.tsmiClearCustomization.Size = new System.Drawing.Size(169, 22);
|
||||
this.tsmiClearCustomization.Text = "&Clear Customization";
|
||||
this.tsmiClearCustomization.Click += new System.EventHandler(this.tsmiClearCustomization_Click);
|
||||
//
|
||||
// tsmiSetCustomization
|
||||
//
|
||||
this.tsmiSetCustomization.Name = "tsmiSetCustomization";
|
||||
this.tsmiSetCustomization.Size = new System.Drawing.Size(169, 22);
|
||||
this.tsmiSetCustomization.Text = "&Set Customization";
|
||||
this.tsmiSetCustomization.Click += new System.EventHandler(this.tsmiSetCustomization_Click);
|
||||
this.tsmiCopy.Name = "tsmiCopy";
|
||||
this.tsmiCopy.Size = new System.Drawing.Size(169, 22);
|
||||
this.tsmiCopy.Text = "&Copy";
|
||||
this.tsmiCopy.Click += new System.EventHandler(this.tsmiCopy_Click);
|
||||
//
|
||||
// FirmwaresConfig
|
||||
//
|
||||
|
@ -230,12 +250,12 @@
|
|||
this.Text = "Firmwares";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FirmwaresConfig_FormClosed);
|
||||
this.Load += new System.EventHandler(this.FirmwaresConfig_Load);
|
||||
this.lvFirmwaresContextMenuStrip.ResumeLayout(false);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.toolStrip1.ResumeLayout(false);
|
||||
this.toolStrip1.PerformLayout();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.lvFirmwaresContextMenuStrip.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
@ -262,5 +282,7 @@
|
|||
private System.Windows.Forms.ContextMenuStrip lvFirmwaresContextMenuStrip;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiSetCustomization;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiClearCustomization;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiInfo;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiCopy;
|
||||
}
|
||||
}
|
|
@ -281,11 +281,16 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift)
|
||||
{
|
||||
var str = lvFirmwares.CopyItemsAsText();
|
||||
if (str.Length > 0) Clipboard.SetDataObject(str);
|
||||
PerformListCopy();
|
||||
}
|
||||
}
|
||||
|
||||
void PerformListCopy()
|
||||
{
|
||||
var str = lvFirmwares.CopyItemsAsText();
|
||||
if (str.Length > 0) Clipboard.SetDataObject(str);
|
||||
}
|
||||
|
||||
private void lvFirmwares_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == System.Windows.Forms.MouseButtons.Right && lvFirmwares.GetItemAt(e.X, e.Y) != null)
|
||||
|
@ -304,7 +309,7 @@ namespace BizHawk.MultiClient
|
|||
//remember the location we selected this firmware from, maybe there are others
|
||||
currSelectorDir = Path.GetDirectoryName(ofd.FileName);
|
||||
|
||||
//for each selected item, set the user choice (hey, thats the expected semantic
|
||||
//for each selected item, set the user choice (even though multiple selection for this operation is no longer allowed)
|
||||
foreach (ListViewItem lvi in lvFirmwares.SelectedItems)
|
||||
{
|
||||
var fr = lvi.Tag as FirmwareDatabase.FirmwareRecord;
|
||||
|
@ -328,5 +333,52 @@ namespace BizHawk.MultiClient
|
|||
DoScan();
|
||||
}
|
||||
|
||||
private void tsmiInfo_Click(object sender, EventArgs e)
|
||||
{
|
||||
var lvi = lvFirmwares.SelectedItems[0];
|
||||
var fr = lvi.Tag as FirmwareDatabase.FirmwareRecord;
|
||||
|
||||
//get all options for this firmware (in order)
|
||||
var options =
|
||||
from fo in FirmwareDatabase.FirmwareOptions
|
||||
where fo.systemId == fr.systemId && fo.firmwareId == fr.firmwareId
|
||||
select fo;
|
||||
|
||||
FirmwaresConfigInfo fciDialog = new FirmwaresConfigInfo();
|
||||
fciDialog.lblFirmware.Text = string.Format("{0} : {1} ({2})", fr.systemId, fr.firmwareId, fr.descr);
|
||||
foreach (var o in options)
|
||||
{
|
||||
ListViewItem olvi = new ListViewItem();
|
||||
olvi.SubItems.Add(new ListViewItem.ListViewSubItem());
|
||||
olvi.SubItems.Add(new ListViewItem.ListViewSubItem());
|
||||
var ff = FirmwareDatabase.FirmwareFilesByHash[o.hash];
|
||||
olvi.SubItems[0].Text = o.hash;
|
||||
olvi.SubItems[0].Font = fixedFont;
|
||||
olvi.SubItems[1].Text = ff.recommendedName;
|
||||
olvi.SubItems[1].Font = this.Font; //why doesnt this work?
|
||||
olvi.SubItems[2].Text = ff.descr;
|
||||
olvi.SubItems[2].Font = this.Font; //why doesnt this work?
|
||||
fciDialog.lvOptions.Items.Add(olvi);
|
||||
}
|
||||
|
||||
fciDialog.lvOptions.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.ColumnContent);
|
||||
fciDialog.lvOptions.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.ColumnContent);
|
||||
fciDialog.lvOptions.AutoResizeColumn(2, ColumnHeaderAutoResizeStyle.ColumnContent);
|
||||
|
||||
fciDialog.ShowDialog();
|
||||
}
|
||||
|
||||
private void lvFirmwaresContextMenuStrip_Opening(object sender, CancelEventArgs e)
|
||||
{
|
||||
//hide menu items that arent appropriate for multi-select
|
||||
tsmiSetCustomization.Visible = lvFirmwares.SelectedItems.Count == 1;
|
||||
tsmiInfo.Visible = lvFirmwares.SelectedItems.Count == 1;
|
||||
}
|
||||
|
||||
private void tsmiCopy_Click(object sender, EventArgs e)
|
||||
{
|
||||
PerformListCopy();
|
||||
}
|
||||
|
||||
} //class FirmwaresConfig
|
||||
}
|
||||
|
|
|
@ -126,6 +126,9 @@
|
|||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>122, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>221, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="tbbGroup.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
|
@ -172,7 +175,4 @@
|
|||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>221, 17</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -0,0 +1,201 @@
|
|||
namespace BizHawk.MultiClient
|
||||
{
|
||||
partial class FirmwaresConfigInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.lvOptions = new System.Windows.Forms.ListView();
|
||||
this.colHash = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colStandardFilename = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colDescription = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btnClose = new System.Windows.Forms.Button();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.lblFirmware = new System.Windows.Forms.Label();
|
||||
this.lvmiOptionsContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.tsmiOptionsCopy = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.flowLayoutPanel1.SuspendLayout();
|
||||
this.lvmiOptionsContextMenuStrip.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lvOptions
|
||||
//
|
||||
this.lvOptions.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.colHash,
|
||||
this.colStandardFilename,
|
||||
this.colDescription});
|
||||
this.lvOptions.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lvOptions.FullRowSelect = true;
|
||||
this.lvOptions.GridLines = true;
|
||||
this.lvOptions.Location = new System.Drawing.Point(3, 29);
|
||||
this.lvOptions.Name = "lvOptions";
|
||||
this.lvOptions.Size = new System.Drawing.Size(648, 402);
|
||||
this.lvOptions.TabIndex = 0;
|
||||
this.lvOptions.UseCompatibleStateImageBehavior = false;
|
||||
this.lvOptions.View = System.Windows.Forms.View.Details;
|
||||
this.lvOptions.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lvOptions_KeyDown);
|
||||
this.lvOptions.MouseClick += new System.Windows.Forms.MouseEventHandler(this.lvOptions_MouseClick);
|
||||
//
|
||||
// colHash
|
||||
//
|
||||
this.colHash.Text = "Hash";
|
||||
this.colHash.Width = 251;
|
||||
//
|
||||
// colStandardFilename
|
||||
//
|
||||
this.colStandardFilename.Text = "Standard Filename";
|
||||
this.colStandardFilename.Width = 175;
|
||||
//
|
||||
// colDescription
|
||||
//
|
||||
this.colDescription.Text = "Description";
|
||||
this.colDescription.Width = 214;
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 1;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.lvOptions, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.btnClose, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.flowLayoutPanel1, 0, 0);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 4;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(654, 469);
|
||||
this.tableLayoutPanel1.TabIndex = 1;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(3, 13);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(122, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Options for this firmware:";
|
||||
//
|
||||
// btnClose
|
||||
//
|
||||
this.btnClose.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.btnClose.AutoSize = true;
|
||||
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnClose.Location = new System.Drawing.Point(595, 440);
|
||||
this.btnClose.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.btnClose.Name = "btnClose";
|
||||
this.btnClose.Size = new System.Drawing.Size(53, 23);
|
||||
this.btnClose.TabIndex = 2;
|
||||
this.btnClose.Text = "Close";
|
||||
this.btnClose.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.AutoSize = true;
|
||||
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.flowLayoutPanel1.Controls.Add(this.label2);
|
||||
this.flowLayoutPanel1.Controls.Add(this.lblFirmware);
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(99, 13);
|
||||
this.flowLayoutPanel1.TabIndex = 3;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(3, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(52, 13);
|
||||
this.label2.TabIndex = 0;
|
||||
this.label2.Text = "Firmware:";
|
||||
//
|
||||
// lblFirmware
|
||||
//
|
||||
this.lblFirmware.AutoSize = true;
|
||||
this.lblFirmware.Location = new System.Drawing.Point(61, 0);
|
||||
this.lblFirmware.Name = "lblFirmware";
|
||||
this.lblFirmware.Size = new System.Drawing.Size(35, 13);
|
||||
this.lblFirmware.TabIndex = 1;
|
||||
this.lblFirmware.Text = "label3";
|
||||
//
|
||||
// lvmiOptionsContextMenuStrip
|
||||
//
|
||||
this.lvmiOptionsContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsmiOptionsCopy});
|
||||
this.lvmiOptionsContextMenuStrip.Name = "lvmiOptionsContextMenuStrip";
|
||||
this.lvmiOptionsContextMenuStrip.Size = new System.Drawing.Size(100, 26);
|
||||
//
|
||||
// tsmiOptionsCopy
|
||||
//
|
||||
this.tsmiOptionsCopy.Name = "tsmiOptionsCopy";
|
||||
this.tsmiOptionsCopy.Size = new System.Drawing.Size(152, 22);
|
||||
this.tsmiOptionsCopy.Text = "&Copy";
|
||||
this.tsmiOptionsCopy.Click += new System.EventHandler(this.tsmiOptionsCopy_Click);
|
||||
//
|
||||
// FirmwaresConfigInfo
|
||||
//
|
||||
this.AcceptButton = this.btnClose;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.btnClose;
|
||||
this.ClientSize = new System.Drawing.Size(654, 469);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Name = "FirmwaresConfigInfo";
|
||||
this.Text = "Firmware Info";
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.flowLayoutPanel1.ResumeLayout(false);
|
||||
this.flowLayoutPanel1.PerformLayout();
|
||||
this.lvmiOptionsContextMenuStrip.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ColumnHeader colHash;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button btnClose;
|
||||
private System.Windows.Forms.ColumnHeader colStandardFilename;
|
||||
private System.Windows.Forms.ColumnHeader colDescription;
|
||||
public System.Windows.Forms.ListView lvOptions;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
public System.Windows.Forms.Label lblFirmware;
|
||||
private System.Windows.Forms.ContextMenuStrip lvmiOptionsContextMenuStrip;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiOptionsCopy;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
//todo - display details on the current resolution status
|
||||
//todo - check(mark) the one thats selected
|
||||
//todo - turn top info into textboxes i guess, labels suck
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
{
|
||||
public partial class FirmwaresConfigInfo : Form
|
||||
{
|
||||
public FirmwaresConfigInfo()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void lvOptions_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift)
|
||||
{
|
||||
PerformListCopy();
|
||||
}
|
||||
}
|
||||
|
||||
void PerformListCopy()
|
||||
{
|
||||
var str = lvOptions.CopyItemsAsText();
|
||||
if (str.Length > 0) Clipboard.SetDataObject(str);
|
||||
}
|
||||
|
||||
private void tsmiOptionsCopy_Click(object sender, EventArgs e)
|
||||
{
|
||||
PerformListCopy();
|
||||
}
|
||||
|
||||
private void lvOptions_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == System.Windows.Forms.MouseButtons.Right && lvOptions.GetItemAt(e.X, e.Y) != null)
|
||||
lvmiOptionsContextMenuStrip.Show(lvOptions, e.Location);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, 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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<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>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: 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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<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:sequence>
|
||||
<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="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="lvmiOptionsContextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
Loading…
Reference in New Issue