Added more menus for library handling.

This commit is contained in:
Lars Brubaker 2015-08-03 17:31:53 -07:00
parent f43860c00f
commit 3435cb611e
4 changed files with 68 additions and 4 deletions

View file

@ -14,9 +14,17 @@ namespace MatterHackers.MatterControl
{ {
public class MenuOptionFile : MenuBase public class MenuOptionFile : MenuBase
{ {
private static CreateFolderWindow createFolderWindow = null;
public static MenuOptionFile CurrentMenuOptionFile = null;
public event EventHandler<StringEventArgs> AddLocalFolderToLibrary;
public EventHandler RedeemDesignCode;
public MenuOptionFile() public MenuOptionFile()
: base("File".Localize()) : base("File".Localize())
{ {
CurrentMenuOptionFile = this;
} }
override protected TupleList<string, Func<bool>> GetMenuItems() override protected TupleList<string, Func<bool>> GetMenuItems()
@ -25,7 +33,8 @@ namespace MatterHackers.MatterControl
{ {
{"Add Printer".Localize(), addPrinter_Click}, {"Add Printer".Localize(), addPrinter_Click},
{"Add File To Queue".Localize(), importFile_Click}, {"Add File To Queue".Localize(), importFile_Click},
{"Add Folder To Library".Localize(), addFolderToLibrar_Click}, {"Add Local Folder To Library".Localize(), addFolderToLibrar_Click},
{"Redeem Design Code".Localize(), redeemDesignCode_Click},
{"------------------------", nothing_Click}, {"------------------------", nothing_Click},
{"Exit".Localize(), exit_Click}, {"Exit".Localize(), exit_Click},
}; };
@ -36,9 +45,33 @@ namespace MatterHackers.MatterControl
return true; return true;
} }
private bool redeemDesignCode_Click()
{
if (RedeemDesignCode != null)
{
RedeemDesignCode(this, null);
}
return true;
}
private bool addFolderToLibrar_Click() private bool addFolderToLibrar_Click()
{ {
//AddCollectionToLibrary(string collectionName); if (AddLocalFolderToLibrary != null)
{
if (createFolderWindow == null)
{
createFolderWindow = new CreateFolderWindow((returnInfo) =>
{
AddLocalFolderToLibrary(this, new StringEventArgs(returnInfo.newName));
});
createFolderWindow.Closed += (sender2, e2) => { createFolderWindow = null; };
}
else
{
createFolderWindow.BringToFront();
}
}
return true; return true;
} }

View file

@ -127,6 +127,11 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
} }
} }
public void ChangeName(string newName)
{
description = newName;
}
public override string Name { get { return description; } } public override string Name { get { return description; } }
public override string ProviderData public override string ProviderData

View file

@ -55,6 +55,8 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
List<ImageBuffer> folderImagesForChildren = new List<ImageBuffer>(); List<ImageBuffer> folderImagesForChildren = new List<ImageBuffer>();
int firstAddedDirectoryIndex;
public LibraryProviderSelector(Action<LibraryProvider> setCurrentLibraryProvider) public LibraryProviderSelector(Action<LibraryProvider> setCurrentLibraryProvider)
: base(null) : base(null)
{ {
@ -102,6 +104,13 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
AddFolderImage("download_folder.png"); AddFolderImage("download_folder.png");
} }
firstAddedDirectoryIndex = libraryProviders.Count;
MenuOptionFile.CurrentMenuOptionFile.AddLocalFolderToLibrary += (sender, e) =>
{
AddCollectionToLibrary(e.Data);
};
this.FilterProviders(); this.FilterProviders();
} }
@ -124,7 +133,16 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
public override void RenameCollection(int collectionIndexToRename, string newName) public override void RenameCollection(int collectionIndexToRename, string newName)
{ {
throw new NotImplementedException(); if (collectionIndexToRename >= firstAddedDirectoryIndex
&& libraryProviders[collectionIndexToRename].Name != newName)
{
LibraryProviderFileSystem addedProvider = libraryProviders[collectionIndexToRename] as LibraryProviderFileSystem;
if (addedProvider != null)
{
addedProvider.ChangeName(newName);
UiThread.RunOnIdle(() => OnDataReloaded(null));
}
}
} }
public override void RenameItem(int itemIndexToRename, string newName) public override void RenameItem(int itemIndexToRename, string newName)
@ -254,7 +272,9 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
public override void RemoveCollection(int collectionIndexToRemove) public override void RemoveCollection(int collectionIndexToRemove)
{ {
throw new NotImplementedException(); libraryProviders.RemoveAt(collectionIndexToRemove);
UiThread.RunOnIdle(() => OnDataReloaded(null));
} }
public override void RemoveItem(int itemToRemoveIndex) public override void RemoveItem(int itemToRemoveIndex)

View file

@ -3523,3 +3523,9 @@ Translated:Add Folder To Library
English:Using the above controls English:Using the above controls
Translated:Using the above controls Translated:Using the above controls
English:Add Local Folder To Library
Translated:Add Local Folder To Library
English:Redeem Design Code
Translated:Redeem Design Code