2024-05-04 09:08:18 +00:00
|
|
|
using AIStudio.Settings;
|
|
|
|
|
|
|
|
namespace AIStudio.Components;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// A data structure to map a name to a value.
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="Name">The name of the value, to be displayed in the UI.</param>
|
|
|
|
/// <param name="Value">The value to be stored.</param>
|
|
|
|
/// <typeparam name="T">The type of the value to store.</typeparam>
|
|
|
|
public readonly record struct ConfigurationSelectData<T>(string Name, T Value);
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// A static factory class to get the lists of selectable values.
|
|
|
|
/// </summary>
|
|
|
|
public static class ConfigurationSelectDataFactory
|
|
|
|
{
|
|
|
|
public static IEnumerable<ConfigurationSelectData<SendBehavior>> GetSendBehaviorData()
|
|
|
|
{
|
|
|
|
yield return new("No key is sending the input", SendBehavior.NO_KEY_IS_SENDING);
|
|
|
|
yield return new("Modifier key + enter is sending the input", SendBehavior.MODIFER_ENTER_IS_SENDING);
|
|
|
|
yield return new("Enter is sending the input", SendBehavior.ENTER_IS_SENDING);
|
|
|
|
}
|
2024-06-30 13:26:28 +00:00
|
|
|
|
|
|
|
public static IEnumerable<ConfigurationSelectData<UpdateBehavior>> GetUpdateBehaviorData()
|
|
|
|
{
|
|
|
|
yield return new("No automatic update checks", UpdateBehavior.NO_CHECK);
|
|
|
|
yield return new("Once at startup", UpdateBehavior.ONCE_STARTUP);
|
|
|
|
yield return new("Check every hour", UpdateBehavior.HOURLY);
|
|
|
|
yield return new("Check every day", UpdateBehavior.DAILY);
|
|
|
|
yield return new ("Check every week", UpdateBehavior.WEEKLY);
|
|
|
|
}
|
2024-05-04 09:08:18 +00:00
|
|
|
}
|