Improved save as dialog
This commit is contained in:
parent
8713c8656e
commit
284cbce471
4 changed files with 72 additions and 11 deletions
|
|
@ -820,7 +820,10 @@ namespace MatterHackers.MatterControl
|
|||
() => "History".Localize(),
|
||||
AggContext.StaticData.LoadIcon(Path.Combine("Library", "folder.png")),
|
||||
AggContext.StaticData.LoadIcon(Path.Combine("Library", "history_icon.png")),
|
||||
() => new RootHistoryContainer()));
|
||||
() => new RootHistoryContainer())
|
||||
{
|
||||
IsReadOnly = true
|
||||
});
|
||||
|
||||
// Create a new library context for the SaveAs view
|
||||
this.LibraryTabContext = new LibraryConfig()
|
||||
|
|
|
|||
|
|
@ -102,7 +102,10 @@ namespace MatterHackers.MatterControl.Library
|
|||
() => "Pipe Works".Localize(),
|
||||
AggContext.StaticData.LoadIcon(Path.Combine("Library", "folder.png")),
|
||||
null,
|
||||
() => new PipeWorksContainer()));
|
||||
() => new PipeWorksContainer())
|
||||
{
|
||||
IsReadOnly = true
|
||||
});
|
||||
|
||||
int index = 0;
|
||||
|
||||
|
|
@ -146,7 +149,10 @@ namespace MatterHackers.MatterControl.Library
|
|||
})
|
||||
{ DateCreated = new System.DateTime(index++) },
|
||||
}
|
||||
}));
|
||||
})
|
||||
{
|
||||
IsReadOnly = true
|
||||
});
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,10 @@ namespace MatterHackers.MatterControl
|
|||
};
|
||||
itemNameWidget.ActualTextEditWidget.EnterPressed += (s, e) =>
|
||||
{
|
||||
acceptButton.InvokeClick();
|
||||
if (librarySelectorWidget.ActiveContainer is ILibraryWritableContainer)
|
||||
{
|
||||
acceptButton.InvokeClick();
|
||||
}
|
||||
};
|
||||
contentRow.AddChild(itemNameWidget);
|
||||
|
||||
|
|
@ -76,23 +79,68 @@ namespace MatterHackers.MatterControl
|
|||
isEnabled = writableContainer?.AllowAction(ContainerActions.AddContainers) == true;
|
||||
}
|
||||
|
||||
var folderButtonRow = new FlowLayoutWidget()
|
||||
{
|
||||
HAnchor = HAnchor.Left | HAnchor.Fit,
|
||||
};
|
||||
contentRow.AddChild(folderButtonRow);
|
||||
|
||||
// add a create folder button
|
||||
var createFolderButton = new TextIconButton("Create Folder".Localize(), icon, theme)
|
||||
{
|
||||
Enabled = isEnabled,
|
||||
HAnchor = HAnchor.Left,
|
||||
VAnchor = VAnchor.Absolute,
|
||||
DrawIconOverlayOnDisabled = true
|
||||
};
|
||||
createFolderButton.Name = "Create Folder In Button";
|
||||
folderButtonRow.AddChild(createFolderButton);
|
||||
|
||||
var refreshButton = new IconButton(AggContext.StaticData.LoadIcon("fa-refresh_14.png", 16, 16, theme.InvertIcons), theme)
|
||||
{
|
||||
ToolTipText = "Refresh Folder".Localize(),
|
||||
Enabled = isEnabled,
|
||||
};
|
||||
refreshButton.Click += (s, e) =>
|
||||
{
|
||||
librarySelectorWidget.ActiveContainer.Load();
|
||||
};
|
||||
|
||||
// folderButtonRow.AddChild(refreshButton);
|
||||
|
||||
createFolderButton.Click += CreateFolder_Click;
|
||||
|
||||
// add a message to navigate to a writable folder
|
||||
var writableMessage = new TextWidget("Please select a writable folder".Localize(), pointSize: theme.DefaultFontSize)
|
||||
{
|
||||
TextColor = theme.TextColor,
|
||||
Margin = new BorderDouble(5, 0),
|
||||
VAnchor = VAnchor.Center
|
||||
};
|
||||
footerRow.AddChild(writableMessage, 0);
|
||||
|
||||
footerRow.AddChild(new HorizontalSpacer(), 1);
|
||||
|
||||
// change footer in this context
|
||||
footerRow.HAnchor = HAnchor.Stretch;
|
||||
footerRow.Margin = 0;
|
||||
|
||||
libraryNavContext.ContainerChanged += (s, e) =>
|
||||
{
|
||||
createFolderButton.Enabled = libraryNavContext.ActiveContainer is ILibraryWritableContainer;
|
||||
var writable = libraryNavContext.ActiveContainer is ILibraryWritableContainer;
|
||||
createFolderButton.Enabled = writable;
|
||||
refreshButton.Enabled = writable;
|
||||
writableMessage.Visible = !writable;
|
||||
};
|
||||
}
|
||||
|
||||
createFolderButton.Name = "Create Folder In Button";
|
||||
contentRow.AddChild(createFolderButton);
|
||||
public override void OnKeyDown(KeyEventArgs keyEvent)
|
||||
{
|
||||
if (keyEvent.KeyCode == Keys.F5)
|
||||
{
|
||||
librarySelectorWidget.ActiveContainer.Load();
|
||||
}
|
||||
|
||||
createFolderButton.Click += CreateFolder_Click;
|
||||
base.OnKeyDown(keyEvent);
|
||||
}
|
||||
|
||||
private void CreateFolder_Click(object sender, MouseEventArgs e)
|
||||
|
|
@ -108,7 +156,6 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
if (librarySelectorWidget.ActiveContainer is ILibraryWritableContainer writableContainer)
|
||||
{
|
||||
|
||||
if (!string.IsNullOrEmpty(newName)
|
||||
&& writableContainer != null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -261,10 +261,15 @@ namespace MatterHackers.MatterControl.VersionManagement
|
|||
|
||||
public event EventHandler RequestSucceeded;
|
||||
|
||||
public static void Request(string requestUrl, string[] requestStringPairs)
|
||||
public static void Request(string requestUrl, string[] requestStringPairs, Action requestSucceeded = null)
|
||||
{
|
||||
WebRequestBase tempRequest = new WebRequestBase();
|
||||
|
||||
if (requestSucceeded != null)
|
||||
{
|
||||
tempRequest.RequestSucceeded += (s, e) => requestSucceeded();
|
||||
}
|
||||
|
||||
tempRequest.uri = requestUrl;
|
||||
for (int i = 0; i < requestStringPairs.Length; i += 2)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue