// // FileSetting.cs // // Author: // Michael Becker // // Copyright (c) 2021 Mike Becker's Software // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . using System; namespace MBS.Framework.Settings { public enum FileSettingMode { Open, Save, SelectFolder, CreateFolder } public class FileSetting : TextSetting { public bool RequireExistingFile { get; set; } = true; public FileSettingMode Mode { get; set; } = FileSettingMode.Open; /// /// A semicolon-separated list of glob-style (*.xxx) filters used in the file selection dialog for this . /// /// The file name filter. public string FileNameFilter { get; set; } = null; /// /// Initializes a new instance of the class. /// /// Name. /// Title. /// Default value. /// If set to true require existing file. /// A semicolon-separated list of glob-style (*.xxx) filters used in the file selection dialog for this . public FileSetting(string name, string title, string defaultValue = "", bool requireExistingFile = true, string fileNameFilter = null) : base(name, title, defaultValue) { RequireExistingFile = requireExistingFile; FileNameFilter = fileNameFilter; } } }