Conflicts:
	StaticData/Translations/Master.txt
This commit is contained in:
Lars Brubaker 2016-06-13 15:30:57 -07:00
commit 12bca2d0c5
8 changed files with 48 additions and 86 deletions

View file

@ -1326,7 +1326,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication
string currentValue = ActiveSliceSettings.Instance.ActiveValue(keyValue.Key);
bool valueIsClear = currentValue == "0" | currentValue == "";
OrganizerSettingsData data = SliceSettingsOrganizer.Instance.GetSettingsData(keyValue.Key);
SliceSettingData data = SliceSettingsOrganizer.Instance.GetSettingsData(keyValue.Key);
if (data?.ResetAtEndOfPrint == true && !valueIsClear)
{
oneOrMoreValuesReset = true;

View file

@ -199,7 +199,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public static LayeredProfile LoadEmptyProfile()
{
return new LayeredProfile(new OemProfile(), LoadMatterHackersBaseLayer());
return new LayeredProfile(new OemProfile(), SliceSettingsOrganizer.Instance.GetDefaultSettings());
}
public static ProfileData ProfileData { get; private set; }
@ -273,7 +273,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
var settingsToImport = SettingsLayer.LoadFromIni(settingsFilePath);
var oemProfile = new OemProfile(settingsToImport);
SettingsLayer baseConfig = LoadMatterHackersBaseLayer();
SettingsLayer baseConfig = SliceSettingsOrganizer.Instance.GetDefaultSettings();
var layeredProfile = new LayeredProfile(oemProfile, baseConfig)
{
@ -301,7 +301,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
string guid = Guid.NewGuid().ToString();
OemProfile printerProfile = LoadHttpOemProfile(make, model);
SettingsLayer baseConfig = LoadMatterHackersBaseLayer();
SettingsLayer baseConfig = SliceSettingsOrganizer.Instance.GetDefaultSettings();
var layeredProfile = new LayeredProfile(printerProfile, baseConfig)
{
@ -379,20 +379,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return new SettingsProfile(LayeredProfile.LoadFile(profilePath));
}
private static SettingsLayer LoadMatterHackersBaseLayer()
{
string baseConfigPath = Path.Combine(profilesPath, "config.json");
if(!File.Exists(baseConfigPath))
{
SettingsLayer baseLayer = SliceSettingsOrganizer.Instance.GetDefaultSettings();
File.WriteAllText(baseConfigPath, JsonConvert.SerializeObject(baseLayer));
return baseLayer;
}
return JsonConvert.DeserializeObject<SettingsLayer>(File.ReadAllText(baseConfigPath));
}
private static OemProfile LoadHttpOemProfile(string make, string model)
{
string url = string.Format(

View file

@ -881,7 +881,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|| (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(speedSetting)
&& speedToCheck <= 0))
{
OrganizerSettingsData data = SliceSettingsOrganizer.Instance.GetSettingsData(speedSetting);
SliceSettingData data = SliceSettingsOrganizer.Instance.GetSettingsData(speedSetting);
if (data != null)
{
string error = string.Format("The '{0}' must be greater than 0.".Localize(), data.PresentationName);

View file

@ -44,7 +44,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public string Value;
}
public class OrganizerSettingsData
public class SliceSettingData
{
[JsonConverter(typeof(StringEnumConverter))]
public enum DataEditTypes { STRING, INT, INT_OR_MM, DOUBLE, POSITIVE_DOUBLE, OFFSET, DOUBLE_OR_PERCENT, VECTOR2, OFFSET2, CHECK_BOX, LIST, MULTI_LINE_TEXT, HARDWARE_PRESENT, COM_PORT, DELETE_PRINTER };
@ -71,15 +71,15 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public string DefaultValue { get; set; }
static public OrganizerSettingsData NewOrganizerSettingData(string slicerConfigName, string presentationName, OrganizerSettingsData.DataEditTypes dataEditType, string extraSettings = "", string helpText = "")
static public SliceSettingData NewOrganizerSettingData(string slicerConfigName, string presentationName, SliceSettingData.DataEditTypes dataEditType, string extraSettings = "", string helpText = "")
{
return new OrganizerSettingsData(slicerConfigName, presentationName, dataEditType, extraSettings, helpText);
return new SliceSettingData(slicerConfigName, presentationName, dataEditType, extraSettings, helpText);
}
static public OrganizerSettingsData NewOrganizerSettingData(string lineFromSettingsFile)
static public SliceSettingData NewOrganizerSettingData(string lineFromSettingsFile)
{
string[] parameters = lineFromSettingsFile.Split('|');
OrganizerSettingsData.DataEditTypes valueType = (OrganizerSettingsData.DataEditTypes)Enum.Parse(typeof(OrganizerSettingsData.DataEditTypes), parameters[2].Trim());
SliceSettingData.DataEditTypes valueType = (SliceSettingData.DataEditTypes)Enum.Parse(typeof(SliceSettingData.DataEditTypes), parameters[2].Trim());
switch (parameters.Length)
{
case 3:
@ -96,7 +96,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
}
public OrganizerSettingsData(string slicerConfigName, string presentationName, DataEditTypes dataEditType, string extraSettings = "", string helpText = "")
public SliceSettingData(string slicerConfigName, string presentationName, DataEditTypes dataEditType, string extraSettings = "", string helpText = "")
{
this.ExtraSettings = extraSettings;
this.SlicerConfigName = slicerConfigName;
@ -116,7 +116,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
set { name = value; }
}
public List<OrganizerSettingsData> SettingDataList { get; private set; } = new List<OrganizerSettingsData>();
public List<SliceSettingData> SettingDataList { get; private set; } = new List<SliceSettingData>();
public OrganizerSubGroup(string groupName)
{
@ -214,7 +214,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
set { userLevels = value; }
}
public List<OrganizerSettingsData> SettingsData { get; private set; } = new List<OrganizerSettingsData>();
public List<SliceSettingData> SettingsData { get; private set; } = new List<SliceSettingData>();
private static SliceSettingsOrganizer instance = null;
@ -254,7 +254,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
foreach (OrganizerSubGroup subGroup in group.SubGroupsList)
{
foreach (OrganizerSettingsData settingData in subGroup.SettingDataList)
foreach (SliceSettingData settingData in subGroup.SettingDataList)
{
if (settingData.SlicerConfigName == slicerConfigName)
{
@ -268,9 +268,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return false;
}
public OrganizerSettingsData GetSettingsData(string slicerConfigName)
public SliceSettingData GetSettingsData(string slicerConfigName)
{
foreach (OrganizerSettingsData settingData in SettingsData)
foreach (SliceSettingData settingData in SettingsData)
{
if (settingData.SlicerConfigName == slicerConfigName)
{
@ -282,28 +282,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
//throw new Exception("You must not have a layout for a setting that is not in the Properties.txt");
}
public void SavePropertiesJson()
{
SettingsLayer baseLayer = ActiveSliceSettings.Instance.BaseLayer;
foreach (KeyValuePair<string, string> keyValue in baseLayer)
{
foreach(OrganizerSettingsData setting in SettingsData)
{
if(setting.SlicerConfigName == keyValue.Key)
{
setting.DefaultValue = keyValue.Value;
}
}
}
string propertiesFileContents = JsonConvert.SerializeObject(SettingsData, Formatting.Indented);
File.WriteAllText("Properties.json", propertiesFileContents);
}
private void LoadAndParseSettingsFiles()
{
string propertiesFileContents = StaticData.Instance.ReadAllText(Path.Combine("SliceSettings", "Properties.json"));
SettingsData = JsonConvert.DeserializeObject<List<OrganizerSettingsData>>(propertiesFileContents) as List<OrganizerSettingsData>;
SettingsData = JsonConvert.DeserializeObject<List<SliceSettingData>>(propertiesFileContents) as List<SliceSettingData>;
OrganizerUserLevel userLevelToAddTo = null;
OrganizerCategory categoryToAddTo = null;
@ -338,7 +320,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
break;
case 8:
OrganizerSettingsData data = GetSettingsData(sanitizedLine);
SliceSettingData data = GetSettingsData(sanitizedLine);
if (data != null)
{
subGroupToAddTo.SettingDataList.Add(data);
@ -367,7 +349,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
Dictionary<string, string> settingsDictionary = new Dictionary<string, string>();
foreach(OrganizerSettingsData settingsData in this.SettingsData)
foreach(SliceSettingData settingsData in this.SettingsData)
{
settingsDictionary[settingsData.SlicerConfigName] = settingsData.DefaultValue;
}

View file

@ -372,7 +372,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
this.HAnchor = HAnchor.ParentLeftRight;
foreach (OrganizerSettingsData settingData in subGroup.SettingDataList)
foreach (SliceSettingData settingData in subGroup.SettingDataList)
{
bool settingShouldBeShown = CheckIfShouldBeShown(settingData);
@ -468,7 +468,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return leftSideGroupTabs;
}
private bool CheckIfShouldBeShown(OrganizerSettingsData settingData)
private bool CheckIfShouldBeShown(SliceSettingData settingData)
{
bool settingShouldBeShown = true;
if (settingData.ShowIfSet != null
@ -499,7 +499,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return settingShouldBeShown;
}
private GuiWidget AddInHelpText(FlowLayoutWidget topToBottomSettings, OrganizerSettingsData settingData)
private GuiWidget AddInHelpText(FlowLayoutWidget topToBottomSettings, SliceSettingData settingData)
{
FlowLayoutWidget allText = new FlowLayoutWidget(FlowDirection.TopToBottom);
allText.HAnchor = HAnchor.ParentLeftRight;
@ -545,7 +545,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{
if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, keyValue.Key))
{
OrganizerSettingsData settingData = new OrganizerSettingsData(keyValue.Key, keyValue.Key, OrganizerSettingsData.DataEditTypes.STRING);
SliceSettingData settingData = new SliceSettingData(keyValue.Key, keyValue.Key, SliceSettingData.DataEditTypes.STRING);
if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingData.SlicerConfigName))
{
bool addControl;
@ -576,7 +576,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return leftSideGroupTabs;
}
private static GuiWidget GetExtraSettingsWidget(OrganizerSettingsData settingData)
private static GuiWidget GetExtraSettingsWidget(SliceSettingData settingData)
{
var nameHolder = new GuiWidget(HAnchor.ParentLeftRight, VAnchor.FitToChildren | VAnchor.ParentCenter)
{
@ -591,7 +591,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public static RootedObjectEventHandler SettingChanged = new RootedObjectEventHandler();
static private void OnSettingsChanged(OrganizerSettingsData settingData)
static private void OnSettingsChanged(SliceSettingData settingData)
{
SettingChanged.CallEvents(null, new StringEventArgs(settingData.SlicerConfigName));
@ -685,7 +685,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return null;
}
private static GuiWidget CreateSettingInfoUIControls(OrganizerSettingsData settingData, List<SettingsLayer> layerCascade, SettingsLayer persistenceLayer,
private static GuiWidget CreateSettingInfoUIControls(SliceSettingData settingData, List<SettingsLayer> layerCascade, SettingsLayer persistenceLayer,
NamedSettingsLayers viewFilter,
int extruderIndex, out bool addControl, ref int tabIndexForItem)
{
@ -732,7 +732,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
int vectorXYEditWidth = (int)(60 * GuiWidget.DeviceScale + .5);
int multiLineEditHeight = (int)(120 * GuiWidget.DeviceScale + .5);
if (settingData.DataEditType != OrganizerSettingsData.DataEditTypes.MULTI_LINE_TEXT)
if (settingData.DataEditType != SliceSettingData.DataEditTypes.MULTI_LINE_TEXT)
{
var nameHolder = new GuiWidget(HAnchor.ParentLeftRight, VAnchor.FitToChildren | VAnchor.ParentCenter)
{
@ -747,7 +747,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
switch (settingData.DataEditType)
{
case OrganizerSettingsData.DataEditTypes.INT:
case SliceSettingData.DataEditTypes.INT:
{
FlowLayoutWidget content = new FlowLayoutWidget();
int currentValue;
@ -787,7 +787,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.DOUBLE:
case SliceSettingData.DataEditTypes.DOUBLE:
{
double currentValue;
double.TryParse(sliceSettingValue, out currentValue);
@ -817,7 +817,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.POSITIVE_DOUBLE:
case SliceSettingData.DataEditTypes.POSITIVE_DOUBLE:
{
const string multiValuesAreDiffernt = "-";
FlowLayoutWidget content = new FlowLayoutWidget();
@ -902,7 +902,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.OFFSET:
case SliceSettingData.DataEditTypes.OFFSET:
{
double currentValue;
double.TryParse(sliceSettingValue, out currentValue);
@ -931,7 +931,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.DOUBLE_OR_PERCENT:
case SliceSettingData.DataEditTypes.DOUBLE_OR_PERCENT:
{
FlowLayoutWidget content = new FlowLayoutWidget();
@ -995,7 +995,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.INT_OR_MM:
case SliceSettingData.DataEditTypes.INT_OR_MM:
{
FlowLayoutWidget content = new FlowLayoutWidget();
@ -1084,7 +1084,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.CHECK_BOX:
case SliceSettingData.DataEditTypes.CHECK_BOX:
{
var checkBoxWidget = new CheckBox("")
{
@ -1113,7 +1113,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.STRING:
case SliceSettingData.DataEditTypes.STRING:
{
var stringEdit = new MHTextEditWidget(sliceSettingValue, pixelWidth: 120, tabIndex: tabIndexForItem++)
{
@ -1139,7 +1139,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.MULTI_LINE_TEXT:
case SliceSettingData.DataEditTypes.MULTI_LINE_TEXT:
{
string convertedNewLines = sliceSettingValue.Replace("\\n", "\n");
var stringEdit = new MHTextEditWidget(convertedNewLines, pixelWidth: 320, pixelHeight: multiLineEditHeight, multiLine: true, tabIndex: tabIndexForItem++)
@ -1168,7 +1168,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.COM_PORT:
case SliceSettingData.DataEditTypes.COM_PORT:
{
#if __ANDROID__
addControl = false;
@ -1201,7 +1201,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.DELETE_PRINTER:
case SliceSettingData.DataEditTypes.DELETE_PRINTER:
{
// This is a place holder type to allow us to put in the control that will allow the deletion of a printer profile
TextImageButtonFactory buttonFactory = new TextImageButtonFactory();
@ -1228,7 +1228,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.LIST:
case SliceSettingData.DataEditTypes.LIST:
{
var selectableOptions = new DropDownList("None", maxHeight: 200)
{
@ -1265,7 +1265,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.HARDWARE_PRESENT:
case SliceSettingData.DataEditTypes.HARDWARE_PRESENT:
{
var checkBoxWidget = new CheckBox("")
{
@ -1296,7 +1296,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.VECTOR2:
case SliceSettingData.DataEditTypes.VECTOR2:
{
string[] xyValueStrings = sliceSettingValue.Split(',');
if (xyValueStrings.Length != 2)
@ -1376,7 +1376,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
break;
case OrganizerSettingsData.DataEditTypes.OFFSET2:
case SliceSettingData.DataEditTypes.OFFSET2:
{
Vector2 offset = ActiveSliceSettings.Instance.ExtruderOffset(extruderIndex);
@ -1536,7 +1536,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return container;
}
private static void AddComMenuItems(OrganizerSettingsData settingData, SettingsLayer persistenceLayer, SettingsRow settingsRow, DropDownList selectableOptions)
private static void AddComMenuItems(SliceSettingData settingData, SettingsLayer persistenceLayer, SettingsRow settingsRow, DropDownList selectableOptions)
{
selectableOptions.MenuItems.Clear();
string machineSpecificComPortValue = ActiveSliceSettings.Instance.ComPort();
@ -1600,7 +1600,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return imageBuffer;
}
private static GuiWidget CreateQuickMenu(OrganizerSettingsData settingData, SettingsLayer persistenceLayer, GuiWidget content, InternalTextEditWidget internalTextWidget, List<SettingsLayer> layerCascade)
private static GuiWidget CreateQuickMenu(SliceSettingData settingData, SettingsLayer persistenceLayer, GuiWidget content, InternalTextEditWidget internalTextWidget, List<SettingsLayer> layerCascade)
{
string sliceSettingValue = GetActiveValue(settingData.SlicerConfigName, layerCascade);
FlowLayoutWidget totalContent = new FlowLayoutWidget();

View file

@ -2443,4 +2443,4 @@
"ResetAtEndOfPrint": false,
"DefaultValue": "0"
}
]
]

View file

@ -4996,12 +4996,6 @@ Translated:Replace current printer profile
English:Import Settings
Translated:Import Settings
English:The layers at which the print will pause, allowing for a change in filament. Leave blank to disable. To pause on multiple layers, separate the layer numbers with semicolons. For example: "16; 37".
Translated:The layers at which the print will pause, allowing for a change in filament. Leave blank to disable. To pause on multiple layers, separate the layer numbers with semicolons. For example: "16; 37".
English:Layers To Pause:
Translated:Layers To Pause:
English:Add as a new quality preset
Translated:Add as a new quality preset
English:Oops! Please select a serial port.
Translated:Oops! Please select a serial port.

@ -1 +1 @@
Subproject commit dc4ba2923f3e731a6828df0ba3e20fbc93157227
Subproject commit a78c996079a66ccfdb6e03cc9c26a41b72aa0164