using System.Collections.Generic;
using System.Drawing;

namespace AppLauncher.Models
{
    public class LauncherSession
    {
        public class HotKeyOptions
        {
            public bool IsCtrl { get; set; } = false;
            public bool IsAlt { get; set; } = false;
            public bool IsShift { get; set; } = false;
            public int Key { get; set; } = (int)System.Windows.Forms.Keys.None;

            public int ModifierCode => ((this.IsAlt ? 1 : 0) + (this.IsCtrl ? 2 : 0) + (this.IsShift ? 4 : 0));

            public System.Windows.Forms.Keys KeyCode => (System.Windows.Forms.Keys)this.Key;
        }

        public enum AutoSaveOption
        {
            Prompt = 0,
            Yes,
            No
        }

        public int DefaultHeight { get; set; } = 280;
        public HotKeyOptions HotKey { get; set; } = null;

        public bool AlwaysOnTop { get; set; } = false;
        public bool EnableAnimation { get; set; } = false;
        public bool EnableBigIconInFolder { get; set; } = false;

        public bool HideOnClose { get; set; } = false;
        public bool HideOnClick { get; set; } = false;
        public AutoSaveOption AutoSave { get; set; } =  AutoSaveOption.Prompt;
        public List<TileGroupModel> Groups { get; set; } = new List<TileGroupModel>();
        public Point StartPosition { get; set; } = Point.Empty;

    }
}