Took out the prepend of MatterControl on profile settings and made them consistent lower case underscore.

This commit is contained in:
Lars Brubaker 2016-06-16 16:35:10 -07:00
parent d83982089a
commit 7f85f168d5
26 changed files with 244 additions and 124 deletions

View file

@ -252,16 +252,16 @@ namespace MatterHackers.MatterControl.ActionBar
autoLevelButton.Margin = new Agg.BorderDouble(top: 3);
autoLevelButton.ToolTipText = "Print leveling is enabled.".Localize();
autoLevelButton.Cursor = Cursors.Hand;
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled");
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled");
ActiveSliceSettings.ActivePrinterChanged.RegisterEvent((sender, e) =>
{
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled");
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled");
}, ref unregisterEvents);
ActiveSliceSettings.Instance.DoPrintLevelingChanged.RegisterEvent((sender, e) =>
{
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled");
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled");
}, ref unregisterEvents);
return autoLevelButton;
@ -698,16 +698,16 @@ namespace MatterHackers.MatterControl.ActionBar
autoLevelButton.Cursor = Cursors.Hand;
autoLevelButton.Margin = new Agg.BorderDouble(top: 3);
autoLevelButton.ToolTipText = "Print leveling is enabled.".Localize();
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled");
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled");
ActiveSliceSettings.ActivePrinterChanged.RegisterEvent((sender, e) =>
{
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled");
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled");
}, ref unregisterEvents);
ActiveSliceSettings.Instance.DoPrintLevelingChanged.RegisterEvent((sender, e) =>
{
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled");
autoLevelButton.Visible = ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled");
}, ref unregisterEvents);
return autoLevelButton;

View file

@ -84,7 +84,7 @@ namespace MatterHackers.MatterControl
if (ActiveSliceSettings.Instance != null)
{
this.SelectedValue = ActiveSliceSettings.Instance.ID;
this.mainControlText.Text = ActiveSliceSettings.Instance.GetValue(SettingsKey.MatterControl_PrinterName);
this.mainControlText.Text = ActiveSliceSettings.Instance.GetValue(SettingsKey.printer_name);
}
this.AddItem(
@ -96,11 +96,11 @@ namespace MatterHackers.MatterControl
private void SettingChanged(object sender, EventArgs e)
{
string settingsName = (e as StringEventArgs)?.Data;
if (settingsName != null && settingsName == SettingsKey.MatterControl_PrinterName.ToString())
if (settingsName != null && settingsName == SettingsKey.printer_name.ToString())
{
if (ProfileManager.Instance.ActiveProfile != null)
{
ProfileManager.Instance.ActiveProfile.Name = ActiveSliceSettings.Instance.GetValue(SettingsKey.MatterControl_PrinterName);
ProfileManager.Instance.ActiveProfile.Name = ActiveSliceSettings.Instance.GetValue(SettingsKey.printer_name);
}
}

View file

@ -92,7 +92,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
ImageWidget levelingIcon = new ImageWidget(levelingImage);
levelingIcon.Margin = new BorderDouble(right: 6);
CheckBox printLevelingSwitch = ImageButtonFactory.CreateToggleSwitch(ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled"));
CheckBox printLevelingSwitch = ImageButtonFactory.CreateToggleSwitch(ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled"));
printLevelingSwitch.VAnchor = VAnchor.ParentCenter;
printLevelingSwitch.Margin = new BorderDouble(left: 16);
printLevelingSwitch.CheckedStateChanged += (sender, e) =>
@ -110,7 +110,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
ActiveSliceSettings.Instance.DoPrintLevelingChanged.RegisterEvent((sender, e) =>
{
printLevelingSwitch.Checked = ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled");
printLevelingSwitch.Checked = ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled");
}, ref unregisterEvents);
buttonRow.AddChild(levelingIcon);

View file

@ -52,7 +52,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public static string ApplyLeveling(string lineBeingSent, Vector3 currentDestination, PrinterMachineInstruction.MovementTypes movementMode)
{
var settings = ActiveSliceSettings.Instance;
if (settings?.GetValue<bool>("MatterControl.PrintLevelingEnabled") == true
if (settings?.GetValue<bool>("print_leveling_enabled") == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 "))
&& lineBeingSent.Length > 2
&& lineBeingSent[2] == ' ')

View file

@ -117,7 +117,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public static string ApplyLeveling(string lineBeingSent, Vector3 currentDestination, PrinterMachineInstruction.MovementTypes movementMode)
{
var settings = ActiveSliceSettings.Instance;
if (settings?.GetValue<bool>("MatterControl.PrintLevelingEnabled") == true
if (settings?.GetValue<bool>("print_leveling_enabled") == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 ")))
{
lineBeingSent = PrintLevelingPlane.Instance.ApplyLeveling(currentDestination, movementMode, lineBeingSent);

View file

@ -102,7 +102,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public static string ApplyLeveling(string lineBeingSent, Vector3 currentDestination, PrinterMachineInstruction.MovementTypes movementMode)
{
var settings = ActiveSliceSettings.Instance;
if (settings?.GetValue<bool>("MatterControl.PrintLevelingEnabled") == true
if (settings?.GetValue<bool>("print_leveling_enabled") == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 ")))
{
lineBeingSent = PrintLevelingPlane.Instance.ApplyLeveling(currentDestination, movementMode, lineBeingSent);

View file

@ -261,7 +261,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public static string ApplyLeveling(string lineBeingSent, Vector3 currentDestination, PrinterMachineInstruction.MovementTypes movementMode)
{
var settings = ActiveSliceSettings.Instance;
if (settings?.GetValue<bool>("MatterControl.PrintLevelingEnabled") == true
if (settings?.GetValue<bool>("print_leveling_enabled") == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 "))
&& lineBeingSent.Length > 2
&& lineBeingSent[2] == ' ')

View file

@ -97,7 +97,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
publishImageSwitchContainer.VAnchor = VAnchor.ParentCenter;
publishImageSwitchContainer.Margin = new BorderDouble(left: 16);
CheckBox toggleSwitch = ImageButtonFactory.CreateToggleSwitch(ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PublishBedImage"));
CheckBox toggleSwitch = ImageButtonFactory.CreateToggleSwitch(ActiveSliceSettings.Instance.GetValue<bool>("publish_bed_image"));
toggleSwitch.CheckedStateChanged += (sender, e) =>
{
CheckBox thisControl = sender as CheckBox;
@ -255,7 +255,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage
private void SetPrintLevelButtonVisiblity()
{
if (ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
if (ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled"))
{
printLevelingStatusLabel.Text = "Software Print Leveling (enabled)".Localize();
}

View file

@ -55,7 +55,7 @@ namespace MatterHackers.MatterControl
editButton.Click -= GoToEditPrinter_Click;
};
UiNavigation.GoToPrinterSettings("MatterControl.BaudRate Edit Field,MatterControl.AutoConnect Edit Field,MatterControl.ComPort Edit Field");
UiNavigation.GoToPrinterSettings("baud_rate Edit Field,auto_connect Edit Field,com_port Edit Field");
}
}

View file

@ -191,7 +191,7 @@ namespace MatterHackers.MatterControl
middleRowContainer.AddChild(new VerticalSpacer());
// If print leveling is enabled then add in a check box 'Apply Leveling During Export' and default checked.
if (showExportGCodeButton && ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
if (showExportGCodeButton && ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled"))
{
applyLeveling = new CheckBox(LocalizedString.Get(applyLevelingDuringExportString), ActiveTheme.Instance.PrimaryTextColor, 10);
applyLeveling.Checked = true;
@ -308,7 +308,7 @@ namespace MatterHackers.MatterControl
{
try
{
if (ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
if (ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled"))
{
GCodeFileLoaded unleveledGCode = new GCodeFileLoaded(source);
if (applyLeveling.Checked)

View file

@ -91,7 +91,7 @@ namespace MatterHackers.MatterControl
if (int.TryParse(themeIndexText, out themeIndex) && themeIndex < ActiveTheme.AvailableThemes.Count)
{
ActiveSliceSettings.Instance.SetActiveValue("MatterControl.ActiveThemeIndex", themeIndex.ToString());
ActiveSliceSettings.Instance.SetActiveValue("active_theme_index", themeIndex.ToString());
ActiveTheme.Instance = ActiveTheme.AvailableThemes[themeIndex];
}
};

View file

@ -89,23 +89,23 @@ namespace MatterHackers.MatterControl.DataStorage.ClassicDB
layeredProfile.ID = printer.Id.ToString();
layeredProfile.UserLayer[SettingsKey.MatterControl_PrinterName.ToString()] = printer.Name ?? "";
layeredProfile.UserLayer["MatterControl.Make"] = printer.Make ?? "";
layeredProfile.UserLayer["MatterControl.Model"] = printer.Model ?? "";
layeredProfile.UserLayer["MatterControl.BaudRate"] = printer.BaudRate ?? "";
layeredProfile.UserLayer["MatterControl.ComPort"] = printer.ComPort ?? "";
layeredProfile.UserLayer["MatterControl.AutoConnect"] = printer.AutoConnect ? "1" : "0";
layeredProfile.UserLayer["MatterControl.DefaultMaterialPresets"] = printer.MaterialCollectionIds ?? "";
layeredProfile.UserLayer["MatterControl.WindowsDriver"] = printer.DriverType ?? "";
layeredProfile.UserLayer["MatterControl.DeviceToken"] = printer.DeviceToken ?? "";
layeredProfile.UserLayer["MatterControl.DeviceType"] = printer.DeviceType ?? "";
layeredProfile.UserLayer[SettingsKey.printer_name] = printer.Name ?? "";
layeredProfile.UserLayer["MatterControl_Make"] = printer.Make ?? "";
layeredProfile.UserLayer["model"] = printer.Model ?? "";
layeredProfile.UserLayer["baud_rate"] = printer.BaudRate ?? "";
layeredProfile.UserLayer["com_port"] = printer.ComPort ?? "";
layeredProfile.UserLayer["auto_connect"] = printer.AutoConnect ? "1" : "0";
layeredProfile.UserLayer["default_material_presets"] = printer.MaterialCollectionIds ?? "";
layeredProfile.UserLayer["windows_driver"] = printer.DriverType ?? "";
layeredProfile.UserLayer["device_token"] = printer.DeviceToken ?? "";
layeredProfile.UserLayer["device_type"] = printer.DeviceType ?? "";
if (string.IsNullOrEmpty(UserSettings.Instance.get("ActiveProfileID")))
{
UserSettings.Instance.set("ActiveProfileID", printer.Id.ToString());
}
layeredProfile.UserLayer["MatterControl.ActiveThemeIndex"] = UserSettings.Instance.get("ActiveThemeIndex");
layeredProfile.UserLayer["active_theme_index"] = UserSettings.Instance.get("ActiveThemeIndex");
// Import macros from the database
var allMacros = Datastore.Instance.dbSQLite.Query<CustomCommands>("SELECT * FROM CustomCommands WHERE PrinterId = " + printer.Id);
@ -119,7 +119,7 @@ namespace MatterHackers.MatterControl.DataStorage.ClassicDB
string query = string.Format("SELECT * FROM PrinterSetting WHERE Name = 'PublishBedImage' and PrinterId = {0};", printer.Id);
var publishBedImage = Datastore.Instance.dbSQLite.Query<PrinterSetting>(query).FirstOrDefault();
layeredProfile.UserLayer["MatterControl.PublishBedImage"] = publishBedImage?.Value == "true" ? "1" : "0";
layeredProfile.UserLayer["publish_bed_image"] = publishBedImage?.Value == "true" ? "1" : "0";
// Print leveling
var printLevelingData = PrintLevelingData.Create(
@ -127,10 +127,10 @@ namespace MatterHackers.MatterControl.DataStorage.ClassicDB
printer.PrintLevelingJsonData,
printer.PrintLevelingProbePositions);
layeredProfile.UserLayer["MatterControl.PrintLevelingData"] = JsonConvert.SerializeObject(printLevelingData);
layeredProfile.UserLayer["MatterControl.PrintLevelingEnabled"] = printer.DoPrintLeveling ? "true" : "false";
layeredProfile.UserLayer["print_leveling_data"] = JsonConvert.SerializeObject(printLevelingData);
layeredProfile.UserLayer["print_leveling_enabled"] = printer.DoPrintLeveling ? "true" : "false";
layeredProfile.UserLayer["MatterControl.ManualMovementSpeeds"] = printer.ManualMovementSpeeds;
layeredProfile.UserLayer["manual_movement_speeds"] = printer.ManualMovementSpeeds;
// TODO: Where can we find CalibrationFiiles in the current model?
//layeredProfile.SetActiveValue("MatterControl.CalibrationFiles", printer.Make);

View file

@ -52,7 +52,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
string lineFromChild = base.ReadLine();
if (lineFromChild != null
&& PrinterConnectionAndCommunication.Instance.ActivePrinter.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
&& PrinterConnectionAndCommunication.Instance.ActivePrinter.GetValue<bool>("print_leveling_enabled"))
{
if (LineIsMovement(lineFromChild))
{

View file

@ -397,9 +397,9 @@ namespace MatterHackers.MatterControl.PrinterCommunication
{
try
{
if (ActiveSliceSettings.Instance.GetValue("MatterControl.BaudRate") != null)
if (ActiveSliceSettings.Instance.GetValue("baud_rate") != null)
{
baudRate = Convert.ToInt32(ActiveSliceSettings.Instance.GetValue("MatterControl.BaudRate"));
baudRate = Convert.ToInt32(ActiveSliceSettings.Instance.GetValue("baud_rate"));
}
}
catch
@ -1346,7 +1346,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication
{
// If leveling is required or is currently on
if (ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_required_to_print")
|| ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
|| ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled"))
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if(levelingData?.HasBeenRun() != true)
@ -1644,7 +1644,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication
// run the print leveling wizard if we need to for this printer
if (ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_required_to_print")
|| ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
|| ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled"))
{
PrintLevelingData levelingData = ActiveSliceSettings.Instance.GetPrintLevelingData();
if (levelingData?.HasBeenRun() != true)
@ -2327,7 +2327,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication
OnConnectionFailed(null);
UiNavigation.GoToPrinterSettings("MatterControl.ComPort Edit Field");
UiNavigation.GoToPrinterSettings("com_port Edit Field");
}
}

View file

@ -105,7 +105,7 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
BaudRateButtonsList.Add(baudOption);
baudOption.Margin = baudRateMargin;
baudOption.TextColor = ActiveTheme.Instance.PrimaryTextColor;
if (ActiveSliceSettings.Instance.GetValue("MatterControl.BaudRate") == baudRate)
if (ActiveSliceSettings.Instance.GetValue("baud_rate") == baudRate)
{
baudOption.Checked = true;
}
@ -124,7 +124,7 @@ namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
otherBaudRateInput.Visible = false;
otherBaudRateInput.HAnchor = HAnchor.ParentLeftRight;
string currentBaudRate = ActiveSliceSettings.Instance.GetValue("MatterControl.BaudRate");
string currentBaudRate = ActiveSliceSettings.Instance.GetValue("baud_rate");
if (currentBaudRate != null)
{
if (!baudRates.Contains(currentBaudRate))

View file

@ -191,7 +191,7 @@ namespace MatterHackers.MatterControl.PrintQueue
string outputFileName = Path.ChangeExtension(originalFileName, ".gcode");
string outputPathAndName = Path.Combine(exportPath, outputFileName);
if (ActiveSliceSettings.Instance.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
if (ActiveSliceSettings.Instance.GetValue<bool>("print_leveling_enabled"))
{
GCodeFileLoaded unleveledGCode = new GCodeFileLoaded(savedGcodeFileName);

View file

@ -49,11 +49,11 @@ namespace MatterHackers.MatterControl
textImageButtonFactory.normalBorderColor = RGBA_Bytes.White;
int tabIndex = 0;
AddNameSetting(SettingsKey.MatterControl_PrinterName.ToString(), contentRow, ref tabIndex);
AddNameSetting("MatterControl.AutoConnect", contentRow, ref tabIndex);
AddNameSetting("MatterControl.BaudRate", contentRow, ref tabIndex);
AddNameSetting("MatterControl.ComPort", contentRow, ref tabIndex);
AddNameSetting("MatterControl.DeletePrinter", contentRow, ref tabIndex);
AddNameSetting(SettingsKey.printer_name.ToString(), contentRow, ref tabIndex);
AddNameSetting("auto_connect", contentRow, ref tabIndex);
AddNameSetting("baud_rate", contentRow, ref tabIndex);
AddNameSetting("com_port", contentRow, ref tabIndex);
AddNameSetting("delete_printer", contentRow, ref tabIndex);
footerRow.AddChild(new HorizontalSpacer());
footerRow.AddChild(cancelButton);

View file

@ -142,7 +142,7 @@ namespace MatterHackers.MatterControl
internal void ChangeToSetupBaudOrComPortOne()
{
if (string.IsNullOrEmpty(PrinterConnectionAndCommunication.Instance?.ActivePrinter?.GetValue("MatterControl.BaudRate")))
if (string.IsNullOrEmpty(PrinterConnectionAndCommunication.Instance?.ActivePrinter?.GetValue("baud_rate")))
{
ChangeToPage<SetupStepBaudRate>();
}

View file

@ -68,7 +68,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
activeInstance = value;
if (activeInstance != null)
{
BedSettings.SetMakeAndModel(activeInstance.GetValue("MatterControl.Make"), activeInstance.GetValue("MatterControl.Model"));
BedSettings.SetMakeAndModel(activeInstance.GetValue("MatterControl_Make"), activeInstance.GetValue("model"));
}
SwitchToPrinterTheme(MatterControlApplication.IsLoading);
@ -92,7 +92,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
int themeIndex;
if (ActiveSliceSettings.Instance != null)
{
string activeThemeIndex = ActiveSliceSettings.Instance.GetValue("MatterControl.ActiveThemeIndex");
string activeThemeIndex = ActiveSliceSettings.Instance.GetValue("active_theme_index");
if (string.IsNullOrEmpty(activeThemeIndex) || !int.TryParse(activeThemeIndex, out themeIndex))
{
themeIndex = defaultThemeIndex;
@ -124,7 +124,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
portExists = comportNames.Contains(startupProfile.ComPort());
Instance = startupProfile;
if (portExists && startupProfile.GetValue<bool>("MatterControl.AutoConnect"))
if (portExists && startupProfile.GetValue<bool>("auto_connect"))
{
UiThread.RunOnIdle(() =>
{

View file

@ -51,25 +51,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
var jObject = JObject.Parse(File.ReadAllText(filePath));
if (fromVersion < 201606081)
{
JObject materialLayers, qualityLayers;
materialLayers = jObject["MaterialLayers"] as JObject;
if (materialLayers != null)
{
jObject["MaterialLayers"] = new JArray(materialLayers.Properties().ToList().Select(layer => layer.Value).ToArray());
qualityLayers = jObject["QualityLayers"] as JObject;
jObject["QualityLayers"] = new JArray(qualityLayers.Properties().ToList().Select(layer => layer.Value).ToArray());
var oemProfile = jObject["OemProfile"] as JObject;
oemProfile.Property("MaterialLayers").Remove();
oemProfile.Property("QualityLayers").Remove();
}
jObject["DocumentVersion"] = 201606081;
fromVersion = 201606081;
}
if (fromVersion < 201605131)
{
var materialLayers = jObject["MaterialLayers"] as JObject;
@ -115,6 +96,144 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
filePath = Path.Combine(Path.GetDirectoryName(filePath), printerID + ".json");
}
if (fromVersion < 201606081)
{
JObject materialLayers, qualityLayers;
materialLayers = jObject["MaterialLayers"] as JObject;
if (materialLayers != null)
{
jObject["MaterialLayers"] = new JArray(materialLayers.Properties().ToList().Select(layer => layer.Value).ToArray());
qualityLayers = jObject["QualityLayers"] as JObject;
jObject["QualityLayers"] = new JArray(qualityLayers.Properties().ToList().Select(layer => layer.Value).ToArray());
var oemProfile = jObject["OemProfile"] as JObject;
oemProfile.Property("MaterialLayers").Remove();
oemProfile.Property("QualityLayers").Remove();
}
jObject["DocumentVersion"] = 201606081;
}
if (fromVersion < 201606161)
{
var layersToModify = new List<JObject>();
layersToModify.Add(jObject["UserLayer"] as JObject);
layersToModify.Add(jObject["OemProfile"]["OemLayer"] as JObject);
layersToModify.AddRange(jObject["MaterialLayers"].Cast<JObject>());
layersToModify.AddRange(jObject["QualityLayers"].Cast<JObject>());
foreach (var layer in layersToModify)
{
var itemsToAdd = new List<KeyValuePair<string, JToken>>();
foreach (var token in layer)
{
if (token.Key.StartsWith("MatterControl."))
{
itemsToAdd.Add(token);
}
}
foreach (var item in itemsToAdd)
{
layer.Remove(item.Key);
switch (item.Key)
{
case "MatterControl.PrinterName":
layer.Add("printer_name", item.Value);
break;
case "MatterControl.BaudRate":
layer.Add("baud_rate", item.Value);
break;
case "MatterControl.Make":
layer.Add("make", item.Value);
break;
case "MatterControl.Model":
layer.Add("model", item.Value);
break;
case "MatterControl.ComPort":
layer.Add("com_port", item.Value);
break;
case "MatterControl.AutoConnect":
layer.Add("auto_connect", item.Value);
break;
case "MatterControl.DefaultMaterialPresets":
layer.Add("default_material_presets", item.Value);
break;
case "MatterControl.WindowsDriver":
layer.Add("windows_driver", item.Value);
break;
case "MatterControl.DeviceToken":
layer.Add("device_token", item.Value);
break;
case "MatterControl.DeviceType":
layer.Add("device_type", item.Value);
break;
case "MatterControl.ActiveThemeIndex":
layer.Add("active_theme_index", item.Value);
break;
case "MatterControl.PublishBedImage":
layer.Add("publish_bed_image", item.Value);
break;
case "MatterControl.PrintLevelingData":
layer.Add("print_leveling_data", item.Value);
break;
case "MatterControl.PrintLevelingEnabled":
layer.Add("print_leveling_enabled", item.Value);
break;
case "MatterControl.DeletePrinter":
layer.Add("delete_printer", item.Value);
break;
case "MatterControl.ManualMovementSpeeds":
layer.Add("manual_movement_speeds", item.Value);
break;
case "MatterControl.SHA1":
layer.Add("profile_sha1", item.Value);
break;
default:
if (item.Key.Contains("ComPort"))
{
var segments = item.Key.Split('.');
if (segments.Length != 3)
{
throw new Exception("Why didn't we know how to add this.");
}
layer.Add(segments[1] + "_com_port", item.Value);
break;
}
else
{
throw new Exception("Why didn't we know how to add this.");
}
}
}
}
jObject["DocumentVersion"] = 201606161;
}
File.WriteAllText(
filePath,
JsonConvert.SerializeObject(jObject, Formatting.Indented));
@ -131,7 +250,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
// Latest version should be 2016|06|08|1
// Year|month|day|versionForDay (to support multiple revisions on a given day)
public static int LatestVersion { get; } = 201606081;
public static int LatestVersion { get; } = 201606161;
[JsonIgnore]
internal PrinterSettingsLayer QualityLayer { get; private set; }
@ -256,7 +375,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
using (var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
string sha1 = GenerateSha1(memoryStream);
this.UserLayer["MatterControl.SHA1"] = sha1;
this.UserLayer["profile_sha1"] = sha1;
var printerInfo = ProfileManager.Instance[this.ID];
if (printerInfo != null)
@ -276,7 +395,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
internal static PrinterSettings LoadFile(string printerProfilePath)
{
var jObject = JObject.Parse(File.ReadAllText(printerProfilePath));
int documentVersion = (int) jObject?.GetValue("DocumentVersion")?.Value<int>();
int documentVersion = jObject?.GetValue("DocumentVersion")?.Value<int>() ?? 0;
if (documentVersion < PrinterSettings.LatestVersion)
{

View file

@ -86,12 +86,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
string settingsKey = ((StringEventArgs)e).Data;
switch (settingsKey)
{
case SettingsKey.MatterControl_PrinterName:
Instance.ActiveProfile.Name = ActiveSliceSettings.Instance.GetValue(SettingsKey.MatterControl_PrinterName);
case SettingsKey.printer_name:
Instance.ActiveProfile.Name = ActiveSliceSettings.Instance.GetValue(SettingsKey.printer_name);
Instance.Save();
break;
case "MatterControl.ComPort":
case "com_port":
Instance.ActiveProfile.ComPort = ActiveSliceSettings.Instance.ComPort();
Instance.Save();
break;
@ -121,7 +121,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
new OemProfile(),
SliceSettingsOrganizer.Instance.GetDefaultSettings()));
empytProfile.SetActiveValue(SettingsKey.MatterControl_PrinterName.ToString(), "Printers...".Localize());
empytProfile.SetActiveValue(SettingsKey.printer_name.ToString(), "Printers...".Localize());
return empytProfile;
}
@ -193,7 +193,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
};
// TODO: Resolve name conflicts
layeredProfile.UserLayer[SettingsKey.MatterControl_PrinterName.ToString()] = printerInfo.Name;
layeredProfile.UserLayer[SettingsKey.printer_name.ToString()] = printerInfo.Name;
Instance.Profiles.Add(printerInfo);
@ -216,7 +216,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
ID = guid
};
layeredProfile.UserLayer[SettingsKey.MatterControl_PrinterName.ToString()] = printerName;
layeredProfile.UserLayer[SettingsKey.printer_name.ToString()] = printerName;
// Import named macros as defined in the following printers: (Airwolf Axiom, HD, HD-R, HD2x, HDL, HDx, Me3D Me2, Robo R1[+])
var classicDefaultMacros = layeredProfile.GetValue("default_macros");
@ -316,7 +316,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
ComPort = profile.ComPort(),
ID = profile.ID,
Name = profile.GetValue(SettingsKey.MatterControl_PrinterName),
Name = profile.GetValue(SettingsKey.printer_name),
});
}
catch (Exception ex)

View file

@ -59,7 +59,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public const string resume_position_before_z_home = nameof(resume_position_before_z_home);
public const string z_homes_to_max = nameof(z_homes_to_max);
public const string nozzle_diameter = nameof(nozzle_diameter);
public const string MatterControl_PrinterName = nameof(MatterControl_PrinterName);
public const string printer_name = nameof(printer_name);
public const string min_fan_speed = nameof(min_fan_speed);
public const string extruder_count = nameof(extruder_count);
public const string extruders_share_temperature = nameof(extruders_share_temperature);
@ -236,8 +236,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
switch (item.SlicerConfigName)
{
case "MatterControl.BaudRate":
case "MatterControl.AutoConnect":
case "baud_rate":
case "auto_connect":
// These items are marked as not being overrides but should be cleared on 'reset to defaults'
break;
default:
@ -334,7 +334,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
printLevelingData = PrintLevelingData.Create(
ActiveSliceSettings.Instance,
layeredProfile.GetValue("MatterControl.PrintLevelingData"),
layeredProfile.GetValue("print_leveling_data"),
layeredProfile.GetValue("MatterControl.PrintLevelingProbePositions"));
PrintLevelingPlane.Instance.SetPrintLevelingEquation(
@ -350,19 +350,19 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public void SetPrintLevelingData(PrintLevelingData data)
{
printLevelingData = data;
layeredProfile.SetValue("MatterControl.PrintLevelingData", JsonConvert.SerializeObject(data));
layeredProfile.SetValue("print_leveling_data", JsonConvert.SerializeObject(data));
}
public void DoPrintLeveling(bool doLeveling)
{
// Early exit if already set
if (doLeveling == this.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
if (doLeveling == this.GetValue<bool>("print_leveling_enabled"))
{
return;
}
layeredProfile.SetValue("MatterControl.PrintLevelingEnabled", doLeveling ? "1" : "0");
layeredProfile.SetValue("print_leveling_enabled", doLeveling ? "1" : "0");
DoPrintLevelingChanged.CallEvents(this, null);
@ -611,7 +611,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
// If we have print leveling turned on then make sure we don't have any leveling commands in the start gcode.
if (PrinterConnectionAndCommunication.Instance.ActivePrinter.GetValue<bool>("MatterControl.PrintLevelingEnabled"))
if (PrinterConnectionAndCommunication.Instance.ActivePrinter.GetValue<bool>("print_leveling_enabled"))
{
string[] startGCode = GetValue("start_gcode").Replace("\\n", "\n").Split('\n');
foreach (string startGCodeLine in startGCode)
@ -765,7 +765,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public void SetAutoConnect(bool autoConnectPrinter)
{
layeredProfile.SetValue("MatterControl.AutoConnect", autoConnectPrinter ? "1" : "0");
layeredProfile.SetValue("auto_connect", autoConnectPrinter ? "1" : "0");
}
public void SetMarkedForDelete(bool markedForDelete)
@ -787,7 +787,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public void SetBaudRate(string baudRate)
{
layeredProfile.SetValue("MatterControl.BaudRate", baudRate);
layeredProfile.SetValue("baud_rate", baudRate);
}
public string ComPort()
@ -817,15 +817,15 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public void SetDeviceToken(string token)
{
if (layeredProfile.GetValue("MatterControl.DeviceToken") != token)
if (layeredProfile.GetValue("device_token") != token)
{
layeredProfile.SetValue("MatterControl.DeviceToken", token);
layeredProfile.SetValue("device_token", token);
}
}
public void SetName(string name)
{
layeredProfile.SetValue(SettingsKey.MatterControl_PrinterName, name);
layeredProfile.SetValue(SettingsKey.printer_name, name);
}
HashSet<string> knownSettings = null;
@ -849,12 +849,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public string ManualMovementSpeeds()
{
return layeredProfile.GetValue("MatterControl.ManualMovementSpeeds");
return layeredProfile.GetValue("manual_movement_speeds");
}
public void SetManualMovementSpeeds(string speed)
{
layeredProfile.SetValue("MatterControl.ManualMovementSpeeds", speed);
layeredProfile.SetValue("manual_movement_speeds", speed);
}
}

View file

@ -1164,7 +1164,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
#if __ANDROID__
addControl = false;
#endif
// The COM_PORT control is unique in its approach to the SlicerConfigName. It uses "MatterControl.ComPort" settings name to
// The COM_PORT control is unique in its approach to the SlicerConfigName. It uses "com_port" settings name to
// bind to a context that will place it in the SliceSetting view but it binds its values to a machine
// specific dictionary key that is not exposed in the UI. At runtime we lookup and store to "MatterControl.<machine>.ComPort"
// ensuring that a single printer can be shared across different devices and we'll select the correct ComPort in each case

View file

@ -53,11 +53,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
"has_heated_bed",
"has_power_control",
"has_sd_card_reader",
"MatterControl_PrinterName",
"MatterControl.AutoConnect",
"MatterControl.BaudRate",
"MatterControl.ComPort",
"MatterControl.DeletePrinter",
"printer_name",
"auto_connect",
"baud_rate",
"com_port",
"delete_printer",
"manual_probe_paper_width",
"pause_gcode",
"print_leveling_method",

View file

@ -10,12 +10,12 @@ Simple
Printer
Connection
Description
MatterControl.PrinterName
printer_name
Details
MatterControl.AutoConnect
MatterControl.BaudRate
MatterControl.ComPort
MatterControl.DeletePrinter
auto_connect
baud_rate
com_port
delete_printer
Intermediate
General
Layers/Surface
@ -69,12 +69,12 @@ Intermediate
Printer
Connection
Description
MatterControl.PrinterName
printer_name
Details
MatterControl.AutoConnect
MatterControl.BaudRate
MatterControl.ComPort
MatterControl.DeletePrinter
auto_connect
baud_rate
com_port
delete_printer
Advanced
General
Layers/Surface
@ -270,12 +270,12 @@ Advanced
Printer
Connection
Description
MatterControl.PrinterName
printer_name
Details
MatterControl.AutoConnect
MatterControl.BaudRate
MatterControl.ComPort
MatterControl.DeletePrinter
auto_connect
baud_rate
com_port
delete_printer
Print Area
Size and Coordinates
bed_size

View file

@ -2303,7 +2303,7 @@
}
],
"SetSettingsOnChange": [],
"SlicerConfigName": "MatterControl.BaudRate",
"SlicerConfigName": "baud_rate",
"PresentationName": "Baud Rate",
"HelpText": "The serial port communication speed of the printers firmware.",
"DataEditType": "INT",
@ -2316,7 +2316,7 @@
{
"QuickMenuSettings": [],
"SetSettingsOnChange": [],
"SlicerConfigName": "MatterControl.DeletePrinter",
"SlicerConfigName": "delete_printer",
"PresentationName": "",
"HelpText": "Delete the currently selected printer profile.",
"DataEditType": "DELETE_PRINTER",
@ -2329,7 +2329,7 @@
{
"QuickMenuSettings": [],
"SetSettingsOnChange": [],
"SlicerConfigName": SettingsKey.MatterControl_PrinterName,
"SlicerConfigName": "printer_name",
"PresentationName": "Printer Name",
"HelpText": "This is the name of your printer that will be displayed in the choose printer menu.",
"DataEditType": "STRING",
@ -2342,7 +2342,7 @@
{
"QuickMenuSettings": [],
"SetSettingsOnChange": [],
"SlicerConfigName": "MatterControl.AutoConnect",
"SlicerConfigName": "auto_connect",
"PresentationName": "Auto Connect",
"HelpText": "If set, the printer will automatically attempt to connect when selected.",
"DataEditType": "CHECK_BOX",
@ -2355,7 +2355,7 @@
{
"QuickMenuSettings": [],
"SetSettingsOnChange": [],
"SlicerConfigName": "MatterControl.ComPort",
"SlicerConfigName": "com_port",
"PresentationName": "COM Port",
"HelpText": "The COM port to use while connecting to this printer.",
"DataEditType": "COM_PORT",