Fixing materials open dialog
This commit is contained in:
parent
fc64b45978
commit
3f4d5aac6f
3 changed files with 29 additions and 30 deletions
|
|
@ -85,10 +85,11 @@ namespace MatterHackers.MatterControl.Library
|
|||
{
|
||||
var name = bedConfig.Printer.PrinterName;
|
||||
var mcxPath = "";
|
||||
var startTime = UiThread.CurrentTimerMs;
|
||||
var tries = 0;
|
||||
// try to get a valid filename for up to 3 seconds (3 tries at an unused filename)
|
||||
while (File.Exists(mcxPath)
|
||||
&& UiThread.CurrentTimerMs < startTime + 3000)
|
||||
while (string.IsNullOrEmpty(mcxPath)
|
||||
|| (File.Exists(mcxPath)
|
||||
&& tries < 20))
|
||||
{
|
||||
string now = DateTime.Now.ToString("yyyy-MM-dd HH_mm_ss");
|
||||
var filename = ApplicationController.Instance.SanitizeFileName($"{name} - {now}.mcx");
|
||||
|
|
|
|||
|
|
@ -349,31 +349,35 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
Action = () =>
|
||||
{
|
||||
AggContext.FileDialogs.OpenFileDialog(
|
||||
new OpenFileDialogParams("settings files|*.printer,*.material"),
|
||||
new OpenFileDialogParams("settings files|*.printer;*.material"),
|
||||
(dialogParams) =>
|
||||
{
|
||||
// if there is only a single materials setting load it directly
|
||||
var settingsToImport = PrinterSettings.LoadFile(dialogParams.FileName);
|
||||
if (Path.GetExtension(dialogParams.FileName).ToLower() == ".material"
|
||||
&& settingsToImport.MaterialLayers.Count == 1)
|
||||
if (!string.IsNullOrEmpty(dialogParams.FileName))
|
||||
{
|
||||
var printerSettingsLayer = new PrinterSettingsLayer();
|
||||
var sourceFilter = new List<PrinterSettingsLayer>()
|
||||
// if there is only a single materials setting load it directly
|
||||
var settingsToImport = PrinterSettings.LoadFile(dialogParams.FileName);
|
||||
if (Path.GetExtension(dialogParams.FileName).ToLower() == ".material"
|
||||
&& settingsToImport.MaterialLayers.Count == 1)
|
||||
{
|
||||
settingsToImport.MaterialLayers[0]
|
||||
};
|
||||
printer.Settings.Merge(printerSettingsLayer, settingsToImport, sourceFilter, true);
|
||||
printer.Settings.MaterialLayers.Add(printerSettingsLayer);
|
||||
var newMaterial = printer.Settings.MaterialLayers[printer.Settings.MaterialLayers.Count - 1];
|
||||
printer.Settings.SetValue(SettingsKey.active_material_key, newMaterial.LayerID);
|
||||
var printerSettingsLayer = new PrinterSettingsLayer();
|
||||
var sourceFilter = new List<PrinterSettingsLayer>()
|
||||
{
|
||||
settingsToImport.MaterialLayers[0]
|
||||
};
|
||||
|
||||
printer.Settings.Merge(printerSettingsLayer, settingsToImport, sourceFilter, true);
|
||||
printer.Settings.MaterialLayers.Add(printerSettingsLayer);
|
||||
var newMaterial = printer.Settings.MaterialLayers[printer.Settings.MaterialLayers.Count - 1];
|
||||
printer.Settings.SetValue(SettingsKey.active_material_key, newMaterial.LayerID);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// else open a dialog to select what setting to improt
|
||||
if (!string.IsNullOrEmpty(dialogParams.FileName))
|
||||
}
|
||||
else
|
||||
{
|
||||
DialogWindow.Show(new ImportSettingsPage(dialogParams.FileName, printer));
|
||||
// else open a dialog to select what setting to import
|
||||
if (!string.IsNullOrEmpty(dialogParams.FileName))
|
||||
{
|
||||
DialogWindow.Show(new ImportSettingsPage(dialogParams.FileName, printer));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -334,6 +334,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
Padding = new BorderDouble(0, 7),
|
||||
};
|
||||
|
||||
#if false
|
||||
// buttons for the control of defaults
|
||||
var topButtonData = new (string, string)[]
|
||||
{
|
||||
|
|
@ -342,14 +343,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
(nameof(Hide_All), "Hide All".Localize()),
|
||||
};
|
||||
|
||||
#if false
|
||||
var startingValue = operationGroup.Collapse ? nameof(Collapsed) : nameof(Expanded);
|
||||
if (!operationGroup.Visible)
|
||||
{
|
||||
startingValue = nameof(Hidden);
|
||||
}
|
||||
|
||||
popupMenu.CreateButtonSelectMenuItem(operationGroup.Title, buttonData, startingValue, (value) =>
|
||||
popupMenu.CreateButtonSelectMenuItem("Group Setings".Localize(), topButtonData, nameof(Default), (value) =>
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue