Example #1
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            //PrivateIsOutBlockedNotif is also valid for public and domain
            status.PublicIsOutBlockedNotif = status.PrivateIsOutBlockedNotif;
            status.DomainIsOutBlockedNotif = status.PrivateIsOutBlockedNotif;
            if (status.PrivateIsOutBlockedNotif == false)
            {
                //if not blocked, allowed must be true
                if (status.PrivateIsOutBlocked == false)
                {
                    status.PrivateIsOutAllowed = true;
                }
                if (status.PublicIsOutBlocked == false)
                {
                    status.PublicIsOutAllowed = true;
                }
                if (status.DomainIsOutBlocked == false)
                {
                    status.DomainIsOutAllowed = true;
                }
            }
            status.Save();

            if (!isInstalled &&
                ((status.PrivateIsEnabled && status.PrivateIsOutBlockedNotif) ||
                 (status.PublicIsEnabled && status.PublicIsOutBlockedNotif) ||
                 (status.DomainIsEnabled && status.DomainIsOutBlockedNotif)))
            {
                InstallHelper.EnableProgram(true, callback);
            }
            else if (isInstalled && (!status.PrivateIsEnabled || !status.PrivateIsOutBlockedNotif) && (!status.PublicIsEnabled || !status.PublicIsOutBlockedNotif) && (!status.DomainIsEnabled || !status.DomainIsOutBlockedNotif))
            {
                InstallHelper.RemoveProgram(true, callback);
            }

            init();
        }