public MainViewModel(Action <string> loadPageInBrowser, Action <string> executeJavaScriptCodeInBrowser, Action handleDisconnect) { Settings.Instance.LoadSettings(); previewToolCallbackHandler = new PreviewToolCallbackHandler( (url) => { NoContent = false; WaitingForRegistration = true; loadPageInBrowser(url); }, (javaScript) => { executeJavaScriptCodeInBrowser(javaScript); }, (previewPartIds) => { requestContentUpdate(previewPartIds); }, () => { requestPreviewPartIdUpdate(); }, () => { handleDisconnect(); }); try { previewServiceProxy = new PreviewServiceProxy(previewToolCallbackHandler, Settings.Instance.NamedPipeAddress, CommunicationProtocols.NamedPipe); } catch (PreviewServiceUnavailableException) { Log.Instance.WriteMessage(Log.PreviewUnavailableMessage, SeverityOption.Warning); } connectViewModel = new ConnectViewModel(previewServiceProxy, previewToolCallbackHandler); WebPreviewCallbackHandler = new WebPreviewCallbackHandler(connectViewModel); WebPreviewCallbackHandler.PreviewToolRegistrationReceived += onPreviewToolRegistrationReceivedFromWebApp; NoContent = true; WaitingForRegistration = false; }
public RequestContentUpdateForm(PreviewServiceProxy proxy) { InitializeComponent(); this.proxy = proxy; updateControls(); }
public RequestChangeHighlightForm(PreviewServiceProxy proxy) { InitializeComponent(); this.proxy = proxy; updateControls(); }
public RequestChangeRuntimeSettingsForm(PreviewServiceProxy proxy) { InitializeComponent(); this.proxy = proxy; updateControls(); }
public ConnectViewModel(PreviewServiceProxy serviceProxy, IPreviewToolCallback callback, Action stopVideoAction, bool isConnected) { previewServiceProxy = serviceProxy; previewToolCallback = callback; IsConnected = isConnected; stopVideo = stopVideoAction; AutoConnectOnStartup = Settings.Instance.AutoConnect; }
public VideoViewModel(PreviewServiceProxy serviceProxy) { previewServiceProxy = serviceProxy; document = new Document(Guid.Empty, null, null); documentsWithSameMedia = new List <Document>(); IsLoading = false; IsPlaying = false; IsSelectionMode = Settings.Instance.PlayMode == PlayMode.Selection; LoopSelection = true; LoopNumber = Settings.Instance.LoopNumber; IsMute = false; TimeFrame = "0:00:00 / 0:00:00"; CannotOpen = false; Media = string.Empty; }
public async void Disconnect() { try { await CallProxyMethod(new Func <RequestStatus>(() => PreviewServiceProxy?.Disconnect())); PreviewServiceProxy?.Dispose(); } catch (PreviewServiceUnavailableException) { // if memoQ is not available, the disconnect might fail } finally { previewServiceProxy = null; IsConnected = false; } }
public async void Disconnect() { Log.Instance.WriteMessage($"Disconnecting from memoQ.", SeverityOption.Info); try { await CallProxyMethod(new Func <RequestStatus>(() => PreviewServiceProxy?.Disconnect())); PreviewServiceProxy?.Dispose(); } catch (PreviewServiceUnavailableException) { // if memoQ is not available, the disconnect might fail } finally { previewServiceProxy = null; IsConnected = false; } }
public MainViewModel(IPreviewToolCallback previewToolCallback, Action stopVideoAction) { Settings.Instance.LoadSettings(); try { previewServiceProxy = new PreviewServiceProxy(previewToolCallback, Settings.Instance.NamedPipeAddress, CommunicationProtocols.NamedPipe); } catch (PreviewServiceUnavailableException) { Log.Instance.WriteMessage(Log.PreviewUnavailableMessage, SeverityOption.Warning); } catch (NotSupportedException) { Settings.Instance.NamedPipeAddress = "MQ_PREVIEW_PIPE"; Settings.Instance.SaveSettings(); previewServiceProxy = new PreviewServiceProxy(previewToolCallback, Settings.Instance.NamedPipeAddress, CommunicationProtocols.NamedPipe); } ConnectViewModel = new ConnectViewModel(previewServiceProxy, previewToolCallback, stopVideoAction, false); VideoViewModel = new VideoViewModel(previewServiceProxy); }
private void btnCreateProxy_Click(object sender, EventArgs e) { try { proxy = new PreviewServiceProxy(new CallbackHandler(onPreviewToolDisconnected), tbEndpointAddress.Text); } catch (NegotiationFailedException) { MessageBox.Show(this, "The protocol version negotiation has failed, memoQ does not support any of the known protocols.", "Demo preview tool", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } catch (PreviewServiceUnavailableException) { MessageBox.Show(this, "The preview service is not available.", "Demo preview tool", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } gbProxy.Enabled = false; tlpButtons.Enabled = true; updateButtonStates(); }
public ConnectViewModel(PreviewServiceProxy serviceProxy, IPreviewToolCallback callback) { previewServiceProxy = serviceProxy; previewToolCallback = callback; AutoConnectOnStartup = Settings.Instance.AutoConnect; }
public ConnectPreviewToolForm(PreviewServiceProxy proxy) { InitializeComponent(); this.proxy = proxy; }