Beispiel #1
0
        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;
        }
Beispiel #2
0
        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();
        }
Beispiel #5
0
 public ConnectViewModel(PreviewServiceProxy serviceProxy, IPreviewToolCallback callback, Action stopVideoAction, bool isConnected)
 {
     previewServiceProxy  = serviceProxy;
     previewToolCallback  = callback;
     IsConnected          = isConnected;
     stopVideo            = stopVideoAction;
     AutoConnectOnStartup = Settings.Instance.AutoConnect;
 }
Beispiel #6
0
 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;
 }
Beispiel #7
0
        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;
            }
        }
Beispiel #8
0
        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;
            }
        }
Beispiel #9
0
 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);
 }
Beispiel #10
0
        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();
        }
Beispiel #11
0
 public ConnectViewModel(PreviewServiceProxy serviceProxy, IPreviewToolCallback callback)
 {
     previewServiceProxy  = serviceProxy;
     previewToolCallback  = callback;
     AutoConnectOnStartup = Settings.Instance.AutoConnect;
 }
        public ConnectPreviewToolForm(PreviewServiceProxy proxy)
        {
            InitializeComponent();

            this.proxy = proxy;
        }