iSpyApplication.MainForm.CameraControlMouseDown C# (CSharp) Method

CameraControlMouseDown() private method

private CameraControlMouseDown ( object sender, MouseEventArgs e ) : void
sender object
e System.Windows.Forms.MouseEventArgs
return void
        private void CameraControlMouseDown(object sender, MouseEventArgs e)
        {
            _lastClicked = _pnlCameras;
            if (Resizing) return;
            var cameraControl = (CameraWindow)sender;
            cameraControl.Focus();

            switch (e.Button)
            {
                case MouseButtons.Left:
                    cameraControl.Camobject.x = e.X;
                    cameraControl.Camobject.y = e.Y;
                    cameraControl.BringToFront();
                    cameraControl.VolumeControl?.BringToFront();
                    break;
                case MouseButtons.Right:
                    ContextTarget = cameraControl;
                    pluginCommandsToolStripMenuItem.Visible = false;

                    _recordNowToolStripMenuItem.Visible = false;
                    _listenToolStripMenuItem.Visible = false;
                    _recordNowToolStripMenuItem.Visible = false;
                    _takePhotoToolStripMenuItem.Visible = false;
                    _viewMediaOnAMobileDeviceToolStripMenuItem.Visible = _viewMediaToolStripMenuItem.Visible = Helper.HasFeature(Enums.Features.Access_Media);
                    _applyScheduleToolStripMenuItem1.Visible = true;
                    _resetRecordingCounterToolStripMenuItem.Visible = true;
                    openWebInterfaceToolStripMenuItem.Visible = cameraControl.SupportsWebInterface;
                    _resetRecordingCounterToolStripMenuItem.Text =
                        $"{LocRm.GetString("ResetRecordingCounter")} ({cameraControl.Camobject.newrecordingcount})";
                    pTZToolStripMenuItem.Visible = false;

                    //switches
                    switchToolStripMenuItem.Visible = true;

                    onToolStripMenuItem.Visible = !cameraControl.Camobject.settings.active;
                    offToolStripMenuItem.Visible = cameraControl.Camobject.settings.active;

                    alertsOnToolStripMenuItem1.Visible = !cameraControl.Camobject.alerts.active;
                    alertsOffToolStripMenuItem.Visible = cameraControl.Camobject.alerts.active;

                    scheduleOnToolStripMenuItem.Visible = !cameraControl.Camobject.schedule.active;
                    scheduleOffToolStripMenuItem.Visible = cameraControl.Camobject.schedule.active;

                    pTZScheduleOnToolStripMenuItem.Visible = !cameraControl.Camobject.ptzschedule.active;
                    pTZScheduleOffToolStripMenuItem.Visible = cameraControl.Camobject.ptzschedule.active;

                    if (cameraControl.Camobject.settings.active)
                    {
                        if (Helper.HasFeature(Enums.Features.Recording))
                        {
                            _recordNowToolStripMenuItem.Visible = true;
                            _takePhotoToolStripMenuItem.Visible = true;
                        }
                        if (Helper.HasFeature(Enums.Features.Save_Frames))
                            _takePhotoToolStripMenuItem.Visible = true;

                        if (cameraControl.Camobject.ptz > -1)
                        {
                            pTZToolStripMenuItem.Visible = true;
                            while (pTZToolStripMenuItem.DropDownItems.Count > 1)
                                pTZToolStripMenuItem.DropDownItems.RemoveAt(1);

                            PTZSettings2Camera ptz = PTZs.SingleOrDefault(p => p.id == cameraControl.Camobject.ptz);
                            if (ptz?.ExtendedCommands?.Command != null)
                            {
                                foreach (var extcmd in ptz.ExtendedCommands.Command)
                                {
                                    ToolStripItem tsi = new ToolStripMenuItem
                                                        {
                                                            Text = extcmd.Name,
                                                            Tag =
                                                                cameraControl.Camobject.id + "|" + extcmd.Value
                                                        };
                                    tsi.Click += TsiClick;
                                    pTZToolStripMenuItem.DropDownItems.Add(tsi);
                                }
                            }
                        }

                        if (cameraControl.Camera?.Plugin != null)
                        {
                            pluginCommandsToolStripMenuItem.Visible = true;

                            while (pluginCommandsToolStripMenuItem.DropDownItems.Count > 1)
                                pluginCommandsToolStripMenuItem.DropDownItems.RemoveAt(1);

                            var pc = cameraControl.PluginCommands;
                            if (pc != null)
                            {
                                foreach (var c in pc)
                                {
                                    ToolStripItem tsi = new ToolStripMenuItem
                                    {
                                        Text = c,
                                        Tag =
                                            cameraControl.Camobject.id + "|" + c
                                    };
                                    tsi.Click += PCClick;
                                    pluginCommandsToolStripMenuItem.DropDownItems.Add(tsi);
                                }
                            }
                        }

                    }
                    _recordNowToolStripMenuItem.Text =
                        LocRm.GetString(cameraControl.Recording ? "StopRecording" : "StartRecording");
                    ctxtMnu.Show(cameraControl, new Point(e.X, e.Y));
                    break;

            }
        }
MainForm