iSpyApplication.AddCamera.AddCameraLoad C# (CSharp) Method

AddCameraLoad() private method

private AddCameraLoad ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void AddCameraLoad(object sender, EventArgs e)
        {
            int j;
            if (CameraControl.Camobject.id == -1)
            {
                if (!SelectSource())
                {
                    _forceClose = true;
                    Close();
                    return;
                }
            }
            if (CameraControl.Camobject.id == -1)
            {
                CameraControl.Camobject.id = MainForm.NextCameraId;
                MainForm.AddObject(CameraControl.Camobject);
            }
            _loaded = false;
            CameraControl.NewFrame -= CameraNewFrame;
            CameraControl.NewFrame += CameraNewFrame;
            CameraControl.IsEdit = true;
            if (CameraControl.VolumeControl != null)
                CameraControl.VolumeControl.IsEdit = true;
            ddlTimestamp.Text = CameraControl.Camobject.settings.timestampformatter;

            //chkUploadYouTube.Checked = CameraControl.Camobject.settings.youtube.autoupload;
            chkPublic.Checked = CameraControl.Camobject.settings.youtube.@public;
            txtTags.Text = CameraControl.Camobject.settings.youtube.tags;
            chkMovement.Checked = CameraControl.Camobject.alerts.active;
            chkFill.Checked = CameraControl.Camobject.settings.fillMode == 1;

            foreach(string dt in _detectortypes)
            {
                ddlMotionDetector.Items.Add(LocRm.GetString(dt));
            }

            foreach (string dt in _processortypes)
            {
                ddlProcessor.Items.Add(LocRm.GetString(dt));
            }

            for (j = 0; j < _detectortypes.Length; j++)
            {
                if ((string) _detectortypes[j] == CameraControl.Camobject.detector.type)
                {
                    ddlMotionDetector.SelectedIndex = j;
                    break;
                }
            }
            for (j = 0; j < _processortypes.Length; j++)
            {
                if ((string) _processortypes[j] == CameraControl.Camobject.detector.postprocessor)
                {
                    ddlProcessor.SelectedIndex = j;
                    break;
                }
            }

            foreach (string dt in _actiontypes)
            {
                ddlActionType.Items.Add(LocRm.GetString(dt));
            }
            ddlActionType.SelectedIndex = 0;

            LoadAlertTypes();

            ddlProcessFrames.SelectedItem = CameraControl.Camobject.detector.processeveryframe.ToString(CultureInfo.InvariantCulture);
            txtCameraName.Text = CameraControl.Camobject.name;

            ranger1.Maximum = 100;
            ranger1.Minimum = 0.001;
            ranger1.ValueMin = CameraControl.Camobject.detector.minsensitivity;
            ranger1.ValueMax = CameraControl.Camobject.detector.maxsensitivity;
            ranger1.Gain = CameraControl.Camobject.detector.gain;
            ranger1.ValueMinChanged += Ranger1ValueMinChanged;
            ranger1.ValueMaxChanged += Ranger1ValueMaxChanged;
            ranger1.GainChanged += Ranger1GainChanged;
            ranger1.SetText();

            rdoRecordDetect.Checked = CameraControl.Camobject.detector.recordondetect;
            rdoRecordAlert.Checked = CameraControl.Camobject.detector.recordonalert;
            rdoNoRecord.Checked = !rdoRecordDetect.Checked && !rdoRecordAlert.Checked;

            chkSchedule.Checked = CameraControl.Camobject.schedule.active;

            var feats = Enum.GetNames(typeof(RotateFlipType));

            int ind = 0;
            j = 0;

            foreach (var f in feats)
            {
                ddlRotateFlip.Items.Add(new ListItem(Regex.Replace(f, "([a-z,0-9])([A-Z])", "$1 $2"),f));
                if (CameraControl.Camobject.rotateMode == f)
                    ind = j;
                j++;

            }
            ddlRotateFlip.SelectedIndex = ind;

            chkColourProcessing.Checked = CameraControl.Camobject.detector.colourprocessingenabled;
            numMaxFR.Value = CameraControl.Camobject.settings.maxframerate;
            numMaxFRRecording.Value = CameraControl.Camobject.settings.maxframeraterecord;

            txtDirectory.Text = CameraControl.Camobject.directory;

            rdoContinuous.Checked = CameraControl.Camobject.alerts.processmode == "continuous";
            rdoMotion.Checked = CameraControl.Camobject.alerts.processmode == "motion";
            rdoTrigger.Checked = CameraControl.Camobject.alerts.processmode == "trigger";
            tbFTPQuality.Value = CameraControl.Camobject.ftp.quality;
            tbSaveQuality.Value = CameraControl.Camobject.savelocal.quality;

            txtLocalFilename.Text = CameraControl.Camobject.savelocal.filename;

            if (CameraControl.Camera==null)
            {
                chkActive.Checked = false;
                btnAdvanced.Enabled = btnCrossbar.Enabled = false;
            }
            else
            {
                chkActive.Checked = CameraControl.Camobject.settings.active;
            }

            AreaControl.MotionZones = CameraControl.Camobject.detector.motionzones;

            chkActive.Enabled = !string.IsNullOrEmpty(CameraControl.Camobject.settings.videosourcestring);

            Text = LocRm.GetString("EditCamera");
            if (CameraControl.Camobject.id > -1)
                Text += string.Format(" (ID: {0}, DIR: {1})", CameraControl.Camobject.id, CameraControl.Camobject.directory);

            txtTimeLapse.Text = CameraControl.Camobject.recorder.timelapse.ToString(CultureInfo.InvariantCulture);
            pnlMovement.Enabled = chkMovement.Checked;
            chkSuppressNoise.Checked = CameraControl.Camobject.settings.suppressnoise;

            gpbSubscriber2.Enabled = MainForm.Conf.Subscribed;
            linkLabel9.Visible = !(MainForm.Conf.Subscribed);

            txtBuffer.Value = CameraControl.Camobject.recorder.bufferseconds;
            txtCalibrationDelay.Value = CameraControl.Camobject.detector.calibrationdelay;
            txtInactiveRecord.Value = CameraControl.Camobject.recorder.inactiverecord;
            txtMaxRecordTime.Value = CameraControl.Camobject.recorder.maxrecordtime;
            numMinRecordTime.Value = CameraControl.Camobject.recorder.minrecordtime;
            btnBack.Enabled = false;

            txtUploadEvery.Text = CameraControl.Camobject.ftp.intervalnew.ToString(CultureInfo.InvariantCulture);
            numSaveInterval.Text = CameraControl.Camobject.savelocal.intervalnew.ToString(CultureInfo.InvariantCulture);
            numFTPMinimumDelay.Text = CameraControl.Camobject.ftp.minimumdelay.ToString(CultureInfo.InvariantCulture);
            numSaveDelay.Text = CameraControl.Camobject.savelocal.minimumdelay.ToString(CultureInfo.InvariantCulture);

            txtFTPFilename.Text = CameraControl.Camobject.ftp.filename;
            chkFTP.Checked = CameraControl.Camobject.ftp.enabled;
            chkLocalSaving.Checked = gbLocal.Enabled = CameraControl.Camobject.savelocal.enabled;
            txtTimeLapseFrames.Text = CameraControl.Camobject.recorder.timelapseframes.ToString(CultureInfo.InvariantCulture);

            chkTimelapse.Checked = CameraControl.Camobject.recorder.timelapseenabled;
            if (!chkTimelapse.Checked)
                groupBox1.Enabled = false;

            txtMaskImage.Text = CameraControl.Camobject.settings.maskimage;

            txtFTPText.Text = CameraControl.Camobject.ftp.text;
            txtSaveOverlay.Text = CameraControl.Camobject.savelocal.text;

            rdoFTPMotion.Checked = CameraControl.Camobject.ftp.mode == 0;
            rdoFTPAlerts.Checked = CameraControl.Camobject.ftp.mode == 1;
            rdoFTPInterval.Checked = CameraControl.Camobject.ftp.mode == 2;

            rdoSaveMotion.Checked = CameraControl.Camobject.savelocal.mode == 0;
            rdoSaveAlerts.Checked = CameraControl.Camobject.savelocal.mode == 1;
            rdoSaveInterval.Checked = CameraControl.Camobject.savelocal.mode == 2;

            txtUploadEvery.Enabled = rdoFTPInterval.Checked;
            numSaveInterval.Enabled = rdoSaveInterval.Checked;

            LoadPTZs();

            txtAccessGroups.Text = CameraControl.Camobject.settings.accessgroups;

            ddlCopyFrom.Items.Clear();
            ddlCopyFrom.Items.Add(new ListItem(LocRm.GetString("CopyFrom"), "-1"));
            foreach(objectsCamera c in MainForm.Cameras)
            {
                if (c.id != CameraControl.Camobject.id)
                    ddlCopyFrom.Items.Add(new ListItem(c.name,c.id.ToString(CultureInfo.InvariantCulture)));
            }
            ddlCopyFrom.SelectedIndex = 0;

            tbQuality.Value = CameraControl.Camobject.recorder.quality;

            numTimelapseSave.Value = CameraControl.Camobject.recorder.timelapsesave;
            numFramerate.Value = CameraControl.Camobject.recorder.timelapseframerate;

            try
            {
                ddlProfile.SelectedIndex = CameraControl.Camobject.recorder.profile;
            }
            catch
            {
                ddlProfile.SelectedIndex = 0;
            }

            var m = MainForm.Microphones.SingleOrDefault(p => p.id == CameraControl.Camobject.settings.micpair);
            lblMicSource.Text = m != null ? m.name : LocRm.GetString("None");

            PopulateTalkDevices();
            numTalkPort.Value = CameraControl.Camobject.settings.audioport > -1 ? CameraControl.Camobject.settings.audioport : 80;
            txtAudioOutIP.Text = CameraControl.Camobject.settings.audioip;
            txtTalkUsername.Text = CameraControl.Camobject.settings.audiousername;
            txtTalkPassword.Text = CameraControl.Camobject.settings.audiopassword;

            string t2 = CameraControl.Camobject.recorder.trigger ?? "";

            ddlTriggerRecording.Items.Add(new ListItem("None", ""));

            foreach (var c in MainForm.Cameras.Where(p=>p.id!=CameraControl.Camobject.id))
            {
                ddlTriggerRecording.Items.Add(new ListItem(c.name, "2," + c.id));
            }
            foreach (var c in MainForm.Microphones.Where(p => p.id != CameraControl.Camobject.settings.micpair))
            {
                ddlTriggerRecording.Items.Add(new ListItem(c.name, "1," + c.id));
            }
            foreach (ListItem li in ddlTriggerRecording.Items)
            {
                if (li.Value == t2)
                    ddlTriggerRecording.SelectedItem = li;
            }

            if (ddlTriggerRecording.SelectedIndex == -1)
                ddlTriggerRecording.SelectedIndex = 0;

            numMaxCounter.Value = CameraControl.Camobject.ftp.countermax;
            numSaveCounter.Value = CameraControl.Camobject.savelocal.countermax;

            chkIgnoreAudio.Checked = CameraControl.Camobject.settings.ignoreaudio;

            tblStorage.Enabled = chkStorageManagement.Checked = CameraControl.Camobject.settings.storagemanagement.enabled;
            numMaxAge.Value = CameraControl.Camobject.settings.storagemanagement.maxage;
            numMaxFolderSize.Value = CameraControl.Camobject.settings.storagemanagement.maxsize;

            actionEditor1.LoginRequested += ActionEditor1LoginRequested;

            //chkNotifyDisconnect.Checked = CameraControl.Camobject.settings.notifyondisconnect;

            numAutoOff.Value = CameraControl.Camobject.detector.autooff;
            chkArchive.Checked = CameraControl.Camobject.settings.storagemanagement.archive;
            chkUploadGrabs.Checked = CameraControl.Camobject.settings.cloudprovider.images;
            chkUploadRecordings.Checked = CameraControl.Camobject.settings.cloudprovider.recordings;
            txtCloudPath.Text = CameraControl.Camobject.settings.cloudprovider.path;
            chkMessaging.Checked = CameraControl.Camobject.settings.messaging;

            LoadMediaDirectories();
            PopFTPServers();
            ddlCloudProviders.Items.Add(LocRm.GetString("PleaseSelect"));
            ddlCloudProviders.Items.AddRange(Settings.CloudProviders);
            ddlCloudProviders.SelectedIndex = 0;
            foreach (var o in ddlCloudProviders.Items)
            {
                if (o.ToString() == CameraControl.Camobject.settings.cloudprovider.provider)
                {
                    ddlCloudProviders.SelectedItem = o;
                    break;
                }
            }
            intervalConfig1.Init(CameraControl);
            ptzui1.CameraControl = CameraControl;
            scheduleEditor1.Io = CameraControl;

            chkFTPRecordingsEnabled.Checked = CameraControl.Camobject.recorder.ftpenabled;
            txtFTPRecordingFilename.Text = CameraControl.Camobject.recorder.ftpfilename;
            numFTPRecordingCounterMax.Value = CameraControl.Camobject.recorder.ftpcountermax;
            _loaded = true;
        }
AddCamera