/// <summary> /// Show filter form modally and add caller string to form caption /// </summary> /// <param name="caller"></param> /// <param name="data"></param> /// <returns></returns> public DialogResult FilterDoModal(string caller, ref ClamWinFilterData data) { this.Text = "Filter: " + caller; listViewExclude.Items.Clear(); listViewInclude.Items.Clear(); foreach (string pattern in data.ExcludePatterns) { listViewExclude.Items.Add(pattern); } foreach (string pattern in data.IncludePatterns) { listViewInclude.Items.Add(pattern); } listViewExclude.Items.Add(""); listViewInclude.Items.Add(""); ManageButtons(); DialogResult result = ShowDialog(); if (result != DialogResult.OK) { return(result); } data.ExcludePatterns.Clear(); foreach (ListViewItem item in listViewExclude.Items) { if (item.Text != "") { data.ExcludePatterns.Add(item.Text); } } data.IncludePatterns.Clear(); foreach (ListViewItem item in listViewInclude.Items) { if (item.Text != "") { data.IncludePatterns.Add(item.Text); } } return(result); }
/// <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; }