Beispiel #1
0
        /// <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();
        }
Beispiel #2
0
        /// <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();
        }
Beispiel #3
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;
        }