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(); }