dbman: initial pass at gamedb export function
This commit is contained in:
parent
6538a5ad75
commit
102f476158
|
@ -41,6 +41,8 @@
|
|||
this.romListColumnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.romListColumnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.detailPanel = new System.Windows.Forms.Panel();
|
||||
this.sizeLabel = new System.Windows.Forms.Label();
|
||||
this.sizeBox = new System.Windows.Forms.TextBox();
|
||||
this.notesLabel = new System.Windows.Forms.Label();
|
||||
this.notesBox = new System.Windows.Forms.TextBox();
|
||||
this.altNamesLabel = new System.Windows.Forms.Label();
|
||||
|
@ -85,8 +87,7 @@
|
|||
this.databaseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.directoryScanToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.cleanupDBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.sizeBox = new System.Windows.Forms.TextBox();
|
||||
this.sizeLabel = new System.Windows.Forms.Label();
|
||||
this.exportGameDBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.filterPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
|
@ -180,7 +181,6 @@
|
|||
this.romListView.UseCompatibleStateImageBehavior = false;
|
||||
this.romListView.View = System.Windows.Forms.View.Details;
|
||||
this.romListView.SelectedIndexChanged += new System.EventHandler(this.selectedRomChanged);
|
||||
this.romListView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.selectedRomMouseUp);
|
||||
//
|
||||
// romListColumnHeader1
|
||||
//
|
||||
|
@ -256,6 +256,23 @@
|
|||
this.detailPanel.Size = new System.Drawing.Size(467, 624);
|
||||
this.detailPanel.TabIndex = 0;
|
||||
//
|
||||
// sizeLabel
|
||||
//
|
||||
this.sizeLabel.AutoSize = true;
|
||||
this.sizeLabel.Location = new System.Drawing.Point(6, 557);
|
||||
this.sizeLabel.Name = "sizeLabel";
|
||||
this.sizeLabel.Size = new System.Drawing.Size(27, 13);
|
||||
this.sizeLabel.TabIndex = 50;
|
||||
this.sizeLabel.Text = "Size";
|
||||
//
|
||||
// sizeBox
|
||||
//
|
||||
this.sizeBox.Location = new System.Drawing.Point(80, 557);
|
||||
this.sizeBox.Name = "sizeBox";
|
||||
this.sizeBox.ReadOnly = true;
|
||||
this.sizeBox.Size = new System.Drawing.Size(255, 20);
|
||||
this.sizeBox.TabIndex = 49;
|
||||
//
|
||||
// notesLabel
|
||||
//
|
||||
this.notesLabel.AutoSize = true;
|
||||
|
@ -640,7 +657,8 @@
|
|||
//
|
||||
this.databaseToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.directoryScanToolStripMenuItem,
|
||||
this.cleanupDBToolStripMenuItem});
|
||||
this.cleanupDBToolStripMenuItem,
|
||||
this.exportGameDBToolStripMenuItem});
|
||||
this.databaseToolStripMenuItem.Name = "databaseToolStripMenuItem";
|
||||
this.databaseToolStripMenuItem.Size = new System.Drawing.Size(67, 20);
|
||||
this.databaseToolStripMenuItem.Text = "Database";
|
||||
|
@ -648,33 +666,23 @@
|
|||
// directoryScanToolStripMenuItem
|
||||
//
|
||||
this.directoryScanToolStripMenuItem.Name = "directoryScanToolStripMenuItem";
|
||||
this.directoryScanToolStripMenuItem.Size = new System.Drawing.Size(150, 22);
|
||||
this.directoryScanToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
|
||||
this.directoryScanToolStripMenuItem.Text = "Directory Scan";
|
||||
this.directoryScanToolStripMenuItem.Click += new System.EventHandler(this.directoryScanToolStripMenuItem_Click);
|
||||
//
|
||||
// cleanupDBToolStripMenuItem
|
||||
//
|
||||
this.cleanupDBToolStripMenuItem.Name = "cleanupDBToolStripMenuItem";
|
||||
this.cleanupDBToolStripMenuItem.Size = new System.Drawing.Size(150, 22);
|
||||
this.cleanupDBToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
|
||||
this.cleanupDBToolStripMenuItem.Text = "Cleanup DB";
|
||||
this.cleanupDBToolStripMenuItem.Click += new System.EventHandler(this.cleanupDBToolStripMenuItem_Click);
|
||||
//
|
||||
// sizeBox
|
||||
// exportGameDBToolStripMenuItem
|
||||
//
|
||||
this.sizeBox.Location = new System.Drawing.Point(80, 557);
|
||||
this.sizeBox.Name = "sizeBox";
|
||||
this.sizeBox.ReadOnly = true;
|
||||
this.sizeBox.Size = new System.Drawing.Size(255, 20);
|
||||
this.sizeBox.TabIndex = 49;
|
||||
//
|
||||
// sizeLabel
|
||||
//
|
||||
this.sizeLabel.AutoSize = true;
|
||||
this.sizeLabel.Location = new System.Drawing.Point(6, 557);
|
||||
this.sizeLabel.Name = "sizeLabel";
|
||||
this.sizeLabel.Size = new System.Drawing.Size(27, 13);
|
||||
this.sizeLabel.TabIndex = 50;
|
||||
this.sizeLabel.Text = "Size";
|
||||
this.exportGameDBToolStripMenuItem.Name = "exportGameDBToolStripMenuItem";
|
||||
this.exportGameDBToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
|
||||
this.exportGameDBToolStripMenuItem.Text = "Export GameDB";
|
||||
this.exportGameDBToolStripMenuItem.Click += new System.EventHandler(this.exportGameDBToolStripMenuItem_Click);
|
||||
//
|
||||
// DBMan_MainForm
|
||||
//
|
||||
|
@ -764,6 +772,7 @@
|
|||
private System.Windows.Forms.TextBox notesBox;
|
||||
private System.Windows.Forms.Label sizeLabel;
|
||||
private System.Windows.Forms.TextBox sizeBox;
|
||||
private System.Windows.Forms.ToolStripMenuItem exportGameDBToolStripMenuItem;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
@ -83,8 +84,6 @@ namespace BizHawk.Client.DBMan
|
|||
}
|
||||
}
|
||||
|
||||
bool RomChanged;
|
||||
|
||||
void selectedRomChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (RomChangesMade())
|
||||
|
@ -94,14 +93,6 @@ namespace BizHawk.Client.DBMan
|
|||
saveButton_Click(null, null);
|
||||
SelectedRom = null;
|
||||
}
|
||||
|
||||
RomChanged = true;
|
||||
}
|
||||
|
||||
void selectedRomMouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (RomChanged == false) return;
|
||||
RomChanged = false;
|
||||
|
||||
if (romListView.SelectedItems.Count == 0)
|
||||
{
|
||||
|
@ -134,13 +125,30 @@ namespace BizHawk.Client.DBMan
|
|||
notesBox.Text = rom.Game.Notes;
|
||||
|
||||
detailPanel.Visible = true;
|
||||
// nameBox.Focus();
|
||||
}
|
||||
|
||||
void cancelButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
RomChanged = true;
|
||||
selectedRomMouseUp(null, null);
|
||||
gameSystemBox.Text = SelectedRom.System;
|
||||
nameBox.Text = SelectedRom.Name;
|
||||
crcBox.Text = SelectedRom.CRC32;
|
||||
md5Box.Text = SelectedRom.MD5;
|
||||
sha1Box.Text = SelectedRom.SHA1;
|
||||
sizeBox.Text = SelectedRom.SizeFriendly;
|
||||
regionBox.Text = SelectedRom.Region;
|
||||
versionBox.Text = SelectedRom.VersionTags;
|
||||
gameMetaBox.Text = SelectedRom.Game.GameMetadata;
|
||||
romMetaBox.Text = SelectedRom.RomMetadata;
|
||||
tagsBox.Text = SelectedRom.Game.Tags;
|
||||
romStatusBox.Text = SelectedRom.RomStatus;
|
||||
developerBox.Text = SelectedRom.Game.Developer;
|
||||
publisherBox.Text = SelectedRom.Game.Publisher;
|
||||
classificationBox.Text = SelectedRom.Game.Classification;
|
||||
releaseDateBox.Text = SelectedRom.Game.ReleaseDate;
|
||||
playersBox.Text = SelectedRom.Game.Players;
|
||||
catalogBox.Text = SelectedRom.Catalog;
|
||||
altNamesBox.Text = SelectedRom.Game.AltNames;
|
||||
notesBox.Text = SelectedRom.Game.Notes;
|
||||
}
|
||||
|
||||
void saveButton_Click(object sender, EventArgs e)
|
||||
|
@ -267,5 +275,59 @@ namespace BizHawk.Client.DBMan
|
|||
DB.Cleanup();
|
||||
MessageBox.Show("Orphaned GAME records deleted and Sqlite VACUUM performed.");
|
||||
}
|
||||
|
||||
void exportGameDBToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var sfd = new SaveFileDialog();
|
||||
sfd.DefaultExt = ".txt";
|
||||
sfd.AddExtension = true;
|
||||
var result = sfd.ShowDialog();
|
||||
if (result == System.Windows.Forms.DialogResult.Cancel)
|
||||
return;
|
||||
|
||||
var tw = new StreamWriter(sfd.FileName);
|
||||
|
||||
loadRomsForSelectedSystem();
|
||||
foreach (var rom in DB.Roms)
|
||||
{
|
||||
string romCode = "";
|
||||
if (rom.Game.Classification == "Homebrew") romCode = "D";
|
||||
if (rom.RomStatus == "Overdump") romCode = "O";
|
||||
if (rom.RomStatus == "Bad Dump") romCode = "V";
|
||||
|
||||
string regionStr = "";
|
||||
if (rom.Region != null)
|
||||
{
|
||||
if (rom.Region.IndexOf("Japan") >= 0) regionStr += "J";
|
||||
if (rom.Region.IndexOf("USA") >= 0) regionStr += "U";
|
||||
if (rom.Region.IndexOf("Europe") >= 0) regionStr += "E";
|
||||
if (rom.Region.IndexOf("Brazil") >= 0) regionStr += "Br";
|
||||
if (rom.Region.IndexOf("Taiwan") >= 0) regionStr += "Tw";
|
||||
if (rom.Region.IndexOf("Korea") >= 0) regionStr += "Kr";
|
||||
if (rom.Region.IndexOf("Australia") >= 0) regionStr += "Aus";
|
||||
if (rom.Region.IndexOf("World") >= 0) regionStr += "W";
|
||||
}
|
||||
|
||||
string romName = rom.Name;
|
||||
if (regionStr.Length > 0)
|
||||
romName += " ("+regionStr+")";
|
||||
|
||||
string versionStr = "";
|
||||
if (rom.VersionTags != null)
|
||||
{
|
||||
var versions = rom.VersionTags.Split(';');
|
||||
foreach (var version in versions)
|
||||
{
|
||||
if (version.Trim().Length == 0)
|
||||
continue;
|
||||
romName += " (" + version + ")";
|
||||
}
|
||||
}
|
||||
|
||||
tw.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}", rom.MD5, romCode, romName, rom.System, rom.Game.Tags, rom.CombinedMetaData, rom.Region);
|
||||
}
|
||||
|
||||
tw.Close();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -120,9 +120,6 @@
|
|||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="mainMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>132, 17</value>
|
||||
</metadata>
|
||||
|
|
Loading…
Reference in New Issue