move controller default logic from controller config winform to client.common config object and hook it back up to the client
This commit is contained in:
parent
52146bff6b
commit
bc34dfe932
|
@ -10,9 +10,26 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
public class Config
|
public class Config
|
||||||
{
|
{
|
||||||
|
public static string ControlDefaultPath
|
||||||
|
{
|
||||||
|
get { return PathManager.MakeProgramRelativePath("defctrl.json"); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ConfigCheckAllControlDefaults()
|
||||||
|
{
|
||||||
|
if (AllTrollers.Count == 0 && AllTrollersAutoFire.Count == 0 && AllTrollersAnalog.Count == 0)
|
||||||
|
{
|
||||||
|
ControlDefaults cd = new ControlDefaults();
|
||||||
|
cd = ConfigService.Load(ControlDefaultPath, cd);
|
||||||
|
AllTrollers = cd.AllTrollers;
|
||||||
|
AllTrollersAutoFire = cd.AllTrollersAutoFire;
|
||||||
|
AllTrollersAnalog = cd.AllTrollersAnalog;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Config()
|
public Config()
|
||||||
{
|
{
|
||||||
/*ControllerConfig.ConfigCheckAllControlDefaults(this); TODO*/
|
ConfigCheckAllControlDefaults();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ResolveDefaults()
|
public void ResolveDefaults()
|
||||||
|
@ -651,6 +668,13 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
#region Sub-classes TODO - it is about time to port these to separate files
|
#region Sub-classes TODO - it is about time to port these to separate files
|
||||||
|
|
||||||
|
public class ControlDefaults
|
||||||
|
{
|
||||||
|
public Dictionary<string, Dictionary<string, string>> AllTrollers = new Dictionary<string, Dictionary<string, string>>();
|
||||||
|
public Dictionary<string, Dictionary<string, string>> AllTrollersAutoFire = new Dictionary<string, Dictionary<string, string>>();
|
||||||
|
public Dictionary<string, Dictionary<string, BizHawk.Client.Common.Config.AnalogBind>> AllTrollersAnalog = new Dictionary<string, Dictionary<string, BizHawk.Client.Common.Config.AnalogBind>>();
|
||||||
|
}
|
||||||
|
|
||||||
public class PathEntryCollection : IEnumerable<PathEntry>
|
public class PathEntryCollection : IEnumerable<PathEntry>
|
||||||
{
|
{
|
||||||
public List<PathEntry> Paths { get; private set; }
|
public List<PathEntry> Paths { get; private set; }
|
||||||
|
|
|
@ -276,11 +276,6 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string ControlDefaultPath
|
|
||||||
{
|
|
||||||
get { return PathManager.MakeProgramRelativePath("defctrl.json"); }
|
|
||||||
}
|
|
||||||
|
|
||||||
private TabControl GetTabControl(System.Windows.Forms.Control.ControlCollection controls)
|
private TabControl GetTabControl(System.Windows.Forms.Control.ControlCollection controls)
|
||||||
{
|
{
|
||||||
if (controls != null)
|
if (controls != null)
|
||||||
|
@ -320,7 +315,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
// this means that the changes are NOT committed. so "Cancel" works right and you
|
// this means that the changes are NOT committed. so "Cancel" works right and you
|
||||||
// still have to hit OK at the end.
|
// still have to hit OK at the end.
|
||||||
ControlDefaults cd = new ControlDefaults();
|
ControlDefaults cd = new ControlDefaults();
|
||||||
cd = ConfigService.Load(ControlDefaultPath, cd);
|
cd = ConfigService.Load(Config.ControlDefaultPath, cd);
|
||||||
LoadPanels(cd);
|
LoadPanels(cd);
|
||||||
|
|
||||||
tabControl1.SelectTab(wasTabbedMain);
|
tabControl1.SelectTab(wasTabbedMain);
|
||||||
|
@ -355,39 +350,20 @@ namespace BizHawk.Client.EmuHawk
|
||||||
tabControl1.ResumeLayout();
|
tabControl1.ResumeLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
class ControlDefaults
|
|
||||||
{
|
|
||||||
public Dictionary<string, Dictionary<string, string>> AllTrollers = new Dictionary<string, Dictionary<string, string>>();
|
|
||||||
public Dictionary<string, Dictionary<string, string>> AllTrollersAutoFire = new Dictionary<string, Dictionary<string, string>>();
|
|
||||||
public Dictionary<string, Dictionary<string, BizHawk.Client.Common.Config.AnalogBind>> AllTrollersAnalog = new Dictionary<string, Dictionary<string, BizHawk.Client.Common.Config.AnalogBind>>();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ConfigCheckAllControlDefaults(BizHawk.Client.Common.Config c)
|
|
||||||
{
|
|
||||||
if (c.AllTrollers.Count == 0 && c.AllTrollersAutoFire.Count == 0 && c.AllTrollersAnalog.Count == 0)
|
|
||||||
{
|
|
||||||
ControlDefaults cd = new ControlDefaults();
|
|
||||||
cd = ConfigService.Load(ControlDefaultPath, cd);
|
|
||||||
c.AllTrollers = cd.AllTrollers;
|
|
||||||
c.AllTrollersAutoFire = cd.AllTrollersAutoFire;
|
|
||||||
c.AllTrollersAnalog = cd.AllTrollersAnalog;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buttonSaveDefaults_Click(object sender, EventArgs e)
|
private void buttonSaveDefaults_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var result = MessageBox.Show(this, "OK to overwrite defaults for current control scheme?", "Save Defaults", MessageBoxButtons.YesNo);
|
var result = MessageBox.Show(this, "OK to overwrite defaults for current control scheme?", "Save Defaults", MessageBoxButtons.YesNo);
|
||||||
if (result == DialogResult.Yes)
|
if (result == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
ControlDefaults cd = new ControlDefaults();
|
ControlDefaults cd = new ControlDefaults();
|
||||||
cd = ConfigService.Load(ControlDefaultPath, cd);
|
cd = ConfigService.Load(Config.ControlDefaultPath, cd);
|
||||||
cd.AllTrollers[the_definition.Name] = new Dictionary<string, string>();
|
cd.AllTrollers[the_definition.Name] = new Dictionary<string, string>();
|
||||||
cd.AllTrollersAutoFire[the_definition.Name] = new Dictionary<string, string>();
|
cd.AllTrollersAutoFire[the_definition.Name] = new Dictionary<string, string>();
|
||||||
cd.AllTrollersAnalog[the_definition.Name] = new Dictionary<string, BizHawk.Client.Common.Config.AnalogBind>();
|
cd.AllTrollersAnalog[the_definition.Name] = new Dictionary<string, BizHawk.Client.Common.Config.AnalogBind>();
|
||||||
|
|
||||||
SaveToDefaults(cd);
|
SaveToDefaults(cd);
|
||||||
|
|
||||||
ConfigService.Save(ControlDefaultPath, cd);
|
ConfigService.Save(Config.ControlDefaultPath, cd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue