private bool RequestActionState(ref ActionState state, string e, string path)
        {
            string input = BackUpProgram.RequestInput("{0} file ({1})?\n[y]es/[n]o/[a]ll/n[o]ne", e, path);

            if (input == "y")
            {
                return(true);
            }
            else if (input == "n")
            {
                return(false);
            }
            else if (input == "a")
            {
                state = ActionState.Yes;
                return(true);
            }
            else if (input == "o")
            {
                state = ActionState.No;
                return(false);
            }

            Console.WriteLine("Invalid Input");
            return(RequestActionState(ref state, e, path));
        }
        public BackUpProgram()
        {
            if (Instance != null)
            {
                throw new Exception("Duplicate Settings Singleton");
            }

            Instance = this;
            settings = new Settings();

            // Initialize Tray Icon
            trayIcon = new NotifyIcon()
            {
                // TODO: Animate icon when backing up? :D
                Icon    = Properties.Resources.AppIcon,
                Visible = true
            };

            Reloadmenu();
        }