From 3f4d5aac6f46b5c2d4cf8031fe4d55a5440ee396 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Thu, 24 Mar 2022 10:28:37 -0700 Subject: [PATCH] Fixing materials open dialog --- .../MatterControl/PlatingHistoryContainer.cs | 7 ++-- .../View3D/PrinterBar/PrinterActionsBar.cs | 42 ++++++++++--------- .../PartPreviewWindow/ViewToolBarControls.cs | 10 +---- 3 files changed, 29 insertions(+), 30 deletions(-) diff --git a/MatterControlLib/Library/Providers/MatterControl/PlatingHistoryContainer.cs b/MatterControlLib/Library/Providers/MatterControl/PlatingHistoryContainer.cs index f2209bf37..a34ee5447 100644 --- a/MatterControlLib/Library/Providers/MatterControl/PlatingHistoryContainer.cs +++ b/MatterControlLib/Library/Providers/MatterControl/PlatingHistoryContainer.cs @@ -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"); diff --git a/MatterControlLib/PartPreviewWindow/View3D/PrinterBar/PrinterActionsBar.cs b/MatterControlLib/PartPreviewWindow/View3D/PrinterBar/PrinterActionsBar.cs index 76e82b590..98d4473e6 100644 --- a/MatterControlLib/PartPreviewWindow/View3D/PrinterBar/PrinterActionsBar.cs +++ b/MatterControlLib/PartPreviewWindow/View3D/PrinterBar/PrinterActionsBar.cs @@ -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() + // 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() + { + 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)); + } } } }); diff --git a/MatterControlLib/PartPreviewWindow/ViewToolBarControls.cs b/MatterControlLib/PartPreviewWindow/ViewToolBarControls.cs index 4693b16a4..bf49ffb20 100644 --- a/MatterControlLib/PartPreviewWindow/ViewToolBarControls.cs +++ b/MatterControlLib/PartPreviewWindow/ViewToolBarControls.cs @@ -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) {