//
// FileDialog.cs: File system dialogs for open and save
//
// TODO:
// * Add directory selector
// * Implement subclasses
// * Figure out why message text does not show
// * Remove the extra space when message does not show
// * Use a line separator to show the file listing, so we can use same colors as the rest
// * DirListView: Add mouse support
using System;
using System.Collections.Generic;
using NStack;
using Terminal.Gui.Resources;
namespace Terminal.Gui {
///
/// The provides an interactive dialog box for users to pick a file to
/// save.
///
///
///
/// To use, create an instance of , and pass it to
/// . This will run the dialog modally,
/// and when this returns, the property will contain the selected file name or
/// null if the user canceled.
///
///
public class SaveDialog : FileDialog {
///
/// Initializes a new .
///
public SaveDialog () : this (title: string.Empty) { }
///
/// Initializes a new .
///
/// The title.
/// The allowed types.
public SaveDialog (ustring title, List allowedTypes = null)
{
//: base (title, prompt: Strings.fdSave, nameFieldLabel: $"{Strings.fdSaveAs}:", message: message, allowedTypes) { }
Title = title;
Style.OkButtonText = Strings.fdSave;
if(allowedTypes != null) {
AllowedTypes = allowedTypes;
}
}
///
/// Gets the name of the file the user selected for saving, or null
/// if the user canceled the .
///
/// The name of the file.
public ustring FileName {
get {
if (Canceled)
return null;
return Path;
}
}
}
}