diff --git a/MatterControlLib/Library/Interfaces/LibraryExtensionMethods.cs b/MatterControlLib/Library/Interfaces/LibraryExtensionMethods.cs index da03ae02b..be3ce5820 100644 --- a/MatterControlLib/Library/Interfaces/LibraryExtensionMethods.cs +++ b/MatterControlLib/Library/Interfaces/LibraryExtensionMethods.cs @@ -31,6 +31,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; using MatterHackers.DataConverters3D; +using MatterHackers.Localizations; namespace MatterHackers.MatterControl.Library { @@ -99,5 +100,30 @@ namespace MatterHackers.MatterControl.Library var contentProvider = ApplicationController.Instance.Library.GetContentProvider(item) as ISceneContentProvider; return contentProvider?.CreateItem(item, reporter); } + + public static void Rename(this ILibraryContainer libraryContainer, ILibraryItem libraryItem) + { + if (libraryItem == null) + { + return; + } + + var contentProvider = ApplicationController.Instance.Library.GetContentProvider(libraryItem) as ISceneContentProvider; + + DialogWindow.Show( + new InputBoxPage( + "Rename Item".Localize(), + "Name".Localize(), + libraryItem.Name, + "Enter New Name Here".Localize(), + "Rename".Localize(), + (newName) => + { + if (libraryContainer is ILibraryWritableContainer writableContainer) + { + writableContainer.Rename(libraryItem, newName); + } + })); + } } } diff --git a/MatterControlLib/Library/Widgets/LibraryWidget.cs b/MatterControlLib/Library/Widgets/LibraryWidget.cs index 5ece0cfcb..4810128c3 100644 --- a/MatterControlLib/Library/Widgets/LibraryWidget.cs +++ b/MatterControlLib/Library/Widgets/LibraryWidget.cs @@ -931,25 +931,8 @@ namespace MatterHackers.MatterControl.PrintLibrary return; } - DialogWindow.Show( - new InputBoxPage( - "Rename Item".Localize(), - "Name".Localize(), - selectedItem.Model.Name, - "Enter New Name Here".Localize(), - "Rename".Localize(), - (newName) => - { - var model = libraryView.SelectedItems.FirstOrDefault()?.Model; - if (model != null) - { - if (libraryView.ActiveContainer is ILibraryWritableContainer container) - { - container.Rename(model, newName); - libraryView.SelectedItems.Clear(); - } - } - })); + libraryContext.ActiveContainer.Rename(selectedItem.Model); + libraryView.SelectedItems.Clear(); } }, IsEnabled = (selectedListItems, listView) => diff --git a/MatterControlLib/PartPreviewWindow/MainViewWidget.cs b/MatterControlLib/PartPreviewWindow/MainViewWidget.cs index 085c62e5a..a67bb9acc 100644 --- a/MatterControlLib/PartPreviewWindow/MainViewWidget.cs +++ b/MatterControlLib/PartPreviewWindow/MainViewWidget.cs @@ -706,7 +706,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { if (e.Button == MouseButtons.Right) { - AddRightClickTabMenu(tabControl, printerTab, printer, e); + AddRightClickTabMenu(tabControl, printerTab, printer, null, e); } }; @@ -744,7 +744,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow return null; } - private void AddRightClickTabMenu(ChromeTabs tabs, ChromeTab printerTab, PrinterConfig printer, MouseEventArgs mouseEvent) + private void AddRightClickTabMenu(ChromeTabs tabs, ChromeTab printerTab, PrinterConfig printer, PartWorkspace workspace, MouseEventArgs mouseEvent) { var menuTheme = ApplicationController.Instance.MenuTheme; var popupMenu = new PopupMenu(menuTheme); @@ -752,36 +752,27 @@ namespace MatterHackers.MatterControl.PartPreviewWindow var renameMenuItem = popupMenu.CreateMenuItem("Rename".Localize()); renameMenuItem.Click += (s, e) => { - var currentName = ""; - if (printer != null) + if (workspace != null) { - printer.Settings.GetValue(SettingsKey.printer_name); + workspace.LibraryView.ActiveContainer.Rename(workspace.LibraryView.ActiveContainer.Items.FirstOrDefault()); } - else // design tab + else if (printer != null) { - currentName = "Design"; - } - - DialogWindow.Show( - new InputBoxPage( - "Rename Item".Localize(), - "Name".Localize(), - currentName, - "Enter New Name Here".Localize(), - "Rename".Localize(), - (newName) => - { - if (printer != null) + DialogWindow.Show( + new InputBoxPage( + "Rename Item".Localize(), + "Name".Localize(), + printer.Settings.GetValue(SettingsKey.printer_name), + "Enter New Name Here".Localize(), + "Rename".Localize(), + (newName) => { printer.Settings.SetValue(SettingsKey.printer_name, newName); - } - else - { - // do something with design tab - } - })); + })); + } }; + var moveButtons = new FlowLayoutWidget(); var textWidget = new TextWidget("Move Tab", pointSize: theme.DefaultFontSize, textColor: theme.TextColor) @@ -880,7 +871,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { if (e.Button == MouseButtons.Right) { - AddRightClickTabMenu(tabControl, partTab, null, e); + AddRightClickTabMenu(tabControl, partTab, null, workspace, e); } }; diff --git a/Submodules/MatterSlice b/Submodules/MatterSlice index d37d5586b..da8b68d60 160000 --- a/Submodules/MatterSlice +++ b/Submodules/MatterSlice @@ -1 +1 @@ -Subproject commit d37d5586bf98be61039c28a085ccea2d69ab6fa2 +Subproject commit da8b68d60d72b321cef324f80771271a6ca1a702 diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 3a233e880..51b567b83 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 3a233e8809554f0fbe3a6bd938acb51f3303265d +Subproject commit 51b567b838fefc9fce30d4d98ed45b8a1ec8e425