From 89dd160ff86564088496e019f663f05d3db35881 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Fri, 29 Apr 2016 14:52:46 -0700 Subject: [PATCH 1/4] Consolidate repeated behavior for clarity --- SlicerConfiguration/SliceSettingsOrganizer.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SlicerConfiguration/SliceSettingsOrganizer.cs b/SlicerConfiguration/SliceSettingsOrganizer.cs index ad79a88b6..a170694ef 100644 --- a/SlicerConfiguration/SliceSettingsOrganizer.cs +++ b/SlicerConfiguration/SliceSettingsOrganizer.cs @@ -304,31 +304,31 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { if (line.Length > 0) { + string sanitizedLine = line.Replace('"', ' ').Trim(); switch (CountLeadingSpaces(line)) { case 0: - string userLevelText = line.Replace('"', ' ').Trim(); - userLevelToAddTo = new OrganizerUserLevel(userLevelText); - UserLevels.Add(userLevelText, userLevelToAddTo); + userLevelToAddTo = new OrganizerUserLevel(sanitizedLine); + UserLevels.Add(sanitizedLine, userLevelToAddTo); break; case 2: - categoryToAddTo = new OrganizerCategory(line.Replace('"', ' ').Trim()); + categoryToAddTo = new OrganizerCategory(sanitizedLine); userLevelToAddTo.CategoriesList.Add(categoryToAddTo); break; case 4: - groupToAddTo = new OrganizerGroup(line.Replace('"', ' ').Trim()); + groupToAddTo = new OrganizerGroup(sanitizedLine); categoryToAddTo.GroupsList.Add(groupToAddTo); break; case 6: - subGroupToAddTo = new OrganizerSubGroup(line.Replace('"', ' ').Trim()); + subGroupToAddTo = new OrganizerSubGroup(sanitizedLine); groupToAddTo.SubGroupsList.Add(subGroupToAddTo); break; case 8: - OrganizerSettingsData data = GetSettingsData(line.Replace('"', ' ').Trim()); + OrganizerSettingsData data = GetSettingsData(sanitizedLine); if (data != null) { subGroupToAddTo.SettingDataList.Add(data); From f4efb4f71e6c90d5ee389a6e64bfee309605f1c5 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Fri, 29 Apr 2016 15:00:10 -0700 Subject: [PATCH 2/4] Clean up kvp use --- .../PrinterConnectionAndCommunication.cs | 8 ++++---- SlicerConfiguration/Settings/SettingsProfile.cs | 16 ++++++++-------- SlicerConfiguration/SliceSettingsWidget.cs | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/PrinterCommunication/PrinterConnectionAndCommunication.cs b/PrinterCommunication/PrinterConnectionAndCommunication.cs index 6e0266c5e..31a4b5415 100644 --- a/PrinterCommunication/PrinterConnectionAndCommunication.cs +++ b/PrinterCommunication/PrinterConnectionAndCommunication.cs @@ -1315,16 +1315,16 @@ namespace MatterHackers.MatterControl.PrinterCommunication // TODO: Shouldn't this logic be in the UI layer where the controls are owned and hooked in via PrintFinished? bool oneOrMoreValuesReset = false; - foreach (var kvp in ActiveSliceSettings.Instance.BaseLayer) + foreach (var keyValue in ActiveSliceSettings.Instance.BaseLayer) { - string currentValue = ActiveSliceSettings.Instance.ActiveValue(kvp.Key); + string currentValue = ActiveSliceSettings.Instance.ActiveValue(keyValue.Key); bool valueIsClear = currentValue == "0" | currentValue == ""; - OrganizerSettingsData data = SliceSettingsOrganizer.Instance.GetSettingsData(kvp.Key); + OrganizerSettingsData data = SliceSettingsOrganizer.Instance.GetSettingsData(keyValue.Key); if (data?.ResetAtEndOfPrint == true && !valueIsClear) { oneOrMoreValuesReset = true; - ActiveSliceSettings.Instance.ClearValue(kvp.Key); + ActiveSliceSettings.Instance.ClearValue(keyValue.Key); } } diff --git a/SlicerConfiguration/Settings/SettingsProfile.cs b/SlicerConfiguration/Settings/SettingsProfile.cs index 6e43fc6e3..65cb65756 100644 --- a/SlicerConfiguration/Settings/SettingsProfile.cs +++ b/SlicerConfiguration/Settings/SettingsProfile.cs @@ -622,10 +622,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { var bigStringForHashCode = new StringBuilder(); - foreach (var kvp in this.BaseLayer) + foreach (var keyValue in this.BaseLayer) { - string activeValue = ActiveValue(kvp.Key); - bigStringForHashCode.Append(kvp.Key); + string activeValue = ActiveValue(keyValue.Key); + bigStringForHashCode.Append(keyValue.Key); bigStringForHashCode.Append(activeValue); } @@ -638,14 +638,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { using (var outstream = new StreamWriter(fileName)) { - foreach (var kvp in this.BaseLayer) + foreach (var keyValue in this.BaseLayer) { - string activeValue = ActiveValue(kvp.Key); + string activeValue = ActiveValue(keyValue.Key); if (replaceMacroValues) { activeValue = GCodeProcessing.ReplaceMacroValues(activeValue); } - outstream.Write(string.Format("{0} = {1}\n", kvp.Key, activeValue)); + outstream.Write(string.Format("{0} = {1}\n", keyValue.Key, activeValue)); activeValue = GCodeProcessing.ReplaceMacroValues(activeValue); } } @@ -1028,9 +1028,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public SettingsLayer(Dictionary settingsDictionary) { - foreach(var kvp in settingsDictionary) + foreach(var keyValue in settingsDictionary) { - this[kvp.Key] = kvp.Value; + this[keyValue.Key] = keyValue.Value; } } diff --git a/SlicerConfiguration/SliceSettingsWidget.cs b/SlicerConfiguration/SliceSettingsWidget.cs index 2698bd5a1..86e5815b4 100644 --- a/SlicerConfiguration/SliceSettingsWidget.cs +++ b/SlicerConfiguration/SliceSettingsWidget.cs @@ -521,11 +521,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration FlowLayoutWidget topToBottomSettings = new FlowLayoutWidget(FlowDirection.TopToBottom); topToBottomSettings.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth; - foreach (var kvp in ActiveSliceSettings.Instance.BaseLayer) + foreach (var keyValue in ActiveSliceSettings.Instance.BaseLayer) { - if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, kvp.Key)) + if (!SliceSettingsOrganizer.Instance.Contains(UserLevel, keyValue.Key)) { - OrganizerSettingsData settingInfo = new OrganizerSettingsData(kvp.Key, kvp.Key, OrganizerSettingsData.DataEditTypes.STRING); + OrganizerSettingsData settingInfo = new OrganizerSettingsData(keyValue.Key, keyValue.Key, OrganizerSettingsData.DataEditTypes.STRING); if (ActiveSliceSettings.Instance.ActiveSliceEngine().MapContains(settingInfo.SlicerConfigName)) { GuiWidget controlsForThisSetting = CreateSettingInfoUIControls(settingInfo, rightContentWidth, 0); From ce3144251e241b56387def310397c58e7be36a9a Mon Sep 17 00:00:00 2001 From: John Lewin Date: Fri, 29 Apr 2016 15:22:09 -0700 Subject: [PATCH 3/4] Add ComPort to settings --- SlicerConfiguration/SlicerMapping/EngineMapingBase.cs | 1 + StaticData/PrinterSettings/config.ini | 1 + StaticData/SliceSettings/Layouts.txt | 1 + StaticData/SliceSettings/Properties.json | 7 +++++++ 4 files changed, 10 insertions(+) diff --git a/SlicerConfiguration/SlicerMapping/EngineMapingBase.cs b/SlicerConfiguration/SlicerMapping/EngineMapingBase.cs index 29b2d0095..4238ba0d8 100644 --- a/SlicerConfiguration/SlicerMapping/EngineMapingBase.cs +++ b/SlicerConfiguration/SlicerMapping/EngineMapingBase.cs @@ -54,6 +54,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration "has_power_control", "has_sd_card_reader", "MatterControl.BaudRate", + "MatterControl.ComPort", "manual_probe_paper_width", "pause_gcode", "print_leveling_method", diff --git a/StaticData/PrinterSettings/config.ini b/StaticData/PrinterSettings/config.ini index df93063de..9aa9ba14b 100644 --- a/StaticData/PrinterSettings/config.ini +++ b/StaticData/PrinterSettings/config.ini @@ -75,6 +75,7 @@ layer_gcode = ; LAYER:[layer_num] layer_height = 0.4 layer_to_pause = MatterControl.BaudRate = 250000 +MatterControl.ComPort = max_fan_speed = 100 min_extrusion_before_retract = .1 min_fan_speed = 35 diff --git a/StaticData/SliceSettings/Layouts.txt b/StaticData/SliceSettings/Layouts.txt index a4bfd5c05..0ea2b5c86 100644 --- a/StaticData/SliceSettings/Layouts.txt +++ b/StaticData/SliceSettings/Layouts.txt @@ -275,6 +275,7 @@ Advanced z_homes_to_max Firmware MatterControl.BaudRate + MatterControl.ComPort z_can_be_negative gcode_flavor use_relative_e_distances diff --git a/StaticData/SliceSettings/Properties.json b/StaticData/SliceSettings/Properties.json index 155af84d0..358237e1a 100644 --- a/StaticData/SliceSettings/Properties.json +++ b/StaticData/SliceSettings/Properties.json @@ -1223,6 +1223,13 @@ "DataEditType": "INT", "ExtraSettings": "" }, + { + "SlicerConfigName": "MatterControl.ComPort", + "PresentationName": "ComPort", + "HelpText": "", + "DataEditType": "STRING", + "ExtraSettings": "" + }, { "SlicerConfigName": "vibration_limit", "PresentationName": "Vibration Limit", From 6d7fd10c0a0c9364d6afed85e287dccf87fcba8f Mon Sep 17 00:00:00 2001 From: John Lewin Date: Fri, 29 Apr 2016 15:29:31 -0700 Subject: [PATCH 4/4] Hookup Add New Printer action --- ActionBar/PrinterSelector.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ActionBar/PrinterSelector.cs b/ActionBar/PrinterSelector.cs index 5b76cab3c..584e44455 100644 --- a/ActionBar/PrinterSelector.cs +++ b/ActionBar/PrinterSelector.cs @@ -29,7 +29,9 @@ either expressed or implied, of the FreeBSD Project. using MatterHackers.Agg.ImageProcessing; using MatterHackers.Agg.PlatformAbstract; +using MatterHackers.Agg.UI; using MatterHackers.Localizations; +using MatterHackers.MatterControl.PrinterControls.PrinterConnections; using MatterHackers.MatterControl.SlicerConfiguration; namespace MatterHackers.MatterControl @@ -62,7 +64,7 @@ namespace MatterHackers.MatterControl } else if(this.SelectedValue == "new") { - int a = 0; + UiThread.RunOnIdle(ConnectionWizard.Show); } }; }