コード例 #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)
            {
                InstallHelper.ApplyChanges(!isEnabled(status), !isOutBlockNotifierEnabled(status), callback);
            }

            init();
        }