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;
        }
Пример #2
0
        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
            }
        }
Пример #3
0
        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;
        }
Пример #4
0
        private static bool GetTpStatus()
        {
            var tpStatus =
                MtCloudApplicationInitializer.GetProjectInProcessing()?.GetTranslationProviderConfiguration().Entries
                .FirstOrDefault(
                    e => e.MainTranslationProvider.Uri.ToString().Contains(PluginResources.SDLMTCloudUri))?.MainTranslationProvider
                .Enabled;

            return(tpStatus ?? false);
        }