public void LoadDiabloInfoListFromSettings()
        {
            if (Properties.Settings.Default.DiabloSettings != null && Properties.Settings.Default.DiabloSettings.Count > 0)
            {
                string[] settings = new string[Properties.Settings.Default.DiabloSettings.Count];

                for (int i = 0; i < Properties.Settings.Default.DiabloSettings.Count; i++)
                {
                    settings[i] = Properties.Settings.Default.DiabloSettings[i];
                }

                DiabloInfoList.Clear(); // is causing the save to happen because we bound it to the ListChanged

                foreach (string item in settings)
                {
                    //string gamePath, string arguments, string windowTitle = null, string buttonText = "", bool showOnMain = true, bool runAsAdmin = false, bool useGlideSettings = false,
                    //int glideWindMode = 1, int glideCaptureMouse = 0, StaticSize glideSaticSize = 0, int glideDesktopResolution = 1
                    DiabloInfo di = D2InfoFromString(item);

                    di.PropertyChanged += D_PropertyChanged;
                    di.GlideSettings.PropertyChanged += D_PropertyChanged;
                    DiabloInfoList.Add(di);
                }
            }
        }
        public void AddDiabloEntry(string gamePath, string arguments = null, string windowTitle = null, string buttonText = "", bool showOnMain = true, bool useGlide = false, bool runAsAdmin = false, GlideSettings settings = null)
        {
            DiabloInfo d = new DiabloInfo(gamePath, arguments, windowTitle, buttonText, showOnMain, runAsAdmin, useGlide, settings);

            d.PropertyChanged += D_PropertyChanged;
            d.GlideSettings.PropertyChanged += D_PropertyChanged;
            DiabloInfoList.Add(d);
        }
        public void AddDiabloEntry(string gamePath, string arguments = null, string windowTitle = null, string buttonText = "", bool showOnMain = true, bool useGlide = false, bool runAsAdmin = false, int glideWindowMode = 1, int glideCaptureMouse = 0, StaticSize glideStaticSize = 0, int glideDesktopResolution = 1)
        {
            DiabloInfo d = new DiabloInfo(gamePath, arguments, windowTitle, buttonText, showOnMain, runAsAdmin, useGlide, glideWindowMode, glideCaptureMouse, glideStaticSize, glideDesktopResolution);

            d.PropertyChanged += D_PropertyChanged;
            d.GlideSettings.PropertyChanged += D_PropertyChanged;
            DiabloInfoList.Add(d);
        }
 public void RemoveDiabloEntry(DiabloInfo diablo)
 {
     DiabloInfoList.Remove(diablo);
 }
 public void AddDiabloEntry(DiabloInfo diablo)
 {
     DiabloInfoList.Add(diablo);
 }