Exemplo n.º 1
0
        private void MsgHub_MessageRecevied(object sender, MessageType type, object data)
        {
            switch (type)
            {
            case MessageType.AppClosed:
            case MessageType.AppClosing:
                CurrentTranslator = null;
                break;

            case MessageType.ProjectOpened:
                if (data is ProjectModel openedPM)
                {
                    CurrentProject = openedPM;
                    this.Title     = $"{CurrentProject.ProjectName} - Minax Web Translator";
                }
                break;

            case MessageType.ProjectClosed:
                CurrentProject = null;
                this.Title     = "Minax Web Translator";
                break;

            case MessageType.ProjectChanged:
                if (data is ProjectModel)
                {
                    this.Title = $"{CurrentProject.ProjectName}* - Minax Web Translator";
                }
                break;

            case MessageType.ProjectSaved:
                if (CurrentProject != null)
                {
                    this.Title = $"{CurrentProject.ProjectName} - Minax Web Translator";
                }
                break;

            case MessageType.XlatorSelected:
                if (data is TranslatorSelector ts)
                {
                    CurrentTranslator = ts;
                    //if( ts != null && ts.Icon != null )
                    //	BtnTargetTranslate.ImageSource = ts.Icon;
                }
                break;
            }
        }
Exemplo n.º 2
0
        private async void MsgHub_MessageRecevied(object sender, MessageType type, object data)
        {
            if (sender == this)
            {
                return;
            }

            switch (type)
            {
            case MessageType.ProjectOpened:
                if (data is ProjectModel pm)
                {
                    mProject = pm;
                }
                else
                {
                    mProject = ProjectManager.Instance.CurrentProject;
                }

                if (mProject != null)
                {
                    await _ReloadAllMappingData(mProject);

                    GdMappingProjConf.IsEnabled = true;
                }
                else
                {
                    DgMappingAll.ItemsSource        = null;
                    DgMappingGlossaries.ItemsSource = null;
                    DgMappingProjConf.ItemsSource   = null;
                    GdMappingProjConf.IsEnabled     = false;
                }

                break;

            case MessageType.AppClosed:
            case MessageType.AppClosing:
            case MessageType.ProjectClosed:
                DgMappingAll.ItemsSource        = null;
                DgMappingGlossaries.ItemsSource = null;
                DgMappingProjConf.ItemsSource   = null;
                mProject = null;
                GdMappingProjConf.IsEnabled = false;
                break;

            case MessageType.ProjectSaved:
                mProjChanged = false;
                break;

            case MessageType.ProjectChanged:
                if (data is ProjectModel projModel)
                {
                    if (projModel != mProject)
                    {
                        mProject = projModel;
                    }
                    TiMappingProjConf.Header = mProject.ProjectName;
                }
                break;

            case MessageType.DataReload:
                if (data is ProjectModel reloadModel)
                {
                    await _ReloadAllMappingData(reloadModel);
                }
                break;

            // File Changed/Deleted/Updated
            case MessageType.ProjectRenamed:
            case MessageType.ProjectUpdated:
            case MessageType.GlossaryNew:
            case MessageType.GlossaryDeleted:
            case MessageType.GlossaryRenamed:
            case MessageType.GlossaryUpdated:
                _ModifyBindingWhenFileChanged(type, data);
                break;

            case MessageType.XlatorSelected:
                if (data is TranslatorSelector translatorSelector)
                {
                    if (mCurrentXlator == translatorSelector)
                    {
                        break;
                    }

                    // different selector shall reload list!!
                    mCurrentXlator = translatorSelector;
                    if (mCurrentXlator != null)
                    {
                        mCurrentRemoteTranslator = mCurrentXlator.RemoteType;
                    }
                    await _ReloadAllMappingData(mProject);
                }
                break;

            case MessageType.XlatingQuick:
            case MessageType.XlatingSections:
                if (data is bool onOffXlating)
                {
                    GdMappingProjConf.IsEnabled = !onOffXlating;
                }
                break;
            }
        }