/// <summary> /// buttonScanScheduleChange on-click event handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonScanScheduleChange_Click(object sender, EventArgs e) { ClamWinScheduleForm form = new ClamWinScheduleForm(); DialogResult result = form.ScheduleDoModal("Scan", ref ScanScheduleData); if (result != DialogResult.OK) { return; } buttonSettingsApply.Enabled = true; checkBoxScanSchedule.Text = ScanScheduleData.GetDescription(); }
/// <summary> /// Apply current settings and save them to database /// </summary> private void ApplySettings() { // Protection panel ClamWinSettings.EnableProtection = checkBoxEnableProtection.Checked; ClamWinSettings.RunAtStartup = checkBoxRunAtStartup.Checked; // File Antivirus Panel ClamWinSettings.OnAccessScannerStatus = checkBoxEnableFA.Checked ? ClamWinSettings.OnAccessStatus.Enabled : ClamWinSettings.OnAccessStatus.Disabled; if (radioButtonFAPrompt.Checked) { ClamWinSettings.FileAntiVirusOnDetectAction = ClamWinSettings.OnDetectActions.Prompt; } else if (radioButtonFABlock.Checked) { ClamWinSettings.FileAntiVirusOnDetectAction = ClamWinSettings.OnDetectActions.BlockAccess; } else if (radioButtonFADelete.Checked) { ClamWinSettings.FileAntiVirusOnDetectAction = ClamWinSettings.OnDetectActions.Delete; } else if (radioButtonFAQuarantine.Checked) { ClamWinSettings.FileAntiVirusOnDetectAction = ClamWinSettings.OnDetectActions.MoveToQuarantine; } // Mail Antivirus Panel ClamWinSettings.EnableMailAntiVirus = checkBoxMAEnable.Checked; // Scan if (radioButtonScanPromptDuringScan.Checked) { ClamWinSettings.ScanOnDetectAction = ClamWinSettings.OnDetectActions.Prompt; } else if (radioButtonScanPromptAfterScan.Checked) { ClamWinSettings.ScanOnDetectAction = ClamWinSettings.OnDetectActions.PromptAfterScan; } else if (radioButtonScanDelete.Checked) { ClamWinSettings.ScanOnDetectAction = ClamWinSettings.OnDetectActions.Delete; } else if (radioButtonScanDoNothing.Checked) { ClamWinSettings.ScanOnDetectAction = ClamWinSettings.OnDetectActions.DoNothing; } ClamWinSettings.ScanSchedule = checkBoxScanSchedule.Checked; if (checkBoxScanSchedule.Checked) { ClamWinSettings.ScanScheduleData = ScanScheduleData; } ClamWinSettings.ScanUseFilter = checkBoxScanUseFilter.Checked; ClamWinSettings.ScanFilterData = ScanFilterData; // Scan Critical Panel if (radioButtonScanCriticalPromptDuringScan.Checked) { ClamWinSettings.ScanCriticalOnDetectAction = ClamWinSettings.OnDetectActions.Prompt; } else if (radioButtonScanCriticalPromptAfterScan.Checked) { ClamWinSettings.ScanCriticalOnDetectAction = ClamWinSettings.OnDetectActions.PromptAfterScan; } else if (radioButtonScanCriticalDelete.Checked) { ClamWinSettings.ScanCriticalOnDetectAction = ClamWinSettings.OnDetectActions.Delete; } else if (radioButtonScanCriticalDoNothing.Checked) { ClamWinSettings.ScanCriticalOnDetectAction = ClamWinSettings.OnDetectActions.DoNothing; } ClamWinSettings.ScanCriticalSchedule = checkBoxScanCriticalSchedule.Checked; if (checkBoxScanCriticalSchedule.Checked) { ClamWinSettings.ScanCriticalScheduleData = ScanCriticalScheduleData; } ClamWinSettings.ScanCriticalUseFilter = checkBoxScanCriticalUseFilter.Checked; ClamWinSettings.ScanCriticalFilterData = ScanCriticalFilterData; // Scan My PC Panel if (radioButtonScanMyPCPromptDuringScan.Checked) { ClamWinSettings.ScanMyPCOnDetectAction = ClamWinSettings.OnDetectActions.Prompt; } else if (radioButtonScanMyPCPromptAfterScan.Checked) { ClamWinSettings.ScanMyPCOnDetectAction = ClamWinSettings.OnDetectActions.PromptAfterScan; } else if (radioButtonScanMyPCDelete.Checked) { ClamWinSettings.ScanMyPCOnDetectAction = ClamWinSettings.OnDetectActions.Delete; } else if (radioButtonScanMyPCDoNothing.Checked) { ClamWinSettings.ScanMyPCOnDetectAction = ClamWinSettings.OnDetectActions.DoNothing; } ClamWinSettings.ScanMyPCSchedule = checkBoxScanMyPCSchedule.Checked; if (checkBoxScanMyPCSchedule.Checked) { ClamWinSettings.ScanMyPCScheduleData = ScanMyPCScheduleData; } ClamWinSettings.ScanMyPCUseFilter = checkBoxScanMyPCUseFilter.Checked; ClamWinSettings.ScanMyPCFilterData = ScanMyPCFilterData; // Service Panel ClamWinSettings.EnableNotifications = checkBoxEnableNotifications.Checked; // Update Panel if (radioButtonUpdateAuto.Checked) { ClamWinSettings.UpdateRunMode = ClamWinSettings.RunModes.Auto; } else if (radioButtonUpdateManual.Checked) { ClamWinSettings.UpdateRunMode = ClamWinSettings.RunModes.Manual; } else if (radioButtonUpdateEvery.Checked) { ClamWinSettings.UpdateRunMode = ClamWinSettings.RunModes.Scheduled; ClamWinSettings.UpdateScheduleData = UpdateScheduleData; radioButtonUpdateEvery.Text = UpdateScheduleData.GetDescription(); } ClamWinSettings.RescanQuarantineAfterUpdate = checkBoxRescanQuarantine.Checked; // Data Files Panel ClamWinSettings.KeepOnlyRecentEvents = checkBoxKeepOnlyRecent.Checked; ClamWinSettings.LogNonCriticalEvents = checkBoxLogNonCritical.Checked; ClamWinSettings.DeleteReportsAfterTime = checkBoxDeleteReports.Checked; ClamWinSettings.DeleteQuarantineItemsAfterTime = checkBoxDeleteFromQuarantine.Checked; ClamWinSettings.ReportsLifeTime = (int)numericUpDownDeleteReportsDays.Value; ClamWinSettings.DeleteReportsAfterTime = numericUpDownDeleteReportsDays.Enabled; ClamWinSettings.QuarantineItemsLifeTime = (int)numericUpDownDeleteFromQuarantineDays.Value; ClamWinSettings.DeleteQuarantineItemsAfterTime = numericUpDownDeleteFromQuarantineDays.Enabled; ClamWinSettings.SaveSettings(); }
/// <summary> /// Assign settings values to controls /// </summary> private void AssignSettingsToControls() { // Protection panel checkBoxEnableProtection.Checked = ClamWinSettings.EnableProtection; checkBoxRunAtStartup.Checked = ClamWinSettings.RunAtStartup; // File Antivirus Panel checkBoxEnableFA.Checked = ClamWinSettings.OnAccessScannerStatus == ClamWinSettings.OnAccessStatus.Enabled ? true : false; switch (ClamWinSettings.FileAntiVirusOnDetectAction) { case ClamWinSettings.OnDetectActions.Prompt: radioButtonFAPrompt.Checked = true; break; case ClamWinSettings.OnDetectActions.BlockAccess: radioButtonFABlock.Checked = true; break; case ClamWinSettings.OnDetectActions.Delete: radioButtonFADelete.Checked = true; break; case ClamWinSettings.OnDetectActions.MoveToQuarantine: radioButtonFAQuarantine.Checked = true; break; } // Mail Antivirus Panel checkBoxMAEnable.Checked = ClamWinSettings.EnableMailAntiVirus; // Scan switch (ClamWinSettings.ScanOnDetectAction) { case ClamWinSettings.OnDetectActions.Prompt: radioButtonScanPromptDuringScan.Checked = true; break; case ClamWinSettings.OnDetectActions.PromptAfterScan: radioButtonScanPromptAfterScan.Checked = true; break; case ClamWinSettings.OnDetectActions.Delete: radioButtonScanDelete.Checked = true; break; case ClamWinSettings.OnDetectActions.DoNothing: radioButtonScanDoNothing.Checked = true; break; } ScanScheduleData = ClamWinSettings.ScanScheduleData; ScanFilterData = ClamWinSettings.ScanFilterData; checkBoxScanSchedule.Checked = ClamWinSettings.ScanSchedule; checkBoxScanSchedule.Text = ClamWinSettings.ScanScheduleData.GetDescription(); checkBoxScanUseFilter.Checked = ClamWinSettings.ScanUseFilter; // Scan Critical Panel switch (ClamWinSettings.ScanCriticalOnDetectAction) { case ClamWinSettings.OnDetectActions.Prompt: radioButtonScanCriticalPromptDuringScan.Checked = true; break; case ClamWinSettings.OnDetectActions.PromptAfterScan: radioButtonScanCriticalPromptAfterScan.Checked = true; break; case ClamWinSettings.OnDetectActions.Delete: radioButtonScanCriticalDelete.Checked = true; break; case ClamWinSettings.OnDetectActions.DoNothing: radioButtonScanCriticalDoNothing.Checked = true; break; } ScanCriticalScheduleData = ClamWinSettings.ScanCriticalScheduleData; checkBoxScanCriticalSchedule.Checked = ClamWinSettings.ScanCriticalSchedule; checkBoxScanCriticalSchedule.Text = ClamWinSettings.ScanCriticalScheduleData.GetDescription(); ScanCriticalFilterData = ClamWinSettings.ScanCriticalFilterData; checkBoxScanCriticalUseFilter.Checked = ClamWinSettings.ScanCriticalUseFilter; // Scan My PC Panel switch (ClamWinSettings.ScanMyPCOnDetectAction) { case ClamWinSettings.OnDetectActions.Prompt: radioButtonScanMyPCPromptDuringScan.Checked = true; break; case ClamWinSettings.OnDetectActions.PromptAfterScan: radioButtonScanMyPCPromptAfterScan.Checked = true; break; case ClamWinSettings.OnDetectActions.Delete: radioButtonScanMyPCDelete.Checked = true; break; case ClamWinSettings.OnDetectActions.DoNothing: radioButtonScanMyPCDoNothing.Checked = true; break; } ScanMyPCScheduleData = ClamWinSettings.ScanMyPCScheduleData; checkBoxScanMyPCSchedule.Checked = ClamWinSettings.ScanMyPCSchedule; checkBoxScanMyPCSchedule.Text = ClamWinSettings.ScanMyPCScheduleData.GetDescription(); ScanMyPCFilterData = ClamWinSettings.ScanMyPCFilterData; checkBoxScanMyPCUseFilter.Checked = ClamWinSettings.ScanMyPCUseFilter; // Service Panel checkBoxEnableNotifications.Checked = ClamWinSettings.EnableNotifications; // Update Panel UpdateScheduleData = ClamWinSettings.UpdateScheduleData; switch (ClamWinSettings.UpdateRunMode) { case ClamWinSettings.RunModes.Auto: radioButtonUpdateAuto.Checked = true; break; case ClamWinSettings.RunModes.Manual: radioButtonUpdateManual.Checked = true; break; case ClamWinSettings.RunModes.Scheduled: radioButtonUpdateEvery.Checked = true; break; } radioButtonUpdateEvery.Text = UpdateScheduleData.GetDescription(); checkBoxRescanQuarantine.Checked = ClamWinSettings.RescanQuarantineAfterUpdate; // Data Files Panel checkBoxKeepOnlyRecent.Checked = ClamWinSettings.KeepOnlyRecentEvents; checkBoxLogNonCritical.Checked = ClamWinSettings.LogNonCriticalEvents; checkBoxDeleteReports.Checked = ClamWinSettings.DeleteReportsAfterTime; checkBoxDeleteFromQuarantine.Checked = ClamWinSettings.DeleteQuarantineItemsAfterTime; numericUpDownDeleteReportsDays.Value = ClamWinSettings.ReportsLifeTime; numericUpDownDeleteReportsDays.Enabled = ClamWinSettings.DeleteReportsAfterTime; numericUpDownDeleteFromQuarantineDays.Value = ClamWinSettings.QuarantineItemsLifeTime; numericUpDownDeleteFromQuarantineDays.Enabled = ClamWinSettings.DeleteQuarantineItemsAfterTime; }