Merge pull request #1146 from larsbrubaker/master

Made the override settings editors not change the data about the main…
This commit is contained in:
johnlewin 2016-07-20 15:39:28 -07:00 committed by GitHub
commit 2fc5489dbc
2 changed files with 47 additions and 13 deletions

View file

@ -22,10 +22,19 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
private static string resetToDefaultsMessage = "Resetting to default values will remove your current overrides and restore your original printer settings.\nAre you sure you want to continue?".Localize(); private static string resetToDefaultsMessage = "Resetting to default values will remove your current overrides and restore your original printer settings.\nAre you sure you want to continue?".Localize();
private static string resetToDefaultsWindowTitle = "Revert Settings".Localize(); private static string resetToDefaultsWindowTitle = "Revert Settings".Localize();
public SliceSettingsDetailControl() public SliceSettingsDetailControl(List<PrinterSettingsLayer> layerCascade)
{ {
showHelpBox = new CheckBox(0, 0, "Show Help".Localize(), textSize: 10); showHelpBox = new CheckBox(0, 0, "Show Help".Localize(), textSize: 10)
showHelpBox.Checked = UserSettings.Instance.get(SliceSettingsShowHelpEntry) == "true"; {
VAnchor = VAnchor.ParentCenter,
};
if (layerCascade == null)
{
// only turn of the help if in the main view and it is set to on
showHelpBox.Checked = UserSettings.Instance.get(SliceSettingsShowHelpEntry) == "true";
}
// add in the ability to turn on and off help text // add in the ability to turn on and off help text
showHelpBox.TextColor = ActiveTheme.Instance.PrimaryTextColor; showHelpBox.TextColor = ActiveTheme.Instance.PrimaryTextColor;
showHelpBox.Margin = new BorderDouble(right: 3); showHelpBox.Margin = new BorderDouble(right: 3);
@ -33,7 +42,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
showHelpBox.Cursor = Cursors.Hand; showHelpBox.Cursor = Cursors.Hand;
showHelpBox.CheckedStateChanged += (s, e) => showHelpBox.CheckedStateChanged += (s, e) =>
{ {
UserSettings.Instance.set(SliceSettingsShowHelpEntry, showHelpBox.Checked.ToString().ToLower()); if (layerCascade == null)
{
// only save the help settings if in the main view
UserSettings.Instance.set(SliceSettingsShowHelpEntry, showHelpBox.Checked.ToString().ToLower());
}
ShowHelpChanged?.Invoke(this, null); ShowHelpChanged?.Invoke(this, null);
}; };
@ -44,10 +57,20 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
settingsDetailSelector.AddItem("Basic".Localize(), "Simple"); settingsDetailSelector.AddItem("Basic".Localize(), "Simple");
settingsDetailSelector.AddItem("Standard".Localize(), "Intermediate"); settingsDetailSelector.AddItem("Standard".Localize(), "Intermediate");
settingsDetailSelector.AddItem("Advanced".Localize(), "Advanced"); settingsDetailSelector.AddItem("Advanced".Localize(), "Advanced");
if (UserSettings.Instance.get(SliceSettingsLevelEntry) != null
&& SliceSettingsOrganizer.Instance.UserLevels.ContainsKey(UserSettings.Instance.get(SliceSettingsLevelEntry))) if (layerCascade == null)
{ {
settingsDetailSelector.SelectedValue = UserSettings.Instance.get(SliceSettingsLevelEntry); // set to the user requested value when in default view
if (UserSettings.Instance.get(SliceSettingsLevelEntry) != null
&& SliceSettingsOrganizer.Instance.UserLevels.ContainsKey(UserSettings.Instance.get(SliceSettingsLevelEntry)))
{
settingsDetailSelector.SelectedValue = UserSettings.Instance.get(SliceSettingsLevelEntry);
}
}
else // in settings editor view
{
// set to advanced
settingsDetailSelector.SelectedValue = "Advanced";
} }
settingsDetailSelector.SelectionChanged += (s, e) => RebuildSlicerSettings(null, null); ; settingsDetailSelector.SelectionChanged += (s, e) => RebuildSlicerSettings(null, null); ;
@ -55,8 +78,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
settingsDetailSelector.Margin = new BorderDouble(5, 3); settingsDetailSelector.Margin = new BorderDouble(5, 3);
settingsDetailSelector.BorderColor = new RGBA_Bytes(ActiveTheme.Instance.SecondaryTextColor, 100); settingsDetailSelector.BorderColor = new RGBA_Bytes(ActiveTheme.Instance.SecondaryTextColor, 100);
this.AddChild(settingsDetailSelector); if (layerCascade == null)
this.AddChild(GetSliceOptionsMenuDropList()); {
// only add these in the default view
this.AddChild(settingsDetailSelector);
this.AddChild(GetSliceOptionsMenuDropList());
}
VAnchor = VAnchor.ParentCenter;
} }
public event EventHandler ShowHelpChanged; public event EventHandler ShowHelpChanged;
@ -141,6 +170,5 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
resetToDefaultsWindowTitle, resetToDefaultsWindowTitle,
StyledMessageBox.MessageType.YES_NO); StyledMessageBox.MessageType.YES_NO);
} }
} }
} }

View file

@ -143,7 +143,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
topCategoryTabs.Margin = new BorderDouble(top: 8); topCategoryTabs.Margin = new BorderDouble(top: 8);
topCategoryTabs.AnchorAll(); topCategoryTabs.AnchorAll();
sliceSettingsDetailControl = new SliceSettingsDetailControl(); sliceSettingsDetailControl = new SliceSettingsDetailControl(layerCascade);
List<TabBar> sideTabBarsListForLayout = new List<TabBar>(); List<TabBar> sideTabBarsListForLayout = new List<TabBar>();
for (int topCategoryIndex = 0; topCategoryIndex < SliceSettingsOrganizer.Instance.UserLevels[UserLevel].CategoriesList.Count; topCategoryIndex++) for (int topCategoryIndex = 0; topCategoryIndex < SliceSettingsOrganizer.Instance.UserLevels[UserLevel].CategoriesList.Count; topCategoryIndex++)
@ -216,7 +216,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
string selectedTabName = topCategoryTabs.TabBar.SelectedTabName; string selectedTabName = topCategoryTabs.TabBar.SelectedTabName;
if (!string.IsNullOrEmpty(selectedTabName)) if (!string.IsNullOrEmpty(selectedTabName))
{ {
UserSettings.Instance.set(settingsName, selectedTabName); if (layerCascade == null)
{
UserSettings.Instance.set(settingsName, selectedTabName);
}
} }
}; };
} }
@ -459,7 +462,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
string selectedTabName = leftSideGroupTabs.TabBar.SelectedTabName; string selectedTabName = leftSideGroupTabs.TabBar.SelectedTabName;
if (!string.IsNullOrEmpty(selectedTabName)) if (!string.IsNullOrEmpty(selectedTabName))
{ {
UserSettings.Instance.set(settingsTypeName, selectedTabName); if (layerCascade == null)
{
UserSettings.Instance.set(settingsTypeName, selectedTabName);
}
} }
}; };
} }