initial commit
This commit is contained in:
commit
1b60743303
274 changed files with 25866 additions and 0 deletions
294
Explorer/Forms/FormAbout.cs
Normal file
294
Explorer/Forms/FormAbout.cs
Normal file
|
@ -0,0 +1,294 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormAbout
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using GDRomExplorer.Properties;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
internal class FormAbout : Form
|
||||
{
|
||||
private static readonly Logger.ILog logger = Logger.CreateLog();
|
||||
private IContainer components;
|
||||
private TableLayoutPanel tableLayoutPanel;
|
||||
private PictureBox logoPictureBox;
|
||||
private TextBox textBoxDescription;
|
||||
private TableLayoutPanel tableLayoutPanelButton;
|
||||
private Button okButton;
|
||||
private PictureBox pictureBoxPaypal;
|
||||
private Panel panel1;
|
||||
private LinkLabel llblog;
|
||||
|
||||
public FormAbout()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.Text = string.Format("About {0}", (object) this.AssemblyTitle);
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.AppendLine(string.Format("{0}", (object) this.AssemblyProduct));
|
||||
stringBuilder.AppendLine(string.Format("Version {0} build {1}", (object) this.AssemblyVersion, (object) this.AssemblyBuildSHA1));
|
||||
stringBuilder.Append(string.Format("Created by {0} ({1})", (object) this.AssemblyCompany, (object) this.AssemblyCopyright));
|
||||
this.textBoxDescription.Text = stringBuilder.ToString();
|
||||
this.llblog.Text = GDRomExplorer.Resources.Strings.GoToBlogLinkTitle;
|
||||
}
|
||||
|
||||
public string AssemblyTitle
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof (AssemblyTitleAttribute), false);
|
||||
if (customAttributes.Length > 0)
|
||||
{
|
||||
AssemblyTitleAttribute assemblyTitleAttribute = (AssemblyTitleAttribute) customAttributes[0];
|
||||
if (!string.IsNullOrEmpty(assemblyTitleAttribute.Title))
|
||||
return assemblyTitleAttribute.Title;
|
||||
}
|
||||
return Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
Version version = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
return string.Format("{0}.{1}.{2}", (object) version.Major, (object) version.Minor, (object) version.Build);
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyBuildSHA1
|
||||
{
|
||||
get
|
||||
{
|
||||
try
|
||||
{
|
||||
return typeof (AssemblyGitBuildSHA1).Assembly.GetCustomAttributes(typeof (AssemblyGitBuildSHA1), false).Cast<AssemblyGitBuildSHA1>().First<AssemblyGitBuildSHA1>().GitBuildSHA1;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex);
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyBuildBranch
|
||||
{
|
||||
get
|
||||
{
|
||||
try
|
||||
{
|
||||
return typeof (AssemblyGitBuildBranch).Assembly.GetCustomAttributes(typeof (AssemblyGitBuildBranch), false).Cast<AssemblyGitBuildBranch>().First<AssemblyGitBuildBranch>().GitBuildBranch;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex);
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyDescription
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof (AssemblyDescriptionAttribute), false);
|
||||
return customAttributes.Length == 0 ? "" : ((AssemblyDescriptionAttribute) customAttributes[0]).Description;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyProduct
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof (AssemblyProductAttribute), false);
|
||||
return customAttributes.Length == 0 ? "" : ((AssemblyProductAttribute) customAttributes[0]).Product;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyCopyright
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof (AssemblyCopyrightAttribute), false);
|
||||
return customAttributes.Length == 0 ? "" : ((AssemblyCopyrightAttribute) customAttributes[0]).Copyright;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyCompany
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof (AssemblyCompanyAttribute), false);
|
||||
return customAttributes.Length == 0 ? "" : ((AssemblyCompanyAttribute) customAttributes[0]).Company;
|
||||
}
|
||||
}
|
||||
|
||||
private void paypalDonatePictureBox_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Process.Start(Settings.Default.PayPalDonateUrl);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void llblog_LinkClicked(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Process.Start(Settings.Default.BlogUrl);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (FormAbout));
|
||||
this.tableLayoutPanel = new TableLayoutPanel();
|
||||
this.logoPictureBox = new PictureBox();
|
||||
this.textBoxDescription = new TextBox();
|
||||
this.tableLayoutPanelButton = new TableLayoutPanel();
|
||||
this.pictureBoxPaypal = new PictureBox();
|
||||
this.panel1 = new Panel();
|
||||
this.llblog = new LinkLabel();
|
||||
this.okButton = new Button();
|
||||
this.tableLayoutPanel.SuspendLayout();
|
||||
((ISupportInitialize) this.logoPictureBox).BeginInit();
|
||||
this.tableLayoutPanelButton.SuspendLayout();
|
||||
((ISupportInitialize) this.pictureBoxPaypal).BeginInit();
|
||||
this.panel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
this.tableLayoutPanel.ColumnCount = 2;
|
||||
this.tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33f));
|
||||
this.tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 67f));
|
||||
this.tableLayoutPanel.Controls.Add((Control) this.logoPictureBox, 0, 0);
|
||||
this.tableLayoutPanel.Controls.Add((Control) this.textBoxDescription, 1, 0);
|
||||
this.tableLayoutPanel.Controls.Add((Control) this.tableLayoutPanelButton, 1, 1);
|
||||
this.tableLayoutPanel.Dock = DockStyle.Fill;
|
||||
this.tableLayoutPanel.Location = new Point(9, 9);
|
||||
this.tableLayoutPanel.Name = "tableLayoutPanel";
|
||||
this.tableLayoutPanel.RowCount = 2;
|
||||
this.tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 42.64706f));
|
||||
this.tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 57.35294f));
|
||||
this.tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20f));
|
||||
this.tableLayoutPanel.Size = new Size(417, 136);
|
||||
this.tableLayoutPanel.TabIndex = 0;
|
||||
this.logoPictureBox.Dock = DockStyle.Fill;
|
||||
this.logoPictureBox.Image = (Image) componentResourceManager.GetObject("logoPictureBox.Image");
|
||||
this.logoPictureBox.Location = new Point(3, 3);
|
||||
this.logoPictureBox.Name = "logoPictureBox";
|
||||
this.tableLayoutPanel.SetRowSpan((Control) this.logoPictureBox, 2);
|
||||
this.logoPictureBox.Size = new Size(131, 130);
|
||||
this.logoPictureBox.TabIndex = 12;
|
||||
this.logoPictureBox.TabStop = false;
|
||||
this.textBoxDescription.BackColor = SystemColors.Window;
|
||||
this.textBoxDescription.BorderStyle = BorderStyle.None;
|
||||
this.textBoxDescription.Dock = DockStyle.Fill;
|
||||
this.textBoxDescription.Location = new Point(143, 3);
|
||||
this.textBoxDescription.Margin = new Padding(6, 3, 3, 3);
|
||||
this.textBoxDescription.Multiline = true;
|
||||
this.textBoxDescription.Name = "textBoxDescription";
|
||||
this.textBoxDescription.ReadOnly = true;
|
||||
this.textBoxDescription.Size = new Size(271, 52);
|
||||
this.textBoxDescription.TabIndex = 23;
|
||||
this.textBoxDescription.TabStop = false;
|
||||
this.textBoxDescription.Text = "Description";
|
||||
this.tableLayoutPanelButton.ColumnCount = 2;
|
||||
this.tableLayoutPanelButton.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
|
||||
this.tableLayoutPanelButton.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
|
||||
this.tableLayoutPanelButton.Controls.Add((Control) this.pictureBoxPaypal, 1, 0);
|
||||
this.tableLayoutPanelButton.Controls.Add((Control) this.panel1, 0, 0);
|
||||
this.tableLayoutPanelButton.Controls.Add((Control) this.okButton, 1, 1);
|
||||
this.tableLayoutPanelButton.Dock = DockStyle.Fill;
|
||||
this.tableLayoutPanelButton.Location = new Point(140, 61);
|
||||
this.tableLayoutPanelButton.Name = "tableLayoutPanelButton";
|
||||
this.tableLayoutPanelButton.RowCount = 2;
|
||||
this.tableLayoutPanelButton.RowStyles.Add(new RowStyle(SizeType.Percent, 100f));
|
||||
this.tableLayoutPanelButton.RowStyles.Add(new RowStyle(SizeType.Absolute, 37f));
|
||||
this.tableLayoutPanelButton.RowStyles.Add(new RowStyle(SizeType.Absolute, 20f));
|
||||
this.tableLayoutPanelButton.Size = new Size(274, 72);
|
||||
this.tableLayoutPanelButton.TabIndex = 27;
|
||||
this.pictureBoxPaypal.Image = (Image) GDRomExplorer.Properties.Resources.paypal_donate;
|
||||
this.pictureBoxPaypal.Location = new Point(140, 3);
|
||||
this.pictureBoxPaypal.Name = "pictureBoxPaypal";
|
||||
this.pictureBoxPaypal.Size = new Size(131, 29);
|
||||
this.pictureBoxPaypal.SizeMode = PictureBoxSizeMode.CenterImage;
|
||||
this.pictureBoxPaypal.TabIndex = 28;
|
||||
this.pictureBoxPaypal.TabStop = false;
|
||||
this.pictureBoxPaypal.Click += new EventHandler(this.paypalDonatePictureBox_Click);
|
||||
this.panel1.Controls.Add((Control) this.llblog);
|
||||
this.panel1.Dock = DockStyle.Fill;
|
||||
this.panel1.Location = new Point(3, 3);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new Size(131, 29);
|
||||
this.panel1.TabIndex = 33;
|
||||
this.llblog.ActiveLinkColor = Color.FromArgb(248, 48, 0);
|
||||
this.llblog.AutoSize = true;
|
||||
this.llblog.LinkBehavior = LinkBehavior.HoverUnderline;
|
||||
this.llblog.LinkColor = Color.FromArgb(248, 48, 0);
|
||||
this.llblog.Location = new Point(25, 8);
|
||||
this.llblog.Name = "llblog";
|
||||
this.llblog.Size = new Size(40, 13);
|
||||
this.llblog.TabIndex = 24;
|
||||
this.llblog.TabStop = true;
|
||||
this.llblog.Text = "blogUrl";
|
||||
this.llblog.TextAlign = ContentAlignment.MiddleCenter;
|
||||
this.llblog.Click += new EventHandler(this.llblog_LinkClicked);
|
||||
this.okButton.Anchor = AnchorStyles.None;
|
||||
this.okButton.DialogResult = DialogResult.OK;
|
||||
this.okButton.FlatStyle = FlatStyle.Popup;
|
||||
this.okButton.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.okButton.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.okButton.Location = new Point(151, 42);
|
||||
this.okButton.Name = "okButton";
|
||||
this.okButton.Size = new Size(108, 22);
|
||||
this.okButton.TabIndex = 31;
|
||||
this.okButton.Text = "&Ok";
|
||||
this.okButton.UseVisualStyleBackColor = false;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.ClientSize = new Size(435, 154);
|
||||
this.Controls.Add((Control) this.tableLayoutPanel);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormAbout);
|
||||
this.Padding = new Padding(9);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "AboutBox";
|
||||
this.tableLayoutPanel.ResumeLayout(false);
|
||||
this.tableLayoutPanel.PerformLayout();
|
||||
((ISupportInitialize) this.logoPictureBox).EndInit();
|
||||
this.tableLayoutPanelButton.ResumeLayout(false);
|
||||
((ISupportInitialize) this.pictureBoxPaypal).EndInit();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
}
|
||||
}
|
123
Explorer/Forms/FormAbout.resx
Normal file
123
Explorer/Forms/FormAbout.resx
Normal file
File diff suppressed because one or more lines are too long
89
Explorer/Forms/FormAudioConversionSettings.cs
Normal file
89
Explorer/Forms/FormAudioConversionSettings.cs
Normal file
|
@ -0,0 +1,89 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormAudioConversionSettings
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using SEGATools.Audio;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormAudioConversionSettings : Form
|
||||
{
|
||||
private IContainer components;
|
||||
private Button btOk;
|
||||
private Button btCancel;
|
||||
private AudioConversionSettingsViewer audioConversionSettingsViewer;
|
||||
|
||||
public AudioConversionSettings AudioConversionSettings => this.audioConversionSettingsViewer.AudioConversionSettings;
|
||||
|
||||
public FormAudioConversionSettings() => this.InitializeComponent();
|
||||
|
||||
private void btCancel_Click(object sender, EventArgs e) => this.Close();
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.btOk = new Button();
|
||||
this.btCancel = new Button();
|
||||
this.audioConversionSettingsViewer = new AudioConversionSettingsViewer();
|
||||
this.SuspendLayout();
|
||||
this.btOk.DialogResult = DialogResult.OK;
|
||||
this.btOk.FlatStyle = FlatStyle.Popup;
|
||||
this.btOk.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btOk.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btOk.Location = new Point(195, 52);
|
||||
this.btOk.Name = "btOk";
|
||||
this.btOk.Size = new Size((int) sbyte.MaxValue, 22);
|
||||
this.btOk.TabIndex = 1;
|
||||
this.btOk.Text = "&OK";
|
||||
this.btOk.UseVisualStyleBackColor = false;
|
||||
this.btCancel.DialogResult = DialogResult.Cancel;
|
||||
this.btCancel.FlatStyle = FlatStyle.Popup;
|
||||
this.btCancel.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btCancel.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btCancel.Location = new Point(12, 52);
|
||||
this.btCancel.Name = "btCancel";
|
||||
this.btCancel.Size = new Size((int) sbyte.MaxValue, 22);
|
||||
this.btCancel.TabIndex = 2;
|
||||
this.btCancel.Text = "&Cancel";
|
||||
this.btCancel.UseVisualStyleBackColor = false;
|
||||
this.btCancel.Click += new EventHandler(this.btCancel_Click);
|
||||
this.audioConversionSettingsViewer.AutoSize = true;
|
||||
this.audioConversionSettingsViewer.BackColor = Color.Transparent;
|
||||
this.audioConversionSettingsViewer.Location = new Point(9, 12);
|
||||
this.audioConversionSettingsViewer.Name = "audioConversionSettingsViewer";
|
||||
this.audioConversionSettingsViewer.Size = new Size(325, 23);
|
||||
this.audioConversionSettingsViewer.TabIndex = 3;
|
||||
this.AcceptButton = (IButtonControl) this.btOk;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btCancel;
|
||||
this.ClientSize = new Size(334, 86);
|
||||
this.Controls.Add((Control) this.audioConversionSettingsViewer);
|
||||
this.Controls.Add((Control) this.btCancel);
|
||||
this.Controls.Add((Control) this.btOk);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormAudioConversionSettings);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Audio Conversion Options";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
}
|
||||
}
|
120
Explorer/Forms/FormAudioConversionSettings.resx
Normal file
120
Explorer/Forms/FormAudioConversionSettings.resx
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?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>
|
||||
</root>
|
130
Explorer/Forms/FormGDEmuExportSettings.cs
Normal file
130
Explorer/Forms/FormGDEmuExportSettings.cs
Normal file
|
@ -0,0 +1,130 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormGDEmuExportSettings
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using GDRomExplorer.Resources;
|
||||
using GDRomExplorer.UserControls;
|
||||
using SEGATools.DiscFileSystem;
|
||||
using SEGATools.GDEmu;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormGDEmuExportSettings : Form
|
||||
{
|
||||
private static readonly Logger.ILog logger = Logger.CreateLog();
|
||||
private FormProcess formProcess;
|
||||
private IContainer components;
|
||||
private GDEmuExportSettings gdEmuExportSettings;
|
||||
private Button btCancel;
|
||||
private Button btOk;
|
||||
private GDEmuConverter gdEmuConverter;
|
||||
|
||||
public IDiscFileSystem InputDiscImage => this.gdEmuExportSettings.InputDiscImage;
|
||||
|
||||
public FormGDEmuExportSettings() => this.InitializeComponent();
|
||||
|
||||
public FormGDEmuExportSettings(string InitialDirectory)
|
||||
: this()
|
||||
=> this.gdEmuExportSettings.InitialDirectory = InitialDirectory;
|
||||
|
||||
public FormGDEmuExportSettings(IDiscFileSystem DiscFileSystem)
|
||||
: this()
|
||||
=> this.SetLoadedDiscImage(DiscFileSystem);
|
||||
|
||||
private void SetLoadedDiscImage(IDiscFileSystem discFileSystem) => this.gdEmuExportSettings.SetLoadedDiscImage(discFileSystem);
|
||||
|
||||
private bool AreSettingsValid() => this.gdEmuExportSettings.InputDiscImage != null && !string.IsNullOrEmpty(this.gdEmuExportSettings.ExportOptions.OutputPath);
|
||||
|
||||
private void ShowIncompleteMessagBox()
|
||||
{
|
||||
string text = this.gdEmuExportSettings.InputDiscImage != null ? Strings.MsgBoxGDEmuSettingsOutputPathMissing : Strings.MsgBoxGDEmuSettingsImageMissing;
|
||||
FormGDEmuExportSettings.logger.WarnFormat("Cannot start the conversion: {0}", (object) text);
|
||||
int num = (int) MessageBox.Show((IWin32Window) this, text, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
}
|
||||
|
||||
private void StartConversion()
|
||||
{
|
||||
Guid TaskId = Guid.NewGuid();
|
||||
this.formProcess = FormProcess.createForGDEmuConverter(this.gdEmuConverter, TaskId);
|
||||
this.gdEmuConverter.ConvertAsync(this.gdEmuExportSettings.InputDiscImage, this.gdEmuExportSettings.ExportOptions, (object) TaskId);
|
||||
}
|
||||
|
||||
private void btOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.AreSettingsValid())
|
||||
this.StartConversion();
|
||||
else
|
||||
this.ShowIncompleteMessagBox();
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = (IContainer) new Container();
|
||||
ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (FormGDEmuExportSettings));
|
||||
this.btCancel = new Button();
|
||||
this.btOk = new Button();
|
||||
this.gdEmuExportSettings = new GDEmuExportSettings();
|
||||
this.gdEmuConverter = new GDEmuConverter(this.components);
|
||||
this.SuspendLayout();
|
||||
this.btCancel.DialogResult = DialogResult.Cancel;
|
||||
this.btCancel.FlatStyle = FlatStyle.Popup;
|
||||
this.btCancel.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btCancel.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btCancel.Location = new Point(12, 174);
|
||||
this.btCancel.Name = "btCancel";
|
||||
this.btCancel.Size = new Size((int) sbyte.MaxValue, 22);
|
||||
this.btCancel.TabIndex = 2;
|
||||
this.btCancel.Text = "&Close";
|
||||
this.btCancel.UseVisualStyleBackColor = false;
|
||||
this.btOk.CausesValidation = false;
|
||||
this.btOk.FlatStyle = FlatStyle.Popup;
|
||||
this.btOk.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btOk.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btOk.Location = new Point(340, 174);
|
||||
this.btOk.Name = "btOk";
|
||||
this.btOk.Size = new Size((int) sbyte.MaxValue, 22);
|
||||
this.btOk.TabIndex = 1;
|
||||
this.btOk.Text = "&OK";
|
||||
this.btOk.UseVisualStyleBackColor = false;
|
||||
this.btOk.Click += new EventHandler(this.btOk_Click);
|
||||
this.gdEmuExportSettings.AutoSize = true;
|
||||
this.gdEmuExportSettings.BackColor = SystemColors.Window;
|
||||
this.gdEmuExportSettings.InitialDirectory = "";
|
||||
this.gdEmuExportSettings.Location = new Point(0, 0);
|
||||
this.gdEmuExportSettings.Name = "gdEmuExportSettings";
|
||||
this.gdEmuExportSettings.Size = new Size(480, 157);
|
||||
this.gdEmuExportSettings.TabIndex = 0;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btCancel;
|
||||
this.CausesValidation = false;
|
||||
this.ClientSize = new Size(479, 208);
|
||||
this.Controls.Add((Control) this.btCancel);
|
||||
this.Controls.Add((Control) this.btOk);
|
||||
this.Controls.Add((Control) this.gdEmuExportSettings);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormGDEmuExportSettings);
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Export GDI for GDEMU";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
}
|
||||
}
|
123
Explorer/Forms/FormGDEmuExportSettings.resx
Normal file
123
Explorer/Forms/FormGDEmuExportSettings.resx
Normal file
File diff suppressed because one or more lines are too long
270
Explorer/Forms/FormGdda.cs
Normal file
270
Explorer/Forms/FormGdda.cs
Normal file
|
@ -0,0 +1,270 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormGdda
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using SEGATools.Audio;
|
||||
using SEGATools.DiscFileSystem;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormGdda : Form
|
||||
{
|
||||
private static readonly Logger.ILog logger = Logger.CreateLog();
|
||||
private IDiscSession discSession;
|
||||
private List<IDiscTrack> selectedDiscTracks;
|
||||
private IContainer components;
|
||||
private Button btConvertSelection;
|
||||
private GroupBox groupBox;
|
||||
private Button btUnselectAll;
|
||||
private Button btInverseSelection;
|
||||
private Button btSelectAll;
|
||||
private ListView listViewTracks;
|
||||
private ColumnHeader columnHeader1;
|
||||
private ColumnHeader columnHeader2;
|
||||
private Button btClose;
|
||||
private FolderBrowserDialog folderBrowserDialogForAudio;
|
||||
private SaveFileDialog saveFileDialogForAudio;
|
||||
private AudioConversionSettingsViewer audioConversionSettingsViewer;
|
||||
|
||||
public List<IDiscTrack> SelectedDiscTracks => this.selectedDiscTracks.ToList<IDiscTrack>();
|
||||
|
||||
public AudioConversionSettings AudioConversionSettings => this.audioConversionSettingsViewer.AudioConversionSettings;
|
||||
|
||||
public FormGdda(IDiscSession discSession)
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.discSession = discSession;
|
||||
this.selectedDiscTracks = new List<IDiscTrack>();
|
||||
}
|
||||
|
||||
private void frmGdda_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.LoadTracks();
|
||||
this.UpdateConvertButton();
|
||||
this.listViewTracks.ItemCheck += new ItemCheckEventHandler(this.listViewTracks_ItemCheck);
|
||||
this.listViewTracks.ItemChecked += new ItemCheckedEventHandler(this.listViewTracks_ItemChecked);
|
||||
this.listViewTracks.ItemSelectionChanged += new ListViewItemSelectionChangedEventHandler(this.listViewTracks_ItemSelectionChanged);
|
||||
}
|
||||
|
||||
private void listViewTracks_ItemCheck(object sender, ItemCheckEventArgs e) => this.UpdateConvertButton();
|
||||
|
||||
private void listViewTracks_ItemChecked(object sender, ItemCheckedEventArgs e) => this.UpdateConvertButton();
|
||||
|
||||
private void listViewTracks_ItemSelectionChanged(
|
||||
object sender,
|
||||
ListViewItemSelectionChangedEventArgs e)
|
||||
{
|
||||
this.UpdateConvertButton();
|
||||
}
|
||||
|
||||
private void UpdateConvertButton() => this.btConvertSelection.Enabled = this.listViewTracks.CheckedItems.Count > 0;
|
||||
|
||||
private void LoadTracks()
|
||||
{
|
||||
this.listViewTracks.BeginUpdate();
|
||||
this.listViewTracks.Items.Clear();
|
||||
foreach (IDiscTrack audioTrack in this.discSession.AudioTracks)
|
||||
this.listViewTracks.Items.Add(new ListViewItem()
|
||||
{
|
||||
SubItems = {
|
||||
audioTrack.ToString()
|
||||
},
|
||||
Tag = (object) audioTrack,
|
||||
Checked = true,
|
||||
ToolTipText = audioTrack.FileName
|
||||
});
|
||||
this.listViewTracks.EndUpdate();
|
||||
}
|
||||
|
||||
private void EnableAll(bool isEnabled)
|
||||
{
|
||||
foreach (ListViewItem listViewItem in this.listViewTracks.Items)
|
||||
listViewItem.Checked = isEnabled;
|
||||
}
|
||||
|
||||
private void InverseSelection()
|
||||
{
|
||||
foreach (ListViewItem listViewItem in this.listViewTracks.Items)
|
||||
listViewItem.Checked = !listViewItem.Checked;
|
||||
}
|
||||
|
||||
private void btSelectAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.EnableAll(true);
|
||||
this.UpdateConvertButton();
|
||||
}
|
||||
|
||||
private void btUnselectAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.EnableAll(false);
|
||||
this.UpdateConvertButton();
|
||||
}
|
||||
|
||||
private void btInverseSelection_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.InverseSelection();
|
||||
this.UpdateConvertButton();
|
||||
}
|
||||
|
||||
private void btConvertSelection_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.selectedDiscTracks.Clear();
|
||||
foreach (ListViewItem listViewItem in this.listViewTracks.Items)
|
||||
{
|
||||
if (listViewItem.Checked)
|
||||
this.selectedDiscTracks.Add(listViewItem.Tag as IDiscTrack);
|
||||
}
|
||||
if (this.selectedDiscTracks.Count > 0)
|
||||
this.DialogResult = DialogResult.OK;
|
||||
else
|
||||
this.DialogResult = DialogResult.None;
|
||||
}
|
||||
|
||||
private void btClose_Click(object sender, EventArgs e) => this.DialogResult = DialogResult.Cancel;
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (FormGdda));
|
||||
this.btConvertSelection = new Button();
|
||||
this.groupBox = new GroupBox();
|
||||
this.listViewTracks = new ListView();
|
||||
this.columnHeader1 = new ColumnHeader();
|
||||
this.columnHeader2 = new ColumnHeader();
|
||||
this.btUnselectAll = new Button();
|
||||
this.btInverseSelection = new Button();
|
||||
this.btSelectAll = new Button();
|
||||
this.btClose = new Button();
|
||||
this.folderBrowserDialogForAudio = new FolderBrowserDialog();
|
||||
this.saveFileDialogForAudio = new SaveFileDialog();
|
||||
this.audioConversionSettingsViewer = new AudioConversionSettingsViewer();
|
||||
this.groupBox.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
this.btConvertSelection.FlatStyle = FlatStyle.Popup;
|
||||
this.btConvertSelection.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btConvertSelection.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btConvertSelection.Location = new Point(248, 225);
|
||||
this.btConvertSelection.Name = "btConvertSelection";
|
||||
this.btConvertSelection.Size = new Size(108, 22);
|
||||
this.btConvertSelection.TabIndex = 5;
|
||||
this.btConvertSelection.Text = "Convert to CDDA";
|
||||
this.btConvertSelection.UseVisualStyleBackColor = false;
|
||||
this.btConvertSelection.Click += new EventHandler(this.btConvertSelection_Click);
|
||||
this.groupBox.Controls.Add((Control) this.listViewTracks);
|
||||
this.groupBox.Controls.Add((Control) this.btUnselectAll);
|
||||
this.groupBox.Controls.Add((Control) this.btInverseSelection);
|
||||
this.groupBox.Controls.Add((Control) this.btSelectAll);
|
||||
this.groupBox.Location = new Point(12, 12);
|
||||
this.groupBox.Name = "groupBox";
|
||||
this.groupBox.Size = new Size(344, 183);
|
||||
this.groupBox.TabIndex = 6;
|
||||
this.groupBox.TabStop = false;
|
||||
this.groupBox.Text = "Select GD-DA tracks to convert:";
|
||||
this.listViewTracks.CheckBoxes = true;
|
||||
this.listViewTracks.Columns.AddRange(new ColumnHeader[2]
|
||||
{
|
||||
this.columnHeader1,
|
||||
this.columnHeader2
|
||||
});
|
||||
this.listViewTracks.FullRowSelect = true;
|
||||
this.listViewTracks.HeaderStyle = ColumnHeaderStyle.None;
|
||||
this.listViewTracks.HideSelection = false;
|
||||
this.listViewTracks.Location = new Point(6, 47);
|
||||
this.listViewTracks.MultiSelect = false;
|
||||
this.listViewTracks.Name = "listViewTracks";
|
||||
this.listViewTracks.ShowItemToolTips = true;
|
||||
this.listViewTracks.Size = new Size(332, 130);
|
||||
this.listViewTracks.TabIndex = 3;
|
||||
this.listViewTracks.UseCompatibleStateImageBehavior = false;
|
||||
this.listViewTracks.View = View.Details;
|
||||
this.columnHeader1.Text = "";
|
||||
this.columnHeader1.Width = 20;
|
||||
this.columnHeader2.Text = "Track name";
|
||||
this.columnHeader2.Width = 280;
|
||||
this.btUnselectAll.FlatStyle = FlatStyle.Popup;
|
||||
this.btUnselectAll.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btUnselectAll.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btUnselectAll.Location = new Point(118, 19);
|
||||
this.btUnselectAll.Name = "btUnselectAll";
|
||||
this.btUnselectAll.Size = new Size(106, 22);
|
||||
this.btUnselectAll.TabIndex = 1;
|
||||
this.btUnselectAll.Text = "Unselect all";
|
||||
this.btUnselectAll.UseVisualStyleBackColor = false;
|
||||
this.btUnselectAll.Click += new EventHandler(this.btUnselectAll_Click);
|
||||
this.btInverseSelection.FlatStyle = FlatStyle.Popup;
|
||||
this.btInverseSelection.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btInverseSelection.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btInverseSelection.Location = new Point(230, 19);
|
||||
this.btInverseSelection.Name = "btInverseSelection";
|
||||
this.btInverseSelection.Size = new Size(106, 22);
|
||||
this.btInverseSelection.TabIndex = 2;
|
||||
this.btInverseSelection.Text = "Inverse selection";
|
||||
this.btInverseSelection.UseVisualStyleBackColor = false;
|
||||
this.btInverseSelection.Click += new EventHandler(this.btInverseSelection_Click);
|
||||
this.btSelectAll.FlatStyle = FlatStyle.Popup;
|
||||
this.btSelectAll.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btSelectAll.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btSelectAll.Location = new Point(6, 19);
|
||||
this.btSelectAll.Name = "btSelectAll";
|
||||
this.btSelectAll.Size = new Size(106, 22);
|
||||
this.btSelectAll.TabIndex = 0;
|
||||
this.btSelectAll.Text = "Select all";
|
||||
this.btSelectAll.UseVisualStyleBackColor = false;
|
||||
this.btSelectAll.Click += new EventHandler(this.btSelectAll_Click);
|
||||
this.btClose.DialogResult = DialogResult.Cancel;
|
||||
this.btClose.FlatStyle = FlatStyle.Popup;
|
||||
this.btClose.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btClose.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btClose.Location = new Point(12, 225);
|
||||
this.btClose.Name = "btClose";
|
||||
this.btClose.Size = new Size(108, 22);
|
||||
this.btClose.TabIndex = 4;
|
||||
this.btClose.Text = "Close";
|
||||
this.btClose.UseVisualStyleBackColor = false;
|
||||
this.btClose.Click += new EventHandler(this.btClose_Click);
|
||||
this.audioConversionSettingsViewer.AutoSize = true;
|
||||
this.audioConversionSettingsViewer.BackColor = Color.Transparent;
|
||||
this.audioConversionSettingsViewer.Location = new Point(13, 201);
|
||||
this.audioConversionSettingsViewer.Name = "audioConversionSettingsViewer";
|
||||
this.audioConversionSettingsViewer.Size = new Size(343, 23);
|
||||
this.audioConversionSettingsViewer.TabIndex = 7;
|
||||
this.AcceptButton = (IButtonControl) this.btConvertSelection;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btClose;
|
||||
this.ClientSize = new Size(368, 259);
|
||||
this.Controls.Add((Control) this.audioConversionSettingsViewer);
|
||||
this.Controls.Add((Control) this.btClose);
|
||||
this.Controls.Add((Control) this.groupBox);
|
||||
this.Controls.Add((Control) this.btConvertSelection);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormGdda);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Convert GD-DA to CD-DA";
|
||||
this.Load += new EventHandler(this.frmGdda_Load);
|
||||
this.groupBox.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
}
|
||||
}
|
123
Explorer/Forms/FormGdda.resx
Normal file
123
Explorer/Forms/FormGdda.resx
Normal file
File diff suppressed because one or more lines are too long
185
Explorer/Forms/FormGetDESKey.cs
Normal file
185
Explorer/Forms/FormGetDESKey.cs
Normal file
|
@ -0,0 +1,185 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormGetDESKey
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using GDRomExplorer.Resources;
|
||||
using SEGATools.Encrypt;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormGetDESKey : Form
|
||||
{
|
||||
private IContainer components;
|
||||
private TextBox tbDESKey;
|
||||
private Label lbDESKey;
|
||||
private Button btProceed;
|
||||
private Button btCancel;
|
||||
|
||||
public DESKey DESKey { get; private set; }
|
||||
|
||||
public static FormGetDESKey aGetDESKeyFormWithDecryptLabel() => new FormGetDESKey(FormGetDESKey.ButtonLabel.DecryptOnly, (DESKey) null);
|
||||
|
||||
public static FormGetDESKey aGetDESKeyFormWithEncryptLabel() => new FormGetDESKey(FormGetDESKey.ButtonLabel.EncryptOnly, (DESKey) null);
|
||||
|
||||
public static FormGetDESKey aGetDESKeyFormWithExtractAndDecryptLabel(
|
||||
DESKey inputDESKey)
|
||||
{
|
||||
return new FormGetDESKey(FormGetDESKey.ButtonLabel.ExtractAndDecrypt, inputDESKey);
|
||||
}
|
||||
|
||||
private FormGetDESKey()
|
||||
: this(FormGetDESKey.ButtonLabel.ExtractAndDecrypt, (DESKey) null)
|
||||
{
|
||||
}
|
||||
|
||||
private FormGetDESKey(FormGetDESKey.ButtonLabel buttonLabel, DESKey suggestedDESKey)
|
||||
{
|
||||
string extractButtonLabel;
|
||||
switch (buttonLabel)
|
||||
{
|
||||
case FormGetDESKey.ButtonLabel.ExtractAndDecrypt:
|
||||
extractButtonLabel = Strings.DESKeyFormButtonLabelExtractAndDecrypt;
|
||||
break;
|
||||
case FormGetDESKey.ButtonLabel.EncryptOnly:
|
||||
extractButtonLabel = Strings.DESKeyFormButtonLabelEncrypt;
|
||||
break;
|
||||
case FormGetDESKey.ButtonLabel.DecryptOnly:
|
||||
extractButtonLabel = Strings.DESKeyFormButtonLabelDecrypt;
|
||||
break;
|
||||
default:
|
||||
extractButtonLabel = Strings.DESKeyFormButtonLabelDecrypt;
|
||||
break;
|
||||
}
|
||||
this.DESKey = suggestedDESKey;
|
||||
this.Initialize(extractButtonLabel);
|
||||
}
|
||||
|
||||
private void Initialize(string extractButtonLabel)
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.Activated += new EventHandler(this.FormGetDESKey_Activated);
|
||||
this.btProceed.Text = extractButtonLabel;
|
||||
this.tbDESKey.CharacterCasing = CharacterCasing.Upper;
|
||||
this.tbDESKey.TextChanged += new EventHandler(this.tbDESKey_TextChanged);
|
||||
}
|
||||
|
||||
private void ValidateDESKey(string key)
|
||||
{
|
||||
string key1 = key.Trim();
|
||||
if (DESKey.TryParse(key1))
|
||||
{
|
||||
this.DESKey = DESKey.Parse(key1);
|
||||
this.btProceed.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.DESKey = (DESKey) null;
|
||||
this.btProceed.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void FormGetDESKey_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.btProceed.Enabled = false;
|
||||
this.tbDESKey.Text = this.DESKey != null ? this.DESKey.KeyString : string.Empty;
|
||||
this.tbDESKey.Focus();
|
||||
}
|
||||
|
||||
private void FormGetDESKey_Activated(object sender, EventArgs e)
|
||||
{
|
||||
if (!Clipboard.ContainsText() || !DESKey.TryParse(Clipboard.GetText().Trim()))
|
||||
return;
|
||||
this.tbDESKey.Text = Clipboard.GetText().Trim();
|
||||
}
|
||||
|
||||
private void tbDESKey_TextChanged(object sender, EventArgs e) => this.ValidateDESKey(this.tbDESKey.Text);
|
||||
|
||||
private void btProceed_Click(object sender, EventArgs e) => this.ValidateDESKey(this.tbDESKey.Text);
|
||||
|
||||
private void btCancel_Click(object sender, EventArgs e) => this.Close();
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tbDESKey = new TextBox();
|
||||
this.lbDESKey = new Label();
|
||||
this.btProceed = new Button();
|
||||
this.btCancel = new Button();
|
||||
this.SuspendLayout();
|
||||
this.tbDESKey.Location = new Point(71, 6);
|
||||
this.tbDESKey.MaxLength = 16;
|
||||
this.tbDESKey.Name = "tbDESKey";
|
||||
this.tbDESKey.Size = new Size(210, 20);
|
||||
this.tbDESKey.TabIndex = 0;
|
||||
this.tbDESKey.TextAlign = HorizontalAlignment.Center;
|
||||
this.lbDESKey.AutoSize = true;
|
||||
this.lbDESKey.Location = new Point(12, 9);
|
||||
this.lbDESKey.Name = "lbDESKey";
|
||||
this.lbDESKey.Size = new Size(53, 13);
|
||||
this.lbDESKey.TabIndex = 2;
|
||||
this.lbDESKey.Text = "DES Key:";
|
||||
this.btProceed.DialogResult = DialogResult.OK;
|
||||
this.btProceed.FlatStyle = FlatStyle.Popup;
|
||||
this.btProceed.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btProceed.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btProceed.Location = new Point(154, 32);
|
||||
this.btProceed.Name = "btProceed";
|
||||
this.btProceed.Size = new Size((int) sbyte.MaxValue, 22);
|
||||
this.btProceed.TabIndex = 1;
|
||||
this.btProceed.Text = "&OK";
|
||||
this.btProceed.UseVisualStyleBackColor = false;
|
||||
this.btProceed.Click += new EventHandler(this.btProceed_Click);
|
||||
this.btCancel.DialogResult = DialogResult.Cancel;
|
||||
this.btCancel.FlatStyle = FlatStyle.Popup;
|
||||
this.btCancel.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btCancel.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btCancel.Location = new Point(15, 32);
|
||||
this.btCancel.Name = "btCancel";
|
||||
this.btCancel.Size = new Size((int) sbyte.MaxValue, 22);
|
||||
this.btCancel.TabIndex = 2;
|
||||
this.btCancel.Text = "&Cancel";
|
||||
this.btCancel.UseVisualStyleBackColor = false;
|
||||
this.btCancel.Click += new EventHandler(this.btCancel_Click);
|
||||
this.AcceptButton = (IButtonControl) this.btProceed;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btCancel;
|
||||
this.ClientSize = new Size(295, 65);
|
||||
this.Controls.Add((Control) this.btCancel);
|
||||
this.Controls.Add((Control) this.btProceed);
|
||||
this.Controls.Add((Control) this.tbDESKey);
|
||||
this.Controls.Add((Control) this.lbDESKey);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormGetDESKey);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Enter the Naomi DES key";
|
||||
this.Load += new EventHandler(this.FormGetDESKey_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
|
||||
private enum ButtonLabel : short
|
||||
{
|
||||
ExtractAndDecrypt,
|
||||
EncryptOnly,
|
||||
DecryptOnly,
|
||||
}
|
||||
}
|
||||
}
|
120
Explorer/Forms/FormGetDESKey.resx
Normal file
120
Explorer/Forms/FormGetDESKey.resx
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?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>
|
||||
</root>
|
203
Explorer/Forms/FormInitialProgram.cs
Normal file
203
Explorer/Forms/FormInitialProgram.cs
Normal file
|
@ -0,0 +1,203 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormInitialProgram
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using SEGATools.Security;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormInitialProgram : Form
|
||||
{
|
||||
private InitialProgramExtended ip;
|
||||
private string basePath;
|
||||
private IContainer components;
|
||||
private Button btClose;
|
||||
private TabControl tcInitialProgram;
|
||||
private TabPage tpGeneralSettings;
|
||||
private InitialProgramGeneralSettingsViewer ipGeneralSettingsViewer;
|
||||
private TabPage tpPeripheralSettings;
|
||||
private InitialProgramPeripheralsViewer ipPeriperalsViewer;
|
||||
private TabPage tpMRImages;
|
||||
private InitialProgramImagesViewer ipImagesViewer;
|
||||
private TabPage tpLibraryReferences;
|
||||
private TabPage tpTrackList;
|
||||
private InitialProgramLibraryReferences ipLibraryReferences;
|
||||
private InitialProgramTocViewer ipTocViewer;
|
||||
|
||||
public FormInitialProgram(InitialProgramExtended ip, string basePath)
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.ip = ip;
|
||||
this.basePath = basePath;
|
||||
}
|
||||
|
||||
private void FormIp_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Text = "Initial Program Viewer: " + this.ip.FileName;
|
||||
this.ipGeneralSettingsViewer.LoadInitialProgram(this.ip);
|
||||
this.ipPeriperalsViewer.LoadInitialProgram(this.ip);
|
||||
this.ipImagesViewer.LoadInitialProgram(this.ip, this.basePath);
|
||||
this.ipLibraryReferences.LoadInitialProgram(this.ip);
|
||||
this.ipTocViewer.LoadInitialProgram(this.ip);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.btClose = new Button();
|
||||
this.tcInitialProgram = new TabControl();
|
||||
this.tpGeneralSettings = new TabPage();
|
||||
this.ipGeneralSettingsViewer = new InitialProgramGeneralSettingsViewer();
|
||||
this.tpPeripheralSettings = new TabPage();
|
||||
this.ipPeriperalsViewer = new InitialProgramPeripheralsViewer();
|
||||
this.tpMRImages = new TabPage();
|
||||
this.ipImagesViewer = new InitialProgramImagesViewer();
|
||||
this.tpLibraryReferences = new TabPage();
|
||||
this.ipLibraryReferences = new InitialProgramLibraryReferences();
|
||||
this.tpTrackList = new TabPage();
|
||||
this.ipTocViewer = new InitialProgramTocViewer();
|
||||
this.tcInitialProgram.SuspendLayout();
|
||||
this.tpGeneralSettings.SuspendLayout();
|
||||
this.tpPeripheralSettings.SuspendLayout();
|
||||
this.tpMRImages.SuspendLayout();
|
||||
this.tpLibraryReferences.SuspendLayout();
|
||||
this.tpTrackList.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
this.btClose.DialogResult = DialogResult.Cancel;
|
||||
this.btClose.FlatStyle = FlatStyle.Popup;
|
||||
this.btClose.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btClose.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btClose.Location = new Point(378, 292);
|
||||
this.btClose.Name = "btClose";
|
||||
this.btClose.Size = new Size(108, 22);
|
||||
this.btClose.TabIndex = 0;
|
||||
this.btClose.Text = "Close";
|
||||
this.btClose.UseVisualStyleBackColor = false;
|
||||
this.tcInitialProgram.Controls.Add((Control) this.tpGeneralSettings);
|
||||
this.tcInitialProgram.Controls.Add((Control) this.tpPeripheralSettings);
|
||||
this.tcInitialProgram.Controls.Add((Control) this.tpMRImages);
|
||||
this.tcInitialProgram.Controls.Add((Control) this.tpLibraryReferences);
|
||||
this.tcInitialProgram.Controls.Add((Control) this.tpTrackList);
|
||||
this.tcInitialProgram.Location = new Point(12, 12);
|
||||
this.tcInitialProgram.Name = "tcInitialProgram";
|
||||
this.tcInitialProgram.SelectedIndex = 0;
|
||||
this.tcInitialProgram.Size = new Size(474, 274);
|
||||
this.tcInitialProgram.TabIndex = 0;
|
||||
this.tpGeneralSettings.BackColor = Color.Transparent;
|
||||
this.tpGeneralSettings.Controls.Add((Control) this.ipGeneralSettingsViewer);
|
||||
this.tpGeneralSettings.Cursor = Cursors.Default;
|
||||
this.tpGeneralSettings.Location = new Point(4, 22);
|
||||
this.tpGeneralSettings.Name = "tpGeneralSettings";
|
||||
this.tpGeneralSettings.Padding = new Padding(3);
|
||||
this.tpGeneralSettings.Size = new Size(466, 248);
|
||||
this.tpGeneralSettings.TabIndex = 0;
|
||||
this.tpGeneralSettings.Text = "General Settings";
|
||||
this.tpGeneralSettings.UseVisualStyleBackColor = true;
|
||||
this.ipGeneralSettingsViewer.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
this.ipGeneralSettingsViewer.AutoSize = true;
|
||||
this.ipGeneralSettingsViewer.BackColor = Color.Transparent;
|
||||
this.ipGeneralSettingsViewer.Location = new Point(3, 3);
|
||||
this.ipGeneralSettingsViewer.Name = "ipGeneralSettingsViewer";
|
||||
this.ipGeneralSettingsViewer.Size = new Size(460, 243);
|
||||
this.ipGeneralSettingsViewer.TabIndex = 12;
|
||||
this.tpPeripheralSettings.BackColor = Color.Transparent;
|
||||
this.tpPeripheralSettings.Controls.Add((Control) this.ipPeriperalsViewer);
|
||||
this.tpPeripheralSettings.Location = new Point(4, 22);
|
||||
this.tpPeripheralSettings.Name = "tpPeripheralSettings";
|
||||
this.tpPeripheralSettings.Padding = new Padding(3);
|
||||
this.tpPeripheralSettings.Size = new Size(466, 248);
|
||||
this.tpPeripheralSettings.TabIndex = 1;
|
||||
this.tpPeripheralSettings.Text = "Peripheral Settings";
|
||||
this.tpPeripheralSettings.UseVisualStyleBackColor = true;
|
||||
this.ipPeriperalsViewer.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
|
||||
this.ipPeriperalsViewer.AutoSize = true;
|
||||
this.ipPeriperalsViewer.BackColor = Color.Transparent;
|
||||
this.ipPeriperalsViewer.Location = new Point(3, 3);
|
||||
this.ipPeriperalsViewer.Name = "ipPeriperalsViewer";
|
||||
this.ipPeriperalsViewer.Size = new Size(463, 242);
|
||||
this.ipPeriperalsViewer.TabIndex = 13;
|
||||
this.tpMRImages.BackColor = Color.Transparent;
|
||||
this.tpMRImages.Controls.Add((Control) this.ipImagesViewer);
|
||||
this.tpMRImages.Location = new Point(4, 22);
|
||||
this.tpMRImages.Name = "tpMRImages";
|
||||
this.tpMRImages.Padding = new Padding(3);
|
||||
this.tpMRImages.Size = new Size(466, 248);
|
||||
this.tpMRImages.TabIndex = 2;
|
||||
this.tpMRImages.Text = "MR Images";
|
||||
this.tpMRImages.UseVisualStyleBackColor = true;
|
||||
this.ipImagesViewer.BackColor = Color.Transparent;
|
||||
this.ipImagesViewer.Location = new Point(0, 6);
|
||||
this.ipImagesViewer.Name = "ipImagesViewer";
|
||||
this.ipImagesViewer.Size = new Size(463, 239);
|
||||
this.ipImagesViewer.TabIndex = 0;
|
||||
this.tpLibraryReferences.BackColor = Color.Transparent;
|
||||
this.tpLibraryReferences.Controls.Add((Control) this.ipLibraryReferences);
|
||||
this.tpLibraryReferences.Location = new Point(4, 22);
|
||||
this.tpLibraryReferences.Name = "tpLibraryReferences";
|
||||
this.tpLibraryReferences.Padding = new Padding(3);
|
||||
this.tpLibraryReferences.Size = new Size(466, 248);
|
||||
this.tpLibraryReferences.TabIndex = 3;
|
||||
this.tpLibraryReferences.Text = "Library References";
|
||||
this.tpLibraryReferences.UseVisualStyleBackColor = true;
|
||||
this.ipLibraryReferences.BackColor = Color.Transparent;
|
||||
this.ipLibraryReferences.Dock = DockStyle.Fill;
|
||||
this.ipLibraryReferences.Location = new Point(3, 3);
|
||||
this.ipLibraryReferences.Name = "ipLibraryReferences";
|
||||
this.ipLibraryReferences.Size = new Size(460, 242);
|
||||
this.ipLibraryReferences.TabIndex = 0;
|
||||
this.tpTrackList.Controls.Add((Control) this.ipTocViewer);
|
||||
this.tpTrackList.Location = new Point(4, 22);
|
||||
this.tpTrackList.Name = "tpTrackList";
|
||||
this.tpTrackList.Padding = new Padding(3);
|
||||
this.tpTrackList.Size = new Size(466, 248);
|
||||
this.tpTrackList.TabIndex = 4;
|
||||
this.tpTrackList.Text = "Track List";
|
||||
this.tpTrackList.UseVisualStyleBackColor = true;
|
||||
this.ipTocViewer.BackColor = Color.Transparent;
|
||||
this.ipTocViewer.Dock = DockStyle.Fill;
|
||||
this.ipTocViewer.Location = new Point(3, 3);
|
||||
this.ipTocViewer.Name = "ipTocViewer";
|
||||
this.ipTocViewer.Size = new Size(460, 242);
|
||||
this.ipTocViewer.TabIndex = 0;
|
||||
this.AcceptButton = (IButtonControl) this.btClose;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btClose;
|
||||
this.ClientSize = new Size(497, 321);
|
||||
this.Controls.Add((Control) this.tcInitialProgram);
|
||||
this.Controls.Add((Control) this.btClose);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormInitialProgram);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "IP Viewer";
|
||||
this.Load += new EventHandler(this.FormIp_Load);
|
||||
this.tcInitialProgram.ResumeLayout(false);
|
||||
this.tpGeneralSettings.ResumeLayout(false);
|
||||
this.tpGeneralSettings.PerformLayout();
|
||||
this.tpPeripheralSettings.ResumeLayout(false);
|
||||
this.tpPeripheralSettings.PerformLayout();
|
||||
this.tpMRImages.ResumeLayout(false);
|
||||
this.tpLibraryReferences.ResumeLayout(false);
|
||||
this.tpTrackList.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
}
|
||||
}
|
120
Explorer/Forms/FormInitialProgram.resx
Normal file
120
Explorer/Forms/FormInitialProgram.resx
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?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>
|
||||
</root>
|
70
Explorer/Forms/FormLoading.cs
Normal file
70
Explorer/Forms/FormLoading.cs
Normal file
|
@ -0,0 +1,70 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormLoading
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormLoading : Form
|
||||
{
|
||||
private IContainer components;
|
||||
private Label lbLoadingMessage;
|
||||
private ProgressBar progressBar;
|
||||
|
||||
public FormLoading(string Title, string Message)
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.Text = Title;
|
||||
this.lbLoadingMessage.Text = Message;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.lbLoadingMessage = new Label();
|
||||
this.progressBar = new ProgressBar();
|
||||
this.SuspendLayout();
|
||||
this.lbLoadingMessage.Anchor = AnchorStyles.None;
|
||||
this.lbLoadingMessage.ImageAlign = ContentAlignment.TopCenter;
|
||||
this.lbLoadingMessage.Location = new Point(12, 9);
|
||||
this.lbLoadingMessage.Name = "lbLoadingMessage";
|
||||
this.lbLoadingMessage.Size = new Size(320, 20);
|
||||
this.lbLoadingMessage.TabIndex = 5;
|
||||
this.lbLoadingMessage.Text = "Message";
|
||||
this.lbLoadingMessage.TextAlign = ContentAlignment.MiddleLeft;
|
||||
this.progressBar.Location = new Point(12, 32);
|
||||
this.progressBar.MarqueeAnimationSpeed = 30;
|
||||
this.progressBar.Name = "progressBar";
|
||||
this.progressBar.Size = new Size(320, 23);
|
||||
this.progressBar.Style = ProgressBarStyle.Marquee;
|
||||
this.progressBar.TabIndex = 6;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.ClientSize = new Size(344, 62);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add((Control) this.progressBar);
|
||||
this.Controls.Add((Control) this.lbLoadingMessage);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormLoading);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Title";
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
}
|
||||
}
|
120
Explorer/Forms/FormLoading.resx
Normal file
120
Explorer/Forms/FormLoading.resx
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?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>
|
||||
</root>
|
81
Explorer/Forms/FormPrimaryVolumeDescriptor.cs
Normal file
81
Explorer/Forms/FormPrimaryVolumeDescriptor.cs
Normal file
|
@ -0,0 +1,81 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormPrimaryVolumeDescriptor
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using GDRomExplorer.UserControls;
|
||||
using ImageReader.ISO9660.VolumeDescriptors;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormPrimaryVolumeDescriptor : Form
|
||||
{
|
||||
private PrimaryVolumeDescriptor PrimaryVolumeDescriptor;
|
||||
private IContainer components;
|
||||
private Button btClose;
|
||||
private PrimaryVolumeDescriptorViewer primaryVolumeDescriptorViewer;
|
||||
|
||||
public FormPrimaryVolumeDescriptor(PrimaryVolumeDescriptor PrimaryVolumeDescriptor)
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.PrimaryVolumeDescriptor = PrimaryVolumeDescriptor;
|
||||
}
|
||||
|
||||
private void FormInfo_Load(object sender, EventArgs e) => this.primaryVolumeDescriptorViewer.LoadPrimaryVolumeDescriptor(this.PrimaryVolumeDescriptor);
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (FormPrimaryVolumeDescriptor));
|
||||
this.btClose = new Button();
|
||||
this.primaryVolumeDescriptorViewer = new PrimaryVolumeDescriptorViewer();
|
||||
this.SuspendLayout();
|
||||
this.btClose.DialogResult = DialogResult.Cancel;
|
||||
this.btClose.FlatStyle = FlatStyle.Popup;
|
||||
this.btClose.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btClose.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btClose.Location = new Point(466, 198);
|
||||
this.btClose.Name = "btClose";
|
||||
this.btClose.Size = new Size(108, 22);
|
||||
this.btClose.TabIndex = 1;
|
||||
this.btClose.Text = "Close";
|
||||
this.btClose.UseVisualStyleBackColor = false;
|
||||
this.primaryVolumeDescriptorViewer.AutoSize = true;
|
||||
this.primaryVolumeDescriptorViewer.Location = new Point(5, 8);
|
||||
this.primaryVolumeDescriptorViewer.Margin = new Padding(1);
|
||||
this.primaryVolumeDescriptorViewer.Name = "primaryVolumeDescriptorViewer";
|
||||
this.primaryVolumeDescriptorViewer.Size = new Size(571, 181);
|
||||
this.primaryVolumeDescriptorViewer.TabIndex = 2;
|
||||
this.AcceptButton = (IButtonControl) this.btClose;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btClose;
|
||||
this.ClientSize = new Size(584, 226);
|
||||
this.Controls.Add((Control) this.primaryVolumeDescriptorViewer);
|
||||
this.Controls.Add((Control) this.btClose);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormPrimaryVolumeDescriptor);
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Primary Volume Descriptor Viewer";
|
||||
this.Load += new EventHandler(this.FormInfo_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
}
|
||||
}
|
123
Explorer/Forms/FormPrimaryVolumeDescriptor.resx
Normal file
123
Explorer/Forms/FormPrimaryVolumeDescriptor.resx
Normal file
File diff suppressed because one or more lines are too long
423
Explorer/Forms/FormProcess.cs
Normal file
423
Explorer/Forms/FormProcess.cs
Normal file
|
@ -0,0 +1,423 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormProcess
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using GDRomExplorer.Others;
|
||||
using GDRomExplorer.Resources;
|
||||
using SEGATools.Audio;
|
||||
using SEGATools.Disc;
|
||||
using SEGATools.Encrypt;
|
||||
using SEGATools.GDEmu;
|
||||
using SEGATools.Scanner;
|
||||
using SEGATools.UserProcess;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormProcess : Form
|
||||
{
|
||||
private static readonly Logger.ILog logger = Logger.CreateLog();
|
||||
private UserProcessBase process;
|
||||
private FormProcess.ProcessInfo processInfo;
|
||||
private Guid currentConversionTaskId;
|
||||
private ProgressBar progressBarUnique;
|
||||
private Label progressBarLabelUnique;
|
||||
private Point progressBarLabelUniqueInitialLocation;
|
||||
private Size progressBarLabelUniqueInitialSize;
|
||||
private bool NotifyAppStatusEvent;
|
||||
private IContainer components;
|
||||
private GroupBox groupBoxProgress;
|
||||
private ProgressBar progressBarTotal;
|
||||
private ProgressBar progressBarCurrent;
|
||||
private Label lbOutputTitle;
|
||||
private Label lbInputTitle;
|
||||
private Button btCancel;
|
||||
private Label lbOutput;
|
||||
private Label lbInput;
|
||||
private Label lbTotalPercentage;
|
||||
private Label lbCurrentPercentage;
|
||||
|
||||
public static FormProcess createForDiscExtractor(
|
||||
DiscExtractor discExtractor,
|
||||
Guid TaskId)
|
||||
{
|
||||
FormProcess.ProcessInfo forDiscExtractor = FormProcess.ProcessInfo.GetProcessInfoForDiscExtractor();
|
||||
return new FormProcess((UserProcessBase) discExtractor, forDiscExtractor, TaskId, true);
|
||||
}
|
||||
|
||||
public static FormProcess createForRawToWavConverter(
|
||||
Raw2WavConverter raw2WavConverter,
|
||||
Guid TaskId)
|
||||
{
|
||||
FormProcess.ProcessInfo rawToWavConverter = FormProcess.ProcessInfo.GetProcessInfoForRawToWavConverter();
|
||||
return new FormProcess((UserProcessBase) raw2WavConverter, rawToWavConverter, TaskId, true);
|
||||
}
|
||||
|
||||
public static FormProcess createForDesEncryptor(
|
||||
DesEncryptDecryptTool desDecryptor,
|
||||
Guid TaskId)
|
||||
{
|
||||
FormProcess.ProcessInfo infoForDesEncryptor = FormProcess.ProcessInfo.GetProcessInfoForDesEncryptor();
|
||||
return new FormProcess((UserProcessBase) desDecryptor, infoForDesEncryptor, TaskId, true);
|
||||
}
|
||||
|
||||
public static FormProcess createForDesDecryptor(
|
||||
DesEncryptDecryptTool desDecryptor,
|
||||
Guid TaskId)
|
||||
{
|
||||
FormProcess.ProcessInfo infoForDesDecryptor = FormProcess.ProcessInfo.GetProcessInfoForDesDecryptor();
|
||||
return new FormProcess((UserProcessBase) desDecryptor, infoForDesDecryptor, TaskId, true);
|
||||
}
|
||||
|
||||
public static FormProcess createForFileScanner(FileScanner fileScanner, Guid TaskId)
|
||||
{
|
||||
FormProcess.ProcessInfo infoForFileScanner = FormProcess.ProcessInfo.GetProcessInfoForFileScanner();
|
||||
return new FormProcess((UserProcessBase) fileScanner, infoForFileScanner, TaskId, true);
|
||||
}
|
||||
|
||||
public static FormProcess createForGDEmuConverter(
|
||||
GDEmuConverter gdEmuConverter,
|
||||
Guid TaskId)
|
||||
{
|
||||
FormProcess.ProcessInfo forGdEmuConverter = FormProcess.ProcessInfo.GetProcessInfoForGDEmuConverter();
|
||||
return new FormProcess((UserProcessBase) gdEmuConverter, forGdEmuConverter, TaskId, false);
|
||||
}
|
||||
|
||||
private FormProcess(
|
||||
UserProcessBase Process,
|
||||
FormProcess.ProcessInfo ProcessInfo,
|
||||
Guid TaskId,
|
||||
bool NotifyAppStatusEvent)
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.process = Process;
|
||||
this.processInfo = ProcessInfo;
|
||||
this.Text = this.processInfo.ProcessTitle;
|
||||
this.groupBoxProgress.Text = this.processInfo.ProcessSubTitle + ":";
|
||||
this.currentConversionTaskId = TaskId;
|
||||
this.progressBarUnique = this.progressBarCurrent;
|
||||
this.progressBarLabelUnique = this.lbCurrentPercentage;
|
||||
this.progressBarLabelUniqueInitialLocation = this.progressBarLabelUnique.Location;
|
||||
this.progressBarLabelUniqueInitialSize = this.progressBarUnique.Size;
|
||||
this.NotifyAppStatusEvent = NotifyAppStatusEvent;
|
||||
this.AddEventListeners();
|
||||
}
|
||||
|
||||
private void AddEventListeners()
|
||||
{
|
||||
this.process.AsyncOperationProgressChanged += new AsyncOperationProgressChangedEventHandler(this.ProgressChanged);
|
||||
this.process.AsyncOperationCompleted += new AsyncOperationCompletedEventHandler(this.ProcessCompleted);
|
||||
this.process.AsyncOperationWaitForUserConsent += new AsyncOperationProgressWaitingForUserConsentEventHandler(this.ProcessWaitForUserConsent);
|
||||
this.process.AsyncOperationUpdateUIView += new AsyncOperationProgressUpdateUIEventHandler(this.ProcessUpdateUIView);
|
||||
}
|
||||
|
||||
private void RemoveEventListeners()
|
||||
{
|
||||
this.process.AsyncOperationProgressChanged -= new AsyncOperationProgressChangedEventHandler(this.ProgressChanged);
|
||||
this.process.AsyncOperationCompleted -= new AsyncOperationCompletedEventHandler(this.ProcessCompleted);
|
||||
this.process.AsyncOperationWaitForUserConsent -= new AsyncOperationProgressWaitingForUserConsentEventHandler(this.ProcessWaitForUserConsent);
|
||||
this.process.AsyncOperationUpdateUIView -= new AsyncOperationProgressUpdateUIEventHandler(this.ProcessUpdateUIView);
|
||||
}
|
||||
|
||||
private void UpdateProgressBar(
|
||||
ProgressBar ProgressBar,
|
||||
Label ProgressPercentage,
|
||||
int Percentage)
|
||||
{
|
||||
if (Percentage == ProgressBar.Value)
|
||||
return;
|
||||
ProgressBar.Value = Percentage >= 100 ? 100 : Percentage;
|
||||
ProgressPercentage.Text = ProgressBar.Value.ToString() + "%";
|
||||
}
|
||||
|
||||
private void NotifyNewAppStatus(string message)
|
||||
{
|
||||
if (!this.NotifyAppStatusEvent)
|
||||
return;
|
||||
AppStatus.NotifyNewAppStatus(message);
|
||||
}
|
||||
|
||||
private void UpdateProgressBarsWithInitialValues()
|
||||
{
|
||||
this.progressBarUnique.Size = this.progressBarLabelUniqueInitialSize;
|
||||
this.progressBarLabelUnique.Location = this.progressBarLabelUniqueInitialLocation;
|
||||
}
|
||||
|
||||
private void ResizeForOneProgressBarWithPercentage()
|
||||
{
|
||||
this.progressBarUnique.Height = this.progressBarTotal.Location.Y + this.progressBarTotal.Height - this.progressBarCurrent.Location.Y;
|
||||
this.progressBarLabelUnique.Location = new Point(this.lbCurrentPercentage.Location.X, this.progressBarCurrent.Location.Y + (this.progressBarCurrent.Height - this.lbCurrentPercentage.Height) / 2);
|
||||
}
|
||||
|
||||
private void ResizeForOneProgressBarWithoutPercentage()
|
||||
{
|
||||
this.ResizeForOneProgressBarWithPercentage();
|
||||
this.progressBarUnique.Width = this.lbTotalPercentage.Location.X + this.lbTotalPercentage.Width - this.progressBarTotal.Location.X;
|
||||
}
|
||||
|
||||
private void UpdateInputTitleAndText(string newTitle, bool showText)
|
||||
{
|
||||
this.lbInputTitle.Text = newTitle;
|
||||
this.lbInput.Visible = showText;
|
||||
}
|
||||
|
||||
private void ProgressChanged(UserProcessProgressChangedEventArgs e)
|
||||
{
|
||||
if (!this.Visible)
|
||||
{
|
||||
int num = (int) this.ShowDialog();
|
||||
}
|
||||
this.UpdateProgressBar(this.progressBarCurrent, this.lbCurrentPercentage, e.ProgressPercentage);
|
||||
this.UpdateProgressBar(this.progressBarTotal, this.lbTotalPercentage, e.TotalProgressPercentage);
|
||||
this.lbInput.Text = e.Input;
|
||||
this.lbOutput.Text = e.Output;
|
||||
this.Update();
|
||||
}
|
||||
|
||||
private void ProcessCompleted(object sender, UserProcessCompletedEventArgs e)
|
||||
{
|
||||
if (e.Error != null)
|
||||
{
|
||||
string str = string.Format("{0} error with \"{1}\":\n{2}", (object) this.processInfo.ProcessTypeName, (object) e.ResourceName, (object) e.Error.Message);
|
||||
FormProcess.logger.Error((object) str);
|
||||
int num = (int) MessageBox.Show((IWin32Window) this, str, this.processInfo.ProcessTitle, MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
||||
this.NotifyNewAppStatus(str);
|
||||
}
|
||||
else if (e.Cancelled)
|
||||
{
|
||||
string message = string.Format("{0} canceled!", (object) this.processInfo.ProcessTypeName);
|
||||
FormProcess.logger.Info((object) message);
|
||||
this.NotifyNewAppStatus(message);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.UpdateProgressBar(this.progressBarCurrent, this.lbCurrentPercentage, 100);
|
||||
this.UpdateProgressBar(this.progressBarTotal, this.lbTotalPercentage, 100);
|
||||
string message = string.Format("{0} successfully completed!", (object) this.processInfo.ProcessTypeName);
|
||||
FormProcess.logger.Info((object) message);
|
||||
this.NotifyNewAppStatus(message);
|
||||
}
|
||||
this.RemoveEventListeners();
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void ProcessWaitForUserConsent(UserProcessWaitingForUserConsentEventArgs e)
|
||||
{
|
||||
string caption = Strings.ResourceManager.GetString(e.QuestionTitleResourceName);
|
||||
if (MessageBox.Show((IWin32Window) this, UserProcessEventArgsConverter.ToFormatedString(e, Strings.ResourceManager), caption, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) != DialogResult.Yes)
|
||||
this.process.CancelAsync((object) this.currentConversionTaskId);
|
||||
e.ResetEvent.Set();
|
||||
}
|
||||
|
||||
private void ProcessUpdateUIView(UserProcessUpdateUIViewEventArgs e)
|
||||
{
|
||||
this.UpdateProgressBarsWithInitialValues();
|
||||
switch (e.UIStyle)
|
||||
{
|
||||
case UserProcessUpdateUIViewEventArgs.UserProgressUIStyle.OneProgressBarWithPercentage:
|
||||
this.progressBarTotal.Visible = false;
|
||||
this.lbTotalPercentage.Visible = false;
|
||||
this.progressBarCurrent.Visible = true;
|
||||
this.lbCurrentPercentage.Visible = true;
|
||||
this.progressBarCurrent.Style = ProgressBarStyle.Continuous;
|
||||
this.ResizeForOneProgressBarWithPercentage();
|
||||
break;
|
||||
case UserProcessUpdateUIViewEventArgs.UserProgressUIStyle.OneProgressBarWithoutPercentage:
|
||||
this.progressBarTotal.Visible = false;
|
||||
this.lbTotalPercentage.Visible = false;
|
||||
this.progressBarCurrent.Visible = true;
|
||||
this.lbCurrentPercentage.Visible = false;
|
||||
this.progressBarCurrent.Style = ProgressBarStyle.Marquee;
|
||||
this.ResizeForOneProgressBarWithoutPercentage();
|
||||
break;
|
||||
case UserProcessUpdateUIViewEventArgs.UserProgressUIStyle.TwoProgressBarsWithPercentage:
|
||||
this.progressBarTotal.Visible = true;
|
||||
this.lbTotalPercentage.Visible = true;
|
||||
this.progressBarCurrent.Visible = true;
|
||||
this.lbCurrentPercentage.Visible = true;
|
||||
this.progressBarTotal.Style = ProgressBarStyle.Continuous;
|
||||
this.progressBarCurrent.Style = ProgressBarStyle.Continuous;
|
||||
break;
|
||||
}
|
||||
if (!e.UpdateInputTitle)
|
||||
return;
|
||||
this.UpdateInputTitleAndText(Strings.ResourceManager.GetString(e.InputTitleResourceName), e.ShowInputText);
|
||||
}
|
||||
|
||||
private void btCancel_Click(object sender, EventArgs e) => this.process.CancelAsync((object) this.currentConversionTaskId);
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (FormProcess));
|
||||
this.groupBoxProgress = new GroupBox();
|
||||
this.lbCurrentPercentage = new Label();
|
||||
this.lbTotalPercentage = new Label();
|
||||
this.lbOutput = new Label();
|
||||
this.lbInput = new Label();
|
||||
this.btCancel = new Button();
|
||||
this.progressBarTotal = new ProgressBar();
|
||||
this.progressBarCurrent = new ProgressBar();
|
||||
this.lbOutputTitle = new Label();
|
||||
this.lbInputTitle = new Label();
|
||||
this.groupBoxProgress.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
this.groupBoxProgress.Controls.Add((Control) this.lbOutputTitle);
|
||||
this.groupBoxProgress.Controls.Add((Control) this.lbInputTitle);
|
||||
this.groupBoxProgress.Controls.Add((Control) this.lbCurrentPercentage);
|
||||
this.groupBoxProgress.Controls.Add((Control) this.lbTotalPercentage);
|
||||
this.groupBoxProgress.Controls.Add((Control) this.lbOutput);
|
||||
this.groupBoxProgress.Controls.Add((Control) this.lbInput);
|
||||
this.groupBoxProgress.Controls.Add((Control) this.btCancel);
|
||||
this.groupBoxProgress.Controls.Add((Control) this.progressBarTotal);
|
||||
this.groupBoxProgress.Controls.Add((Control) this.progressBarCurrent);
|
||||
this.groupBoxProgress.Location = new Point(12, 12);
|
||||
this.groupBoxProgress.Name = "groupBoxProgress";
|
||||
this.groupBoxProgress.Size = new Size(421, 137);
|
||||
this.groupBoxProgress.TabIndex = 9;
|
||||
this.groupBoxProgress.TabStop = false;
|
||||
this.groupBoxProgress.Text = "ProgressSubTitle";
|
||||
this.lbCurrentPercentage.AutoSize = true;
|
||||
this.lbCurrentPercentage.BackColor = Color.Transparent;
|
||||
this.lbCurrentPercentage.Font = new Font("Microsoft Sans Serif", 9.75f, FontStyle.Bold, GraphicsUnit.Point, (byte) 0);
|
||||
this.lbCurrentPercentage.ImageAlign = ContentAlignment.MiddleRight;
|
||||
this.lbCurrentPercentage.Location = new Point(370, 66);
|
||||
this.lbCurrentPercentage.Name = "lbCurrentPercentage";
|
||||
this.lbCurrentPercentage.Size = new Size(45, 16);
|
||||
this.lbCurrentPercentage.TabIndex = 9;
|
||||
this.lbCurrentPercentage.Text = "100%";
|
||||
this.lbCurrentPercentage.TextAlign = ContentAlignment.MiddleRight;
|
||||
this.lbTotalPercentage.AutoSize = true;
|
||||
this.lbTotalPercentage.BackColor = Color.Transparent;
|
||||
this.lbTotalPercentage.Font = new Font("Microsoft Sans Serif", 9.75f, FontStyle.Bold, GraphicsUnit.Point, (byte) 0);
|
||||
this.lbTotalPercentage.ImageAlign = ContentAlignment.MiddleRight;
|
||||
this.lbTotalPercentage.Location = new Point(370, 87);
|
||||
this.lbTotalPercentage.Name = "lbTotalPercentage";
|
||||
this.lbTotalPercentage.Size = new Size(45, 16);
|
||||
this.lbTotalPercentage.TabIndex = 10;
|
||||
this.lbTotalPercentage.Text = "100%";
|
||||
this.lbTotalPercentage.TextAlign = ContentAlignment.MiddleRight;
|
||||
this.lbOutput.AutoEllipsis = true;
|
||||
this.lbOutput.Location = new Point(51, 43);
|
||||
this.lbOutput.Name = "lbOutput";
|
||||
this.lbOutput.Size = new Size(358, 14);
|
||||
this.lbOutput.TabIndex = 8;
|
||||
this.lbInput.AutoEllipsis = true;
|
||||
this.lbInput.Location = new Point(51, 20);
|
||||
this.lbInput.Name = "lbInput";
|
||||
this.lbInput.Size = new Size(358, 14);
|
||||
this.lbInput.TabIndex = 7;
|
||||
this.btCancel.DialogResult = DialogResult.Cancel;
|
||||
this.btCancel.FlatStyle = FlatStyle.Popup;
|
||||
this.btCancel.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btCancel.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btCancel.Location = new Point(156, 108);
|
||||
this.btCancel.Name = "btCancel";
|
||||
this.btCancel.Size = new Size(108, 22);
|
||||
this.btCancel.TabIndex = 6;
|
||||
this.btCancel.Text = "Cancel";
|
||||
this.btCancel.UseVisualStyleBackColor = false;
|
||||
this.btCancel.Click += new EventHandler(this.btCancel_Click);
|
||||
this.progressBarTotal.Location = new Point(8, 87);
|
||||
this.progressBarTotal.Name = "progressBarTotal";
|
||||
this.progressBarTotal.Size = new Size(356, 15);
|
||||
this.progressBarTotal.TabIndex = 4;
|
||||
this.progressBarCurrent.Location = new Point(8, 66);
|
||||
this.progressBarCurrent.Name = "progressBarCurrent";
|
||||
this.progressBarCurrent.Size = new Size(356, 15);
|
||||
this.progressBarCurrent.TabIndex = 3;
|
||||
this.lbOutputTitle.AutoSize = true;
|
||||
this.lbOutputTitle.Location = new Point(6, 43);
|
||||
this.lbOutputTitle.Name = "lbOutputTitle";
|
||||
this.lbOutputTitle.Size = new Size(42, 13);
|
||||
this.lbOutputTitle.TabIndex = 1;
|
||||
this.lbOutputTitle.Text = "Output:";
|
||||
this.lbInputTitle.AutoSize = true;
|
||||
this.lbInputTitle.Location = new Point(6, 20);
|
||||
this.lbInputTitle.Name = "lbInputTitle";
|
||||
this.lbInputTitle.Size = new Size(34, 13);
|
||||
this.lbInputTitle.TabIndex = 0;
|
||||
this.lbInputTitle.Text = "Input:";
|
||||
this.lbInputTitle.TextAlign = ContentAlignment.MiddleLeft;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btCancel;
|
||||
this.ClientSize = new Size(445, 161);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add((Control) this.groupBoxProgress);
|
||||
this.DoubleBuffered = true;
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormProcess);
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "ProcessTitle";
|
||||
this.groupBoxProgress.ResumeLayout(false);
|
||||
this.groupBoxProgress.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
internal class ProcessInfo
|
||||
{
|
||||
internal string ProcessTitle;
|
||||
internal string ProcessSubTitle;
|
||||
internal string ProcessTypeName;
|
||||
|
||||
internal static FormProcess.ProcessInfo GetProcessInfoForDesEncryptor() => new FormProcess.ProcessInfo()
|
||||
{
|
||||
ProcessTitle = Strings.DESEncryptorTitle,
|
||||
ProcessSubTitle = Strings.DESEncryptorSubTitle,
|
||||
ProcessTypeName = Strings.DESEncryptorTypeName
|
||||
};
|
||||
|
||||
internal static FormProcess.ProcessInfo GetProcessInfoForDesDecryptor() => new FormProcess.ProcessInfo()
|
||||
{
|
||||
ProcessTitle = Strings.DESDecryptorTitle,
|
||||
ProcessSubTitle = Strings.DESDecryptorSubTitle,
|
||||
ProcessTypeName = Strings.DESDescriptorTypeName
|
||||
};
|
||||
|
||||
internal static FormProcess.ProcessInfo GetProcessInfoForFileScanner() => new FormProcess.ProcessInfo()
|
||||
{
|
||||
ProcessTitle = Strings.FileScannerTitle,
|
||||
ProcessSubTitle = Strings.FileScannerSubTitle,
|
||||
ProcessTypeName = Strings.FileScannerTypeName
|
||||
};
|
||||
|
||||
internal static FormProcess.ProcessInfo GetProcessInfoForDiscExtractor() => new FormProcess.ProcessInfo()
|
||||
{
|
||||
ProcessTitle = Strings.FileExtractorTitle,
|
||||
ProcessSubTitle = Strings.FileExtractorSubTitle,
|
||||
ProcessTypeName = Strings.FileExtractorTypeName
|
||||
};
|
||||
|
||||
internal static FormProcess.ProcessInfo GetProcessInfoForRawToWavConverter() => new FormProcess.ProcessInfo()
|
||||
{
|
||||
ProcessTitle = Strings.Raw2WavConverterTitle,
|
||||
ProcessSubTitle = Strings.Raw2WavConverterSubTitle,
|
||||
ProcessTypeName = Strings.Raw2WavConverterTypeName
|
||||
};
|
||||
|
||||
internal static FormProcess.ProcessInfo GetProcessInfoForGDEmuConverter() => new FormProcess.ProcessInfo()
|
||||
{
|
||||
ProcessTitle = Strings.GDEmuExporterTitle,
|
||||
ProcessSubTitle = Strings.GDEmuExporterSubTitle,
|
||||
ProcessTypeName = Strings.GDEmuExporterTypeName
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
123
Explorer/Forms/FormProcess.resx
Normal file
123
Explorer/Forms/FormProcess.resx
Normal file
File diff suppressed because one or more lines are too long
363
Explorer/Forms/FormSettings.cs
Normal file
363
Explorer/Forms/FormSettings.cs
Normal file
|
@ -0,0 +1,363 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormSettings
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using GDRomExplorer.Properties;
|
||||
using GDRomExplorer.Resources;
|
||||
using SEGATools.Disc;
|
||||
using SEGATools.FileFormat;
|
||||
using SEGATools.Registry;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormSettings : Form
|
||||
{
|
||||
private static readonly Logger.ILog logger = Logger.CreateLog();
|
||||
private readonly List<FormSettings.CheckedListBoxItem> initialFileExtensions;
|
||||
private IContainer components;
|
||||
private TableLayoutPanel tableLayoutPanel;
|
||||
private Button btSaveClose;
|
||||
private Button btCancel;
|
||||
private TabControl tabControl;
|
||||
private TabPage tpAppSettings;
|
||||
private TabPage tpImageReaderSettings;
|
||||
private DiscFormatProvider discFormatProvider;
|
||||
private GroupBox gbFileExtensions;
|
||||
private CheckedListBox checkedListBox;
|
||||
private FlowLayoutPanel flowLayoutPanel;
|
||||
private LinkLabel lbCheckAll;
|
||||
private LinkLabel lbSelectNone;
|
||||
private TableLayoutPanel tableLayoutPanelImageReading;
|
||||
private GroupBox gbImageReaderOptions;
|
||||
private CheckBox cbComputePathTable;
|
||||
private Label lbInfoPathTable;
|
||||
|
||||
public FormSettings()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.initialFileExtensions = new List<FormSettings.CheckedListBoxItem>();
|
||||
this.FillFileAssociationList();
|
||||
this.cbComputePathTable.Checked = Settings.Default.ImageReaderComputePathTable;
|
||||
this.lbInfoPathTable.Text = Strings.SettingsInfoPathTable;
|
||||
}
|
||||
|
||||
private string GetFileAssociationInfoName(string FileExtension) => "GDRomExplorer" + FileExtension;
|
||||
|
||||
private void FillFileAssociationList()
|
||||
{
|
||||
this.checkedListBox.Items.Clear();
|
||||
foreach (IImageFileFormat ImageFileFormat in this.discFormatProvider.SupportedFileFormat)
|
||||
{
|
||||
for (int index = 0; index < ImageFileFormat.FileExtentions.Length; ++index)
|
||||
{
|
||||
string fileExtention = ImageFileFormat.FileExtentions[index];
|
||||
string extentionDescription = ImageFileFormat.FileExtentionDescriptions[index];
|
||||
bool application = this.IsExtensionAssociatedToApplication(fileExtention);
|
||||
FormSettings.CheckedListBoxItem checkedListBoxItem = new FormSettings.CheckedListBoxItem(fileExtention, extentionDescription, ImageFileFormat);
|
||||
if (application)
|
||||
this.initialFileExtensions.Add(checkedListBoxItem);
|
||||
this.checkedListBox.Items.Add((object) checkedListBoxItem, application);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsExtensionAssociatedToApplication(string fileExtension)
|
||||
{
|
||||
FileAssociationInfo fileAssociationInfo = new FileAssociationInfo(fileExtension);
|
||||
return fileAssociationInfo.Exists && fileAssociationInfo.ProgID.Equals(this.GetFileAssociationInfoName(fileExtension));
|
||||
}
|
||||
|
||||
private void AddFileAssociation(FormSettings.CheckedListBoxItem item)
|
||||
{
|
||||
FileAssociationInfo fileAssociationInfo = new FileAssociationInfo(item.FileExtension);
|
||||
fileAssociationInfo.Create(this.GetFileAssociationInfoName(item.FileExtension));
|
||||
string fullPath = Path.GetFullPath(Environment.GetCommandLineArgs()[0]);
|
||||
ProgramAssociationInfo programAssociationInfo = new ProgramAssociationInfo(fileAssociationInfo.ProgID);
|
||||
programAssociationInfo.Create(item.FileDescription, new ProgramVerb("Open", fullPath + " \"%1\""));
|
||||
string path = fullPath;
|
||||
programAssociationInfo.DefaultIcon = new ProgramIcon(path, 1);
|
||||
}
|
||||
|
||||
private void RemoveFileAssociation(string fileExtension)
|
||||
{
|
||||
FileAssociationInfo fileAssociationInfo = new FileAssociationInfo(fileExtension);
|
||||
if (!this.IsExtensionAssociatedToApplication(fileExtension))
|
||||
return;
|
||||
ProgramAssociationInfo programAssociationInfo = new ProgramAssociationInfo(fileAssociationInfo.ProgID);
|
||||
if (programAssociationInfo.Exists)
|
||||
programAssociationInfo.Delete();
|
||||
fileAssociationInfo.Delete();
|
||||
}
|
||||
|
||||
private void UpdateFileExtensions()
|
||||
{
|
||||
FormSettings.logger.Info((object) "Updating file extensions");
|
||||
foreach (FormSettings.CheckedListBoxItem checkedListBoxItem in (ListBox.ObjectCollection) this.checkedListBox.Items)
|
||||
{
|
||||
bool flag1 = this.initialFileExtensions.Contains(checkedListBoxItem);
|
||||
bool flag2 = this.checkedListBox.CheckedItems.Contains((object) checkedListBoxItem);
|
||||
if (!flag1 && flag2)
|
||||
this.AddFileAssociation(checkedListBoxItem);
|
||||
if (flag1 && !flag2)
|
||||
this.RemoveFileAssociation(checkedListBoxItem.FileExtension);
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateImageReaderSettings()
|
||||
{
|
||||
FormSettings.logger.Info((object) "Updating image reader settings");
|
||||
Settings.Default.ImageReaderComputePathTable = this.cbComputePathTable.Checked;
|
||||
}
|
||||
|
||||
private void btSaveClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.UpdateFileExtensions();
|
||||
this.UpdateImageReaderSettings();
|
||||
AppStatus.NotifyNewAppStatus(Strings.SettingsSaved);
|
||||
}
|
||||
|
||||
private void lbSelectNone_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
for (int index = 0; index < this.checkedListBox.Items.Count; ++index)
|
||||
this.checkedListBox.SetItemChecked(index, false);
|
||||
}
|
||||
|
||||
private void lbCheckAll_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
for (int index = 0; index < this.checkedListBox.Items.Count; ++index)
|
||||
this.checkedListBox.SetItemChecked(index, true);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tableLayoutPanel = new TableLayoutPanel();
|
||||
this.btCancel = new Button();
|
||||
this.btSaveClose = new Button();
|
||||
this.tabControl = new TabControl();
|
||||
this.tpAppSettings = new TabPage();
|
||||
this.gbFileExtensions = new GroupBox();
|
||||
this.flowLayoutPanel = new FlowLayoutPanel();
|
||||
this.lbCheckAll = new LinkLabel();
|
||||
this.lbSelectNone = new LinkLabel();
|
||||
this.checkedListBox = new CheckedListBox();
|
||||
this.tpImageReaderSettings = new TabPage();
|
||||
this.tableLayoutPanelImageReading = new TableLayoutPanel();
|
||||
this.gbImageReaderOptions = new GroupBox();
|
||||
this.lbInfoPathTable = new Label();
|
||||
this.cbComputePathTable = new CheckBox();
|
||||
this.discFormatProvider = new DiscFormatProvider();
|
||||
this.tableLayoutPanel.SuspendLayout();
|
||||
this.tabControl.SuspendLayout();
|
||||
this.tpAppSettings.SuspendLayout();
|
||||
this.gbFileExtensions.SuspendLayout();
|
||||
this.flowLayoutPanel.SuspendLayout();
|
||||
this.tpImageReaderSettings.SuspendLayout();
|
||||
this.tableLayoutPanelImageReading.SuspendLayout();
|
||||
this.gbImageReaderOptions.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
this.tableLayoutPanel.ColumnCount = 2;
|
||||
this.tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
|
||||
this.tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
|
||||
this.tableLayoutPanel.Controls.Add((Control) this.btCancel, 0, 1);
|
||||
this.tableLayoutPanel.Controls.Add((Control) this.btSaveClose, 1, 1);
|
||||
this.tableLayoutPanel.Controls.Add((Control) this.tabControl, 0, 0);
|
||||
this.tableLayoutPanel.Dock = DockStyle.Fill;
|
||||
this.tableLayoutPanel.Location = new Point(0, 0);
|
||||
this.tableLayoutPanel.Name = "tableLayoutPanel";
|
||||
this.tableLayoutPanel.RowCount = 2;
|
||||
this.tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 89.3617f));
|
||||
this.tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 10.6383f));
|
||||
this.tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20f));
|
||||
this.tableLayoutPanel.Size = new Size(271, 235);
|
||||
this.tableLayoutPanel.TabIndex = 0;
|
||||
this.btCancel.DialogResult = DialogResult.Cancel;
|
||||
this.btCancel.Dock = DockStyle.Fill;
|
||||
this.btCancel.FlatStyle = FlatStyle.Popup;
|
||||
this.btCancel.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btCancel.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btCancel.Location = new Point(3, 212);
|
||||
this.btCancel.Name = "btCancel";
|
||||
this.btCancel.Size = new Size(129, 20);
|
||||
this.btCancel.TabIndex = 11;
|
||||
this.btCancel.Text = "&Cancel";
|
||||
this.btCancel.UseVisualStyleBackColor = false;
|
||||
this.btSaveClose.DialogResult = DialogResult.Cancel;
|
||||
this.btSaveClose.Dock = DockStyle.Fill;
|
||||
this.btSaveClose.FlatStyle = FlatStyle.Popup;
|
||||
this.btSaveClose.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btSaveClose.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btSaveClose.Location = new Point(138, 212);
|
||||
this.btSaveClose.Name = "btSaveClose";
|
||||
this.btSaveClose.Size = new Size(130, 20);
|
||||
this.btSaveClose.TabIndex = 10;
|
||||
this.btSaveClose.Text = "&OK";
|
||||
this.btSaveClose.UseVisualStyleBackColor = false;
|
||||
this.btSaveClose.Click += new EventHandler(this.btSaveClose_Click);
|
||||
this.tableLayoutPanel.SetColumnSpan((Control) this.tabControl, 2);
|
||||
this.tabControl.Controls.Add((Control) this.tpAppSettings);
|
||||
this.tabControl.Controls.Add((Control) this.tpImageReaderSettings);
|
||||
this.tabControl.Dock = DockStyle.Fill;
|
||||
this.tabControl.Location = new Point(3, 3);
|
||||
this.tabControl.Name = "tabControl";
|
||||
this.tabControl.SelectedIndex = 0;
|
||||
this.tabControl.Size = new Size(265, 203);
|
||||
this.tabControl.TabIndex = 12;
|
||||
this.tpAppSettings.BackColor = SystemColors.Window;
|
||||
this.tpAppSettings.Controls.Add((Control) this.gbFileExtensions);
|
||||
this.tpAppSettings.Location = new Point(4, 22);
|
||||
this.tpAppSettings.Name = "tpAppSettings";
|
||||
this.tpAppSettings.Padding = new Padding(3);
|
||||
this.tpAppSettings.Size = new Size(257, 177);
|
||||
this.tpAppSettings.TabIndex = 0;
|
||||
this.tpAppSettings.Text = "General";
|
||||
this.gbFileExtensions.BackColor = SystemColors.Window;
|
||||
this.gbFileExtensions.Controls.Add((Control) this.flowLayoutPanel);
|
||||
this.gbFileExtensions.Controls.Add((Control) this.checkedListBox);
|
||||
this.gbFileExtensions.Dock = DockStyle.Top;
|
||||
this.gbFileExtensions.Location = new Point(3, 3);
|
||||
this.gbFileExtensions.Name = "gbFileExtensions";
|
||||
this.gbFileExtensions.Size = new Size(251, 167);
|
||||
this.gbFileExtensions.TabIndex = 1;
|
||||
this.gbFileExtensions.TabStop = false;
|
||||
this.gbFileExtensions.Text = "File Extensions:";
|
||||
this.flowLayoutPanel.Controls.Add((Control) this.lbCheckAll);
|
||||
this.flowLayoutPanel.Controls.Add((Control) this.lbSelectNone);
|
||||
this.flowLayoutPanel.Dock = DockStyle.Bottom;
|
||||
this.flowLayoutPanel.Location = new Point(3, 147);
|
||||
this.flowLayoutPanel.Name = "flowLayoutPanel";
|
||||
this.flowLayoutPanel.Size = new Size(245, 17);
|
||||
this.flowLayoutPanel.TabIndex = 3;
|
||||
this.lbCheckAll.AutoSize = true;
|
||||
this.lbCheckAll.Dock = DockStyle.Bottom;
|
||||
this.lbCheckAll.Location = new Point(3, 0);
|
||||
this.lbCheckAll.Name = "lbCheckAll";
|
||||
this.lbCheckAll.Size = new Size(48, 13);
|
||||
this.lbCheckAll.TabIndex = 6;
|
||||
this.lbCheckAll.TabStop = true;
|
||||
this.lbCheckAll.Text = "select all";
|
||||
this.lbCheckAll.LinkClicked += new LinkLabelLinkClickedEventHandler(this.lbCheckAll_LinkClicked);
|
||||
this.lbSelectNone.AutoSize = true;
|
||||
this.lbSelectNone.Dock = DockStyle.Bottom;
|
||||
this.lbSelectNone.Location = new Point(57, 0);
|
||||
this.lbSelectNone.Name = "lbSelectNone";
|
||||
this.lbSelectNone.Size = new Size(62, 13);
|
||||
this.lbSelectNone.TabIndex = 7;
|
||||
this.lbSelectNone.TabStop = true;
|
||||
this.lbSelectNone.Text = "select none";
|
||||
this.lbSelectNone.LinkClicked += new LinkLabelLinkClickedEventHandler(this.lbSelectNone_LinkClicked);
|
||||
this.checkedListBox.CheckOnClick = true;
|
||||
this.checkedListBox.Dock = DockStyle.Top;
|
||||
this.checkedListBox.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.checkedListBox.FormattingEnabled = true;
|
||||
this.checkedListBox.Location = new Point(3, 16);
|
||||
this.checkedListBox.Name = "checkedListBox";
|
||||
this.checkedListBox.Size = new Size(245, 124);
|
||||
this.checkedListBox.Sorted = true;
|
||||
this.checkedListBox.TabIndex = 1;
|
||||
this.tpImageReaderSettings.BackColor = SystemColors.Window;
|
||||
this.tpImageReaderSettings.Controls.Add((Control) this.tableLayoutPanelImageReading);
|
||||
this.tpImageReaderSettings.Location = new Point(4, 22);
|
||||
this.tpImageReaderSettings.Name = "tpImageReaderSettings";
|
||||
this.tpImageReaderSettings.Padding = new Padding(3);
|
||||
this.tpImageReaderSettings.Size = new Size(257, 177);
|
||||
this.tpImageReaderSettings.TabIndex = 1;
|
||||
this.tpImageReaderSettings.Text = "Image Reading";
|
||||
this.tableLayoutPanelImageReading.BackColor = Color.Transparent;
|
||||
this.tableLayoutPanelImageReading.ColumnCount = 1;
|
||||
this.tableLayoutPanelImageReading.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
|
||||
this.tableLayoutPanelImageReading.Controls.Add((Control) this.gbImageReaderOptions, 0, 0);
|
||||
this.tableLayoutPanelImageReading.Dock = DockStyle.Fill;
|
||||
this.tableLayoutPanelImageReading.Location = new Point(3, 3);
|
||||
this.tableLayoutPanelImageReading.Name = "tableLayoutPanelImageReading";
|
||||
this.tableLayoutPanelImageReading.RowCount = 1;
|
||||
this.tableLayoutPanelImageReading.RowStyles.Add(new RowStyle(SizeType.Percent, 50f));
|
||||
this.tableLayoutPanelImageReading.Size = new Size(251, 171);
|
||||
this.tableLayoutPanelImageReading.TabIndex = 0;
|
||||
this.gbImageReaderOptions.Controls.Add((Control) this.lbInfoPathTable);
|
||||
this.gbImageReaderOptions.Controls.Add((Control) this.cbComputePathTable);
|
||||
this.gbImageReaderOptions.Dock = DockStyle.Top;
|
||||
this.gbImageReaderOptions.Location = new Point(3, 3);
|
||||
this.gbImageReaderOptions.Name = "gbImageReaderOptions";
|
||||
this.gbImageReaderOptions.Size = new Size(245, 90);
|
||||
this.gbImageReaderOptions.TabIndex = 0;
|
||||
this.gbImageReaderOptions.TabStop = false;
|
||||
this.gbImageReaderOptions.Text = "ISO9660 File System:";
|
||||
this.lbInfoPathTable.Dock = DockStyle.Bottom;
|
||||
this.lbInfoPathTable.Location = new Point(3, 40);
|
||||
this.lbInfoPathTable.Name = "lbInfoPathTable";
|
||||
this.lbInfoPathTable.Size = new Size(239, 47);
|
||||
this.lbInfoPathTable.TabIndex = 1;
|
||||
this.lbInfoPathTable.Text = "Info path table";
|
||||
this.cbComputePathTable.AutoSize = true;
|
||||
this.cbComputePathTable.Location = new Point(7, 20);
|
||||
this.cbComputePathTable.Name = "cbComputePathTable";
|
||||
this.cbComputePathTable.Size = new Size(118, 17);
|
||||
this.cbComputePathTable.TabIndex = 0;
|
||||
this.cbComputePathTable.Text = "Compute path table";
|
||||
this.cbComputePathTable.UseVisualStyleBackColor = true;
|
||||
this.AcceptButton = (IButtonControl) this.btSaveClose;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btCancel;
|
||||
this.ClientSize = new Size(271, 235);
|
||||
this.Controls.Add((Control) this.tableLayoutPanel);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormSettings);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Settings";
|
||||
this.tableLayoutPanel.ResumeLayout(false);
|
||||
this.tabControl.ResumeLayout(false);
|
||||
this.tpAppSettings.ResumeLayout(false);
|
||||
this.gbFileExtensions.ResumeLayout(false);
|
||||
this.flowLayoutPanel.ResumeLayout(false);
|
||||
this.flowLayoutPanel.PerformLayout();
|
||||
this.tpImageReaderSettings.ResumeLayout(false);
|
||||
this.tableLayoutPanelImageReading.ResumeLayout(false);
|
||||
this.gbImageReaderOptions.ResumeLayout(false);
|
||||
this.gbImageReaderOptions.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
private class CheckedListBoxItem
|
||||
{
|
||||
public string FileExtension { get; private set; }
|
||||
|
||||
public string FileDescription { get; private set; }
|
||||
|
||||
public IImageFileFormat ImageFileFormat { get; private set; }
|
||||
|
||||
internal CheckedListBoxItem(
|
||||
string FileExtension,
|
||||
string FileDescription,
|
||||
IImageFileFormat ImageFileFormat)
|
||||
{
|
||||
this.FileExtension = FileExtension;
|
||||
this.FileDescription = FileDescription;
|
||||
this.ImageFileFormat = ImageFileFormat;
|
||||
}
|
||||
|
||||
public override string ToString() => string.Format("*{0} - {1}", (object) this.FileExtension.ToUpper(CultureInfo.InvariantCulture), (object) this.FileDescription);
|
||||
}
|
||||
}
|
||||
}
|
120
Explorer/Forms/FormSettings.resx
Normal file
120
Explorer/Forms/FormSettings.resx
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?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>
|
||||
</root>
|
158
Explorer/Forms/FormSortFileOptions.cs
Normal file
158
Explorer/Forms/FormSortFileOptions.cs
Normal file
|
@ -0,0 +1,158 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.FormSortFileOptions
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using GDRomExplorer.Resources;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class FormSortFileOptions : Form
|
||||
{
|
||||
protected static string DEFAULT_PREFIX = "data\\";
|
||||
protected static int DEFAULT_LOWEST_FILE_WEIGHT = 0;
|
||||
private IContainer components;
|
||||
private TextBox tbPathPrefix;
|
||||
private Label lbDESKey;
|
||||
private Button btGenerateSortFile;
|
||||
private Button btCancel;
|
||||
private Label lbLowestFileWeight;
|
||||
private Label lbInfoSortFile;
|
||||
private NumericUpDown nudFileWeight;
|
||||
|
||||
public string PathPrefix { get; private set; }
|
||||
|
||||
public int LowestFileWeight { get; private set; }
|
||||
|
||||
public FormSortFileOptions()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.PathPrefix = FormSortFileOptions.DEFAULT_PREFIX;
|
||||
this.LowestFileWeight = FormSortFileOptions.DEFAULT_LOWEST_FILE_WEIGHT;
|
||||
}
|
||||
|
||||
private void btCancel_Click(object sender, EventArgs e) => this.Close();
|
||||
|
||||
private void FormGetSortTxtPrefix_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.lbInfoSortFile.Text = Strings.SortFileOptionsHint;
|
||||
this.nudFileWeight.Value = (Decimal) this.LowestFileWeight;
|
||||
this.tbPathPrefix.Text = this.PathPrefix;
|
||||
this.tbPathPrefix.Focus();
|
||||
}
|
||||
|
||||
private void btGenerateSortFile_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.PathPrefix = this.tbPathPrefix.Text;
|
||||
this.LowestFileWeight = Convert.ToInt32(this.nudFileWeight.Value);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.tbPathPrefix = new TextBox();
|
||||
this.lbDESKey = new Label();
|
||||
this.btGenerateSortFile = new Button();
|
||||
this.btCancel = new Button();
|
||||
this.lbLowestFileWeight = new Label();
|
||||
this.lbInfoSortFile = new Label();
|
||||
this.nudFileWeight = new NumericUpDown();
|
||||
this.nudFileWeight.BeginInit();
|
||||
this.SuspendLayout();
|
||||
this.tbPathPrefix.Location = new Point(78, 6);
|
||||
this.tbPathPrefix.MaxLength = 0;
|
||||
this.tbPathPrefix.Name = "tbPathPrefix";
|
||||
this.tbPathPrefix.Size = new Size(130, 20);
|
||||
this.tbPathPrefix.TabIndex = 0;
|
||||
this.tbPathPrefix.Text = "data\\";
|
||||
this.lbDESKey.AutoSize = true;
|
||||
this.lbDESKey.Location = new Point(12, 9);
|
||||
this.lbDESKey.Name = "lbDESKey";
|
||||
this.lbDESKey.Size = new Size(60, 13);
|
||||
this.lbDESKey.TabIndex = 2;
|
||||
this.lbDESKey.Text = "Path prefix:";
|
||||
this.btGenerateSortFile.DialogResult = DialogResult.OK;
|
||||
this.btGenerateSortFile.FlatStyle = FlatStyle.Popup;
|
||||
this.btGenerateSortFile.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btGenerateSortFile.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btGenerateSortFile.Location = new Point(250, 102);
|
||||
this.btGenerateSortFile.Name = "btGenerateSortFile";
|
||||
this.btGenerateSortFile.Size = new Size((int) sbyte.MaxValue, 22);
|
||||
this.btGenerateSortFile.TabIndex = 1;
|
||||
this.btGenerateSortFile.Text = "&Generate sort file";
|
||||
this.btGenerateSortFile.UseVisualStyleBackColor = false;
|
||||
this.btGenerateSortFile.Click += new EventHandler(this.btGenerateSortFile_Click);
|
||||
this.btCancel.DialogResult = DialogResult.Cancel;
|
||||
this.btCancel.FlatStyle = FlatStyle.Popup;
|
||||
this.btCancel.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Regular, GraphicsUnit.Point, (byte) 0);
|
||||
this.btCancel.ForeColor = Color.FromArgb(248, 48, 0);
|
||||
this.btCancel.Location = new Point(15, 102);
|
||||
this.btCancel.Name = "btCancel";
|
||||
this.btCancel.Size = new Size((int) sbyte.MaxValue, 22);
|
||||
this.btCancel.TabIndex = 2;
|
||||
this.btCancel.Text = "&Cancel";
|
||||
this.btCancel.UseVisualStyleBackColor = false;
|
||||
this.btCancel.Click += new EventHandler(this.btCancel_Click);
|
||||
this.lbLowestFileWeight.AutoSize = true;
|
||||
this.lbLowestFileWeight.Location = new Point(214, 9);
|
||||
this.lbLowestFileWeight.Name = "lbLowestFileWeight";
|
||||
this.lbLowestFileWeight.Size = new Size(94, 13);
|
||||
this.lbLowestFileWeight.TabIndex = 3;
|
||||
this.lbLowestFileWeight.Text = "Lowest file weight:";
|
||||
this.lbInfoSortFile.Location = new Point(12, 35);
|
||||
this.lbInfoSortFile.Name = "lbInfoSortFile";
|
||||
this.lbInfoSortFile.Size = new Size(364, 64);
|
||||
this.lbInfoSortFile.TabIndex = 0;
|
||||
this.lbInfoSortFile.Text = "Info sort file";
|
||||
this.nudFileWeight.Location = new Point(316, 7);
|
||||
this.nudFileWeight.Maximum = new Decimal(new int[4]
|
||||
{
|
||||
int.MaxValue,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
});
|
||||
this.nudFileWeight.Name = "nudFileWeight";
|
||||
this.nudFileWeight.Size = new Size(60, 20);
|
||||
this.nudFileWeight.TabIndex = 1;
|
||||
this.nudFileWeight.TextAlign = HorizontalAlignment.Center;
|
||||
this.nudFileWeight.ThousandsSeparator = true;
|
||||
this.AcceptButton = (IButtonControl) this.btGenerateSortFile;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.CancelButton = (IButtonControl) this.btCancel;
|
||||
this.ClientSize = new Size(389, 136);
|
||||
this.Controls.Add((Control) this.nudFileWeight);
|
||||
this.Controls.Add((Control) this.lbInfoSortFile);
|
||||
this.Controls.Add((Control) this.lbLowestFileWeight);
|
||||
this.Controls.Add((Control) this.btCancel);
|
||||
this.Controls.Add((Control) this.btGenerateSortFile);
|
||||
this.Controls.Add((Control) this.tbPathPrefix);
|
||||
this.Controls.Add((Control) this.lbDESKey);
|
||||
this.FormBorderStyle = FormBorderStyle.FixedToolWindow;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = nameof (FormSortFileOptions);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = FormStartPosition.CenterParent;
|
||||
this.Text = "Sort file options:";
|
||||
this.Load += new EventHandler(this.FormGetSortTxtPrefix_Load);
|
||||
this.nudFileWeight.EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
}
|
||||
}
|
120
Explorer/Forms/FormSortFileOptions.resx
Normal file
120
Explorer/Forms/FormSortFileOptions.resx
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?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>
|
||||
</root>
|
446
Explorer/Forms/GDRomExplorerForm.cs
Normal file
446
Explorer/Forms/GDRomExplorerForm.cs
Normal file
|
@ -0,0 +1,446 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: GDRomExplorer.Forms.GDRomExplorerForm
|
||||
// Assembly: GD-ROM Explorer, Version=1.6.3.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: B7A7D10A-9A63-4E9E-9840-D297E5FC2219
|
||||
// Assembly location: GD-ROM Explorer.exe
|
||||
|
||||
using GDRomExplorer.DiscView;
|
||||
using GDRomExplorer.Events;
|
||||
using GDRomExplorer.Resources;
|
||||
using GDRomExplorer.UserControls;
|
||||
using SEGATools.Audio;
|
||||
using SEGATools.Disc;
|
||||
using SEGATools.DiscFileSystem;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.Layout;
|
||||
|
||||
namespace GDRomExplorer.Forms
|
||||
{
|
||||
public class GDRomExplorerForm : Form
|
||||
{
|
||||
private static readonly Logger.ILog logger = Logger.CreateLog();
|
||||
private IDiscFileSystem discFileSystem;
|
||||
private DiscViewExplorer.ActionsForEditMenuItem editMenuActions;
|
||||
private string initialDirectory;
|
||||
private IContainer components;
|
||||
private StatusStrip statusStrip;
|
||||
private DiscViewOpener discViewOpener;
|
||||
private ToolStripStatusLabel toolStripStatusLabel;
|
||||
private DiscViewExplorer discView;
|
||||
private ToolStripMenuItem fileToolStripMenuItem;
|
||||
private ToolStripMenuItem openToolStripMenuItem;
|
||||
private ToolStripMenuItem closeToolStripMenuItem;
|
||||
private ToolStripMenuItem exitToolStripMenuItem;
|
||||
private ToolStripMenuItem toolsToolStripMenuItem;
|
||||
private ToolStripMenuItem ConvertToolStripMenuItem;
|
||||
private ToolStripMenuItem naomiBinarydecryptionToolStripMenuItem;
|
||||
private ToolStripSeparator toolStripSeparator;
|
||||
private ToolStripMenuItem aboutToolStripMenuItem;
|
||||
private ToolStripMenuItem aboutGDRomExplorerToolStripMenuItem;
|
||||
private MenuStrip menuStrip;
|
||||
private DiscFormatProvider discFormatProvider;
|
||||
private ToolStripMenuItem settingsToolStripMenuItem;
|
||||
private ToolStripMenuItem ipViewerToolStripMenuItem;
|
||||
private InitialProgramOpener ipOpener;
|
||||
private ToolStripMenuItem encryptANaomiBinaryToolStripMenuItem;
|
||||
private NaomiEncryptDecryptTool naomiEncryptDecryptTool;
|
||||
private ToolStripMenuItem convertGDIForGDEMUToolStripMenuItem;
|
||||
private ToolStripSeparator toolStripSeparator1;
|
||||
private ToolStripMenuItem editToolStripMenuItem;
|
||||
private GDDAConverterTool gddaConverterTool;
|
||||
|
||||
public GDRomExplorerForm()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
this.Text = Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
private void GDRomExplorerForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.RemoveImageMargin(this.menuStrip);
|
||||
this.MenuClose();
|
||||
this.DragDrop += new DragEventHandler(this.GDRomExplorerForm_DragDrop);
|
||||
this.DragEnter += new DragEventHandler(this.GDRomExplorerForm_DragEnter);
|
||||
this.discViewOpener.ImageLoaded += new EventHandler<EventArgs<IDiscFileSystem>>(this.discViewOpener_ImageLoaded);
|
||||
this.discViewOpener.ImageNotLoaded += new EventHandler(this.discViewOpener_ImageNotLoaded);
|
||||
this.discView.SelectionChanged += new EventHandler<EventArgs<DiscViewExplorer.ActionsForEditMenuItem>>(this.discView_SelectionChanged);
|
||||
AppStatus.OnAppStatusUpdate += new AppStatus.AppStatusUpdateEventHandler(this.AppStatus_OnAppStatusUpdate);
|
||||
string progamArgument = Program.GetProgamArgument();
|
||||
if (!string.IsNullOrEmpty(progamArgument))
|
||||
this.UpdateDialogInitialDirectory(progamArgument);
|
||||
else
|
||||
this.UpdateDialogInitialDirectory(Assembly.GetExecutingAssembly().GetName().CodeBase);
|
||||
if (string.IsNullOrEmpty(progamArgument))
|
||||
return;
|
||||
this.discViewOpener.Open(progamArgument);
|
||||
}
|
||||
|
||||
private void AppStatus_OnAppStatusUpdate(string message)
|
||||
{
|
||||
string str = char.ToUpper(message[0]).ToString() + message.Substring(1);
|
||||
this.toolStripStatusLabel.Text = str;
|
||||
this.toolStripStatusLabel.ToolTipText = str;
|
||||
}
|
||||
|
||||
private void GDRomExplorerForm_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
if (e.Data.GetDataPresent(DataFormats.FileDrop))
|
||||
e.Effect = DragDropEffects.All;
|
||||
else
|
||||
e.Effect = DragDropEffects.None;
|
||||
}
|
||||
|
||||
private void GDRomExplorerForm_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] data = (string[]) e.Data.GetData(DataFormats.FileDrop, false);
|
||||
if (data.Length == 1)
|
||||
this.discViewOpener.Open(Path.GetFullPath(data[0]));
|
||||
else
|
||||
GDRomExplorerForm.logger.Error((object) "Unhandled data for the drag & drop operation!");
|
||||
}
|
||||
|
||||
private void discViewOpener_ImageLoaded(object sender, EventArgs<IDiscFileSystem> e)
|
||||
{
|
||||
this.discFileSystem = e.Value;
|
||||
this.MenuOpen();
|
||||
this.UpdateDialogInitialDirectory(this.discFileSystem.FileName);
|
||||
this.discView.LoadDisc(this.discFileSystem);
|
||||
}
|
||||
|
||||
private void discViewOpener_ImageNotLoaded(object sender, EventArgs e)
|
||||
{
|
||||
this.discFileSystem = (IDiscFileSystem) null;
|
||||
this.MenuClose();
|
||||
}
|
||||
|
||||
private void discView_SelectionChanged(
|
||||
object sender,
|
||||
EventArgs<DiscViewExplorer.ActionsForEditMenuItem> e)
|
||||
{
|
||||
this.editMenuActions = e.Value;
|
||||
if (!this.editMenuActions.AnyAvailable)
|
||||
this.editToolStripMenuItem.Enabled = false;
|
||||
else
|
||||
this.editToolStripMenuItem.Enabled = true;
|
||||
}
|
||||
|
||||
private void MenuClose()
|
||||
{
|
||||
this.toolStripStatusLabel.Text = Strings.StatusLabelImageNotLoaded;
|
||||
this.closeToolStripMenuItem.Enabled = false;
|
||||
this.editToolStripMenuItem.Enabled = false;
|
||||
this.discView.CloseDisc();
|
||||
}
|
||||
|
||||
private void MenuOpen()
|
||||
{
|
||||
this.closeToolStripMenuItem.Enabled = true;
|
||||
this.editToolStripMenuItem.Enabled = true;
|
||||
}
|
||||
|
||||
private void UpdateDialogInitialDirectory(string initialPath)
|
||||
{
|
||||
this.initialDirectory = Path.GetDirectoryName(initialPath);
|
||||
this.gddaConverterTool.InitialDirectory = this.initialDirectory;
|
||||
this.naomiEncryptDecryptTool.InitialDirectory = this.initialDirectory;
|
||||
}
|
||||
|
||||
private void RemoveImageMargin(MenuStrip Menu)
|
||||
{
|
||||
foreach (ToolStripItem toolStripItem in (ArrangedElementCollection) Menu.Items)
|
||||
this.RemoveItemImageMargin(toolStripItem);
|
||||
}
|
||||
|
||||
private void RemoveItemImageMargin(ToolStripItem Item)
|
||||
{
|
||||
if (!(Item is ToolStripMenuItem))
|
||||
return;
|
||||
ToolStripMenuItem toolStripMenuItem = Item as ToolStripMenuItem;
|
||||
(toolStripMenuItem.DropDown as ToolStripDropDownMenu).ShowImageMargin = false;
|
||||
foreach (object dropDownItem in (ArrangedElementCollection) toolStripMenuItem.DropDownItems)
|
||||
{
|
||||
if (dropDownItem is ToolStripItem)
|
||||
this.RemoveItemImageMargin(dropDownItem as ToolStripItem);
|
||||
}
|
||||
}
|
||||
|
||||
private void ToolStripMenuItemExit_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.discViewOpener.Close();
|
||||
this.discView.CloseDisc();
|
||||
this.discFileSystem = (IDiscFileSystem) null;
|
||||
Application.Exit();
|
||||
}
|
||||
|
||||
private void ToolStripMenuItemClose_Click(object sender, EventArgs e) => this.discViewOpener.Close();
|
||||
|
||||
private void ToolStripMenuItemOpenImageFile_Click(object sender, EventArgs e) => this.discViewOpener.Open();
|
||||
|
||||
private void ToolStripMenuItemShowGDDAConverter_Click(object sender, EventArgs e) => this.gddaConverterTool.OpenAndConvertGDDAFiles((IWin32Window) this, AudioConversionSettings.defaultAudioConvOptions());
|
||||
|
||||
private void ToolStripMenuItemAboutGDRomExplorer_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (FormAbout formAbout = new FormAbout())
|
||||
{
|
||||
int num = (int) formAbout.ShowDialog((IWin32Window) this);
|
||||
}
|
||||
}
|
||||
|
||||
private void ToolStripMenuItemExportGDIForGDEMU_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (FormGDEmuExportSettings emuExportSettings = new FormGDEmuExportSettings(this.initialDirectory))
|
||||
{
|
||||
int num = (int) emuExportSettings.ShowDialog((IWin32Window) this);
|
||||
}
|
||||
}
|
||||
|
||||
private void ToolStripMenuItemEncryptNaomiBinary_Click(object sender, EventArgs e) => this.naomiEncryptDecryptTool.OpenAndEncryptNaomiBinary((IWin32Window) this);
|
||||
|
||||
private void ToolStripMenuItemDecryptNaomiBinary_Click(object sender, EventArgs e) => this.naomiEncryptDecryptTool.OpenAndDecryptNaomiBinary((IWin32Window) this);
|
||||
|
||||
private void ToolStripMenuItemSettings_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (FormSettings formSettings = new FormSettings())
|
||||
{
|
||||
int num = (int) formSettings.ShowDialog((IWin32Window) this);
|
||||
}
|
||||
}
|
||||
|
||||
private void ToolStripMenuItemIPViewer_Click(object sender, EventArgs e) => this.ipOpener.OpenAndViewInitialProgram((IWin32Window) this);
|
||||
|
||||
private void ToolStripMenuItemEdit_DropDownOpening(object sender, EventArgs e)
|
||||
{
|
||||
this.editToolStripMenuItem.DropDownItems.Clear();
|
||||
this.editToolStripMenuItem.DropDownItems.AddRange(MenuItemFactory.CreateEditMenuItems(this.editMenuActions.DiscMenuItems, this.editMenuActions.SelectionMenuItems));
|
||||
this.RemoveItemImageMargin((ToolStripItem) this.editToolStripMenuItem);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && this.components != null)
|
||||
this.components.Dispose();
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = (IContainer) new Container();
|
||||
ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (GDRomExplorerForm));
|
||||
this.statusStrip = new StatusStrip();
|
||||
this.toolStripStatusLabel = new ToolStripStatusLabel();
|
||||
this.fileToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.openToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.closeToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.exitToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.toolsToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.ipViewerToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.ConvertToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.convertGDIForGDEMUToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new ToolStripSeparator();
|
||||
this.encryptANaomiBinaryToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.naomiBinarydecryptionToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.toolStripSeparator = new ToolStripSeparator();
|
||||
this.settingsToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.aboutToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.aboutGDRomExplorerToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.menuStrip = new MenuStrip();
|
||||
this.editToolStripMenuItem = new ToolStripMenuItem();
|
||||
this.discFormatProvider = new DiscFormatProvider(this.components);
|
||||
this.discView = new DiscViewExplorer();
|
||||
this.discViewOpener = new DiscViewOpener();
|
||||
this.ipOpener = new InitialProgramOpener();
|
||||
this.naomiEncryptDecryptTool = new NaomiEncryptDecryptTool(this.components);
|
||||
this.gddaConverterTool = new GDDAConverterTool(this.components);
|
||||
this.statusStrip.SuspendLayout();
|
||||
this.menuStrip.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
this.statusStrip.BackColor = Color.Transparent;
|
||||
this.statusStrip.Items.AddRange(new ToolStripItem[1]
|
||||
{
|
||||
(ToolStripItem) this.toolStripStatusLabel
|
||||
});
|
||||
this.statusStrip.Location = new Point(0, 540);
|
||||
this.statusStrip.Name = "statusStrip";
|
||||
this.statusStrip.ShowItemToolTips = true;
|
||||
this.statusStrip.Size = new Size(784, 22);
|
||||
this.statusStrip.TabIndex = 27;
|
||||
this.statusStrip.Text = "statusStrip";
|
||||
this.toolStripStatusLabel.AutoToolTip = true;
|
||||
this.toolStripStatusLabel.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
this.toolStripStatusLabel.Margin = new Padding(3, 3, 0, 2);
|
||||
this.toolStripStatusLabel.Name = "toolStripStatusLabel";
|
||||
this.toolStripStatusLabel.Size = new Size(766, 17);
|
||||
this.toolStripStatusLabel.Spring = true;
|
||||
this.toolStripStatusLabel.Text = "AppStatus";
|
||||
this.toolStripStatusLabel.TextAlign = ContentAlignment.MiddleLeft;
|
||||
this.fileToolStripMenuItem.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[3]
|
||||
{
|
||||
(ToolStripItem) this.openToolStripMenuItem,
|
||||
(ToolStripItem) this.closeToolStripMenuItem,
|
||||
(ToolStripItem) this.exitToolStripMenuItem
|
||||
});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "&File";
|
||||
this.openToolStripMenuItem.BackColor = SystemColors.Window;
|
||||
this.openToolStripMenuItem.BackgroundImageLayout = ImageLayout.None;
|
||||
this.openToolStripMenuItem.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
|
||||
this.openToolStripMenuItem.ShortcutKeys = Keys.O | Keys.Control;
|
||||
this.openToolStripMenuItem.Size = new Size(155, 22);
|
||||
this.openToolStripMenuItem.Text = "&Open...";
|
||||
this.openToolStripMenuItem.TextImageRelation = TextImageRelation.TextAboveImage;
|
||||
this.openToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemOpenImageFile_Click);
|
||||
this.closeToolStripMenuItem.BackColor = SystemColors.Window;
|
||||
this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
|
||||
this.closeToolStripMenuItem.Size = new Size(155, 22);
|
||||
this.closeToolStripMenuItem.Text = "Close";
|
||||
this.closeToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemClose_Click);
|
||||
this.exitToolStripMenuItem.BackColor = SystemColors.Window;
|
||||
this.exitToolStripMenuItem.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
||||
this.exitToolStripMenuItem.ShortcutKeys = Keys.F4 | Keys.Alt;
|
||||
this.exitToolStripMenuItem.Size = new Size(155, 22);
|
||||
this.exitToolStripMenuItem.Text = "Exit";
|
||||
this.exitToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemExit_Click);
|
||||
this.toolsToolStripMenuItem.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
this.toolsToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[8]
|
||||
{
|
||||
(ToolStripItem) this.ipViewerToolStripMenuItem,
|
||||
(ToolStripItem) this.ConvertToolStripMenuItem,
|
||||
(ToolStripItem) this.convertGDIForGDEMUToolStripMenuItem,
|
||||
(ToolStripItem) this.toolStripSeparator1,
|
||||
(ToolStripItem) this.encryptANaomiBinaryToolStripMenuItem,
|
||||
(ToolStripItem) this.naomiBinarydecryptionToolStripMenuItem,
|
||||
(ToolStripItem) this.toolStripSeparator,
|
||||
(ToolStripItem) this.settingsToolStripMenuItem
|
||||
});
|
||||
this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
|
||||
this.toolsToolStripMenuItem.Size = new Size(48, 20);
|
||||
this.toolsToolStripMenuItem.Text = "&Tools";
|
||||
this.ipViewerToolStripMenuItem.Name = "ipViewerToolStripMenuItem";
|
||||
this.ipViewerToolStripMenuItem.ShortcutKeys = Keys.I | Keys.Control;
|
||||
this.ipViewerToolStripMenuItem.Size = new Size(242, 22);
|
||||
this.ipViewerToolStripMenuItem.Text = "IP.BIN Viewer";
|
||||
this.ipViewerToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemIPViewer_Click);
|
||||
this.ConvertToolStripMenuItem.BackColor = SystemColors.Window;
|
||||
this.ConvertToolStripMenuItem.Name = "ConvertToolStripMenuItem";
|
||||
this.ConvertToolStripMenuItem.ShortcutKeys = Keys.T | Keys.Control;
|
||||
this.ConvertToolStripMenuItem.Size = new Size(242, 22);
|
||||
this.ConvertToolStripMenuItem.Text = "Convert audio tracks";
|
||||
this.ConvertToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemShowGDDAConverter_Click);
|
||||
this.convertGDIForGDEMUToolStripMenuItem.Name = "convertGDIForGDEMUToolStripMenuItem";
|
||||
this.convertGDIForGDEMUToolStripMenuItem.ShortcutKeys = Keys.G | Keys.Control;
|
||||
this.convertGDIForGDEMUToolStripMenuItem.Size = new Size(242, 22);
|
||||
this.convertGDIForGDEMUToolStripMenuItem.Text = "Convert GDI for GDEMU";
|
||||
this.convertGDIForGDEMUToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemExportGDIForGDEMU_Click);
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new Size(239, 6);
|
||||
this.encryptANaomiBinaryToolStripMenuItem.Name = "encryptANaomiBinaryToolStripMenuItem";
|
||||
this.encryptANaomiBinaryToolStripMenuItem.ShortcutKeys = Keys.E | Keys.Control;
|
||||
this.encryptANaomiBinaryToolStripMenuItem.Size = new Size(242, 22);
|
||||
this.encryptANaomiBinaryToolStripMenuItem.Text = "&Encrypt a Naomi binary";
|
||||
this.encryptANaomiBinaryToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemEncryptNaomiBinary_Click);
|
||||
this.naomiBinarydecryptionToolStripMenuItem.BackColor = SystemColors.Window;
|
||||
this.naomiBinarydecryptionToolStripMenuItem.Name = "naomiBinarydecryptionToolStripMenuItem";
|
||||
this.naomiBinarydecryptionToolStripMenuItem.ShortcutKeys = Keys.D | Keys.Control;
|
||||
this.naomiBinarydecryptionToolStripMenuItem.Size = new Size(242, 22);
|
||||
this.naomiBinarydecryptionToolStripMenuItem.Text = "&Decrypt a Naomi binary";
|
||||
this.naomiBinarydecryptionToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemDecryptNaomiBinary_Click);
|
||||
this.toolStripSeparator.BackColor = SystemColors.Window;
|
||||
this.toolStripSeparator.ForeColor = SystemColors.ControlText;
|
||||
this.toolStripSeparator.Name = "toolStripSeparator";
|
||||
this.toolStripSeparator.Size = new Size(239, 6);
|
||||
this.settingsToolStripMenuItem.BackColor = SystemColors.Window;
|
||||
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
||||
this.settingsToolStripMenuItem.Size = new Size(242, 22);
|
||||
this.settingsToolStripMenuItem.Text = "Settings";
|
||||
this.settingsToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemSettings_Click);
|
||||
this.aboutToolStripMenuItem.BackColor = SystemColors.Window;
|
||||
this.aboutToolStripMenuItem.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
this.aboutToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[1]
|
||||
{
|
||||
(ToolStripItem) this.aboutGDRomExplorerToolStripMenuItem
|
||||
});
|
||||
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
|
||||
this.aboutToolStripMenuItem.Size = new Size(24, 20);
|
||||
this.aboutToolStripMenuItem.Text = "?";
|
||||
this.aboutGDRomExplorerToolStripMenuItem.BackColor = SystemColors.Window;
|
||||
this.aboutGDRomExplorerToolStripMenuItem.Name = "aboutGDRomExplorerToolStripMenuItem";
|
||||
this.aboutGDRomExplorerToolStripMenuItem.Size = new Size(107, 22);
|
||||
this.aboutGDRomExplorerToolStripMenuItem.Text = "About";
|
||||
this.aboutGDRomExplorerToolStripMenuItem.Click += new EventHandler(this.ToolStripMenuItemAboutGDRomExplorer_Click);
|
||||
this.menuStrip.BackColor = SystemColors.Window;
|
||||
this.menuStrip.Items.AddRange(new ToolStripItem[4]
|
||||
{
|
||||
(ToolStripItem) this.fileToolStripMenuItem,
|
||||
(ToolStripItem) this.editToolStripMenuItem,
|
||||
(ToolStripItem) this.toolsToolStripMenuItem,
|
||||
(ToolStripItem) this.aboutToolStripMenuItem
|
||||
});
|
||||
this.menuStrip.Location = new Point(0, 0);
|
||||
this.menuStrip.Name = "menuStrip";
|
||||
this.menuStrip.ShowItemToolTips = true;
|
||||
this.menuStrip.Size = new Size(784, 24);
|
||||
this.menuStrip.TabIndex = 25;
|
||||
this.menuStrip.Text = "menuStrip";
|
||||
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
|
||||
this.editToolStripMenuItem.Size = new Size(39, 20);
|
||||
this.editToolStripMenuItem.Text = "&Edit";
|
||||
this.editToolStripMenuItem.DropDownOpening += new EventHandler(this.ToolStripMenuItemEdit_DropDownOpening);
|
||||
this.discView.AutoSize = true;
|
||||
this.discView.BackColor = SystemColors.Window;
|
||||
this.discView.Dock = DockStyle.Fill;
|
||||
this.discView.Location = new Point(0, 82);
|
||||
this.discView.Name = "discView";
|
||||
this.discView.Padding = new Padding(4);
|
||||
this.discView.Size = new Size(784, 458);
|
||||
this.discView.TabIndex = 31;
|
||||
this.discViewOpener.AutoSize = true;
|
||||
this.discViewOpener.ButtonText = "&Open";
|
||||
this.discViewOpener.Dock = DockStyle.Top;
|
||||
this.discViewOpener.FileDialogFilters = (List<string>) null;
|
||||
this.discViewOpener.InitialDirectory = "";
|
||||
this.discViewOpener.Location = new Point(0, 24);
|
||||
this.discViewOpener.MinimumSize = new Size(0, 58);
|
||||
this.discViewOpener.Name = "discViewOpener";
|
||||
this.discViewOpener.NotifyStatusEvents = true;
|
||||
this.discViewOpener.Padding = new Padding(4);
|
||||
this.discViewOpener.Size = new Size(784, 58);
|
||||
this.discViewOpener.TabIndex = 28;
|
||||
this.AllowDrop = true;
|
||||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||||
this.AutoScaleMode = AutoScaleMode.Font;
|
||||
this.AutoScroll = true;
|
||||
this.AutoSize = true;
|
||||
this.BackColor = SystemColors.Window;
|
||||
this.BackgroundImageLayout = ImageLayout.None;
|
||||
this.ClientSize = new Size(784, 562);
|
||||
this.Controls.Add((Control) this.discView);
|
||||
this.Controls.Add((Control) this.discViewOpener);
|
||||
this.Controls.Add((Control) this.statusStrip);
|
||||
this.Controls.Add((Control) this.menuStrip);
|
||||
this.DoubleBuffered = true;
|
||||
this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
|
||||
this.MainMenuStrip = this.menuStrip;
|
||||
this.MinimumSize = new Size(800, 600);
|
||||
this.Name = nameof (GDRomExplorerForm);
|
||||
this.StartPosition = FormStartPosition.CenterScreen;
|
||||
this.Text = "GD-ROM Explorer";
|
||||
this.Load += new EventHandler(this.GDRomExplorerForm_Load);
|
||||
this.statusStrip.ResumeLayout(false);
|
||||
this.statusStrip.PerformLayout();
|
||||
this.menuStrip.ResumeLayout(false);
|
||||
this.menuStrip.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
}
|
||||
}
|
123
Explorer/Forms/GDRomExplorerForm.resx
Normal file
123
Explorer/Forms/GDRomExplorerForm.resx
Normal file
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue