Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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;
        }