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; } }
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; } } }
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; } } }