private void EnableAction(TranslationProviderStatusChanged tpStatus = null) { var currentProject = MtCloudApplicationInitializer.GetProjectInProcessing(); if (currentProject == null || currentProject.GetProjectInfo().Id != MtCloudApplicationInitializer.EditorController.ActiveDocument?.Project.GetProjectInfo().Id) { return; } bool?hasSdlMtAdded; if (tpStatus == null) { hasSdlMtAdded = MtCloudApplicationInitializer.EditorController.ActiveDocument?.Project .GetTranslationProviderConfiguration(). Entries?.FirstOrDefault( entry => entry.MainTranslationProvider .Uri .ToString().Contains(PluginResources.SDLMTCloudUri))?.MainTranslationProvider.Enabled; } else { if (!tpStatus.TpUri?.ToString().Contains(PluginResources.SDLMTCloudUri) ?? false) { return; } hasSdlMtAdded = tpStatus.NewStatus; } Enabled = hasSdlMtAdded ?? false; }
private void Setup(bool providerAdded = false) { if (MtCloudApplicationInitializer.CurrentViewDetector.View != Helpers.CurrentViewDetector.CurrentView.EditorView) { return; } var projectInProcessing = MtCloudApplicationInitializer.GetProjectInProcessing(); if (MtCloudApplicationInitializer.EditorController.ActiveDocument?.Project != projectInProcessing) { return; } var currentProvider = MtCloudApplicationInitializer.GetCurrentProjectProvider(); var visibility = currentProvider != null && currentProvider.Options.SendFeedback && (GetTpStatus() || providerAdded); SwitchVisibility(visibility); if (currentProvider is null) { return; } try { Application.Current?.Dispatcher?.Invoke( () => RateIt.SetTranslationService(currentProvider.TranslationService)); } catch { // catch all; unable to locate the controller } }
private void EnableAction(TranslationProviderStatusChanged tpStatus = null) { if (MtCloudApplicationInitializer.GetProjectInProcessing().GetProjectInfo().Id != MtCloudApplicationInitializer.EditorController.ActiveDocument?.Project.GetProjectInfo().Id) { return; } bool?hasSdlMtAdded; if (tpStatus == null) { hasSdlMtAdded = MtCloudApplicationInitializer.EditorController.ActiveDocument?.Project .GetTranslationProviderConfiguration(). Entries?.Any( entry => entry.MainTranslationProvider .Uri .ToString().Contains("sdlmtcloud")); } else { hasSdlMtAdded = tpStatus.NewStatus; } Enabled = hasSdlMtAdded ?? false; }
private static bool GetTpStatus() { var tpStatus = MtCloudApplicationInitializer.GetProjectInProcessing()?.GetTranslationProviderConfiguration().Entries .FirstOrDefault( e => e.MainTranslationProvider.Uri.ToString().Contains(PluginResources.SDLMTCloudUri))?.MainTranslationProvider .Enabled; return(tpStatus ?? false); }