Editor/TodoCookies.cs
using System.Collections.Generic;
using System.Text;
using Todo.CodeImport;
using Todo.List;
namespace Todo;
public sealed class TodoCookies
{
public List<TodoEntry> Datas;
public List<TodoCodeWord> CodeWords;
public Dictionary<string, bool> GroupsState;
public bool ShowManualEntries;
public bool ShowCodeEntries;
public bool ReloadOnHotload;
public bool UnCollapseGroupsOnSearch;
public string DefaultGroupName;
public string LastSearch;
string SettingCookie;
public TodoCookies()
{
SettingCookie = GetCookie();
Load();
}
public void Save()
{
ProjectCookie.Set( $"{SettingCookie}.List", Datas );
ProjectCookie.Set( $"{SettingCookie}.Groups", GroupsState );
ProjectCookie.Set( $"{SettingCookie}.ShowManual", ShowManualEntries );
ProjectCookie.Set( $"{SettingCookie}.ShowCode", ShowCodeEntries );
ProjectCookie.Set( $"{SettingCookie}.CodeWords", CodeWords );
ProjectCookie.Set( $"{SettingCookie}.ReloadOnHotload", ReloadOnHotload );
ProjectCookie.Set( $"{SettingCookie}.CollapseGroupsOnSearch", UnCollapseGroupsOnSearch );
ProjectCookie.Set( $"{SettingCookie}.DefaultGroupName", DefaultGroupName );
ProjectCookie.Set( $"{SettingCookie}.LastSearch", LastSearch );
}
public void Load()
{
Datas = ProjectCookie.Get( $"{SettingCookie}.List", new List<TodoEntry>() );
GroupsState = ProjectCookie.Get( $"{SettingCookie}.Groups", new Dictionary<string, bool>() );
ShowManualEntries = ProjectCookie.Get( $"{SettingCookie}.ShowManual", true );
ShowCodeEntries = ProjectCookie.Get( $"{SettingCookie}.ShowCode", false );
CodeWords = ProjectCookie.Get( $"{SettingCookie}.CodeWords", TodoCodeWord.GetDefault() );
ReloadOnHotload = ProjectCookie.Get( $"{SettingCookie}.ReloadOnHotload", true );
UnCollapseGroupsOnSearch = ProjectCookie.Get( $"{SettingCookie}.CollapseGroupsOnSearch", true );
DefaultGroupName = ProjectCookie.Get( $"{SettingCookie}.DefaultGroupName", "Default" );
LastSearch = ProjectCookie.Get( $"{SettingCookie}.LastSearch", "" );
}
private string GetCookie()
{
StringBuilder cookie = new StringBuilder( "Jammees.TodoList" );
return cookie.ToString();
}
}