コード例 #1
0
        public void ExecuteCommand(string cmd, object param)
        {
            if (param == null)
            {
                param = ServiceProvider.DeviceManager.SelectedCameraDevice;
            }
            switch (cmd)
            {
            case WindowsCmdConsts.LiveViewWnd_Show:
                if (!_register.ContainsKey(param))
                {
                    Application.Current.Dispatcher.Invoke(new Action(delegate
                    {
                        LiveViewWnd wnd = new LiveViewWnd();
                        ServiceProvider.Settings.ApplyTheme(wnd);
                        _register.Add(param, wnd);
                    }));
                }
                _register[param].ExecuteCommand(cmd, param);
                break;

            case WindowsCmdConsts.LiveViewSimpleWnd_Show:
                if (!_register.ContainsKey(param))
                {
                    Application.Current.Dispatcher.Invoke(new Action(delegate
                    {
                        var wnd = new LiveViewSimpleWnd();
                        ServiceProvider.Settings.ApplyTheme(wnd);
                        _register.Add(param, wnd);
                    }));
                }
                _register[param].ExecuteCommand(cmd, param);
                break;

            case WindowsCmdConsts.LiveViewWnd_Hide:
                if (_register.ContainsKey(param))
                {
                    _register[param].ExecuteCommand(cmd, param);
                }
                break;

            case CmdConsts.All_Close:
                foreach (var liveViewWnd in _register)
                {
                    liveViewWnd.Value.ExecuteCommand(cmd, param);
                }
                break;

            default:
                foreach (var liveViewWnd in _register)
                {
                    if (cmd.StartsWith("LiveView"))
                    {
                        liveViewWnd.Value.ExecuteCommand(cmd, param);
                    }
                }
                break;
            }
        }
コード例 #2
0
 public void ExecuteCommand(string cmd, object param)
 {
     if (param == null)
         param = ServiceProvider.DeviceManager.SelectedCameraDevice;
     lock (_locker)
     {
         switch (cmd)
         {
             case WindowsCmdConsts.LiveViewWnd_Show:
                 {
                     if (!_register.ContainsKey(param))
                     {
                         Application.Current.Dispatcher.Invoke(new Action(delegate
                         {
                             LiveViewWnd wnd = new LiveViewWnd();
                             ServiceProvider.Settings.ApplyTheme(wnd);
                             _register.Add(param, wnd);
                             wnd.Owner = ServiceProvider.PluginManager.SelectedWindow as Window;
                         }));
                     }
                     NikonBase nikonBase = param as NikonBase;
                     if (nikonBase != null && ServiceProvider.Settings.EasyLiveViewControl)
                     {
                         CameraPreset preset = new CameraPreset();
                         preset.Get(nikonBase);
                         if (!_presets.ContainsKey(nikonBase))
                             _presets.Add(nikonBase, preset);
                         else
                             _presets[nikonBase] = preset;
                         if (nikonBase.ShutterSpeed.Value == "Bulb")
                         {
                             nikonBase.ShutterSpeed.Value =
                                 nikonBase.ShutterSpeed.Values[nikonBase.ShutterSpeed.Values.Count / 2];
                         }
                         nikonBase.FocusMode.Value = nikonBase.FocusMode.Values[0];
                         nikonBase.FNumber.Value = nikonBase.FNumber.Values[0];
                     }
                     _register[param].ExecuteCommand(cmd, param);
                 }
                 break;
             case WindowsCmdConsts.LiveViewWnd_Hide:
             {
                 if (_register.ContainsKey(param))
                     _register[param].ExecuteCommand(cmd, param);
                 var nikonBase = param as NikonBase;
                 if (ServiceProvider.Settings.EasyLiveViewControl)
                 {
                     if (nikonBase != null && _presets.ContainsKey(nikonBase))
                     {
                         nikonBase.ShutterSpeed.Value = _presets[nikonBase].GetValue("ShutterSpeed");
                         nikonBase.FNumber.Value = _presets[nikonBase].GetValue("FNumber");
                         nikonBase.FocusMode.Value = _presets[nikonBase].GetValue("FocusMode");
                     }
                 }
             }
                 break;
             case CmdConsts.All_Minimize:
             case CmdConsts.All_Close:
                 foreach (var liveViewWnd in _register)
                 {
                     liveViewWnd.Value.ExecuteCommand(cmd, param);
                 }
                 break;
             default:
                 if (cmd.StartsWith("LiveView"))
                 {
                     foreach (var liveViewWnd in _register)
                     {
                         liveViewWnd.Value.ExecuteCommand(cmd, param);
                     }
                 }
                 break;
         }
     }
 }
コード例 #3
0
        public void ExecuteCommand(string cmd, object param)
        {
            if (param == null)
            {
                param = ServiceProvider.DeviceManager.SelectedCameraDevice;
            }
            lock (_locker)
            {
                switch (cmd)
                {
                case WindowsCmdConsts.LiveViewWnd_Show:
                {
                    if (!_register.ContainsKey(param))
                    {
                        Application.Current.Dispatcher.Invoke(new Action(delegate
                            {
                                LiveViewWnd wnd = new LiveViewWnd();
                                ServiceProvider.Settings.ApplyTheme(wnd);
                                _register.Add(param, wnd);
                                wnd.Owner = ServiceProvider.PluginManager.SelectedWindow as Window;
                            }));
                    }
                    NikonBase nikonBase = param as NikonBase;
                    if (nikonBase != null && ServiceProvider.Settings.EasyLiveViewControl)
                    {
                        CameraPreset preset = new CameraPreset();
                        preset.Get(nikonBase);
                        if (!_presets.ContainsKey(nikonBase))
                        {
                            _presets.Add(nikonBase, preset);
                        }
                        else
                        {
                            _presets[nikonBase] = preset;
                        }
                        if (nikonBase.ShutterSpeed.Value == "Bulb")
                        {
                            nikonBase.ShutterSpeed.Value =
                                nikonBase.ShutterSpeed.Values[nikonBase.ShutterSpeed.Values.Count / 2];
                        }
                        nikonBase.FocusMode.Value = nikonBase.FocusMode.Values[0];
                        nikonBase.FNumber.Value   = nikonBase.FNumber.Values[0];
                    }
                    _register[param].ExecuteCommand(cmd, param);
                }
                break;

                case WindowsCmdConsts.LiveViewWnd_Hide:
                {
                    if (_register.ContainsKey(param))
                    {
                        _register[param].ExecuteCommand(cmd, param);
                    }
                    var nikonBase = param as NikonBase;
                    if (ServiceProvider.Settings.EasyLiveViewControl)
                    {
                        if (nikonBase != null && _presets.ContainsKey(nikonBase))
                        {
                            nikonBase.ShutterSpeed.Value = _presets[nikonBase].GetValue("ShutterSpeed");
                            nikonBase.FNumber.Value      = _presets[nikonBase].GetValue("FNumber");
                            nikonBase.FocusMode.Value    = _presets[nikonBase].GetValue("FocusMode");
                        }
                    }
                }
                break;

                case CmdConsts.All_Minimize:
                case CmdConsts.All_Close:
                    foreach (var liveViewWnd in _register)
                    {
                        liveViewWnd.Value.ExecuteCommand(cmd, param);
                    }
                    break;

                default:
                    if (cmd.StartsWith("LiveView"))
                    {
                        foreach (var liveViewWnd in _register)
                        {
                            liveViewWnd.Value.ExecuteCommand(cmd, param);
                        }
                    }
                    break;
                }
            }
        }