Exemple #1
0
        private void loadBtn_Click(object sender, EventArgs e)
        {
            var loadFolderPath = new FolderSelectDialog();
            var doc            = new XmlDocument();

            if (loadFolderPath.ShowDialog())
            {
                var externalProjectsBindingList = new BindingList <ProjectDetails>();
                _areExternalStudioProjects = true;
                _languages.Clear();
                _projectsDataSource.Clear();
                var projectsPathList = Directory.GetFiles(loadFolderPath.FileName, "*.sdlproj", SearchOption.AllDirectories);
                foreach (var projectPath in projectsPathList)
                {
                    var reportFolderPath = Path.Combine(projectPath.Substring(0, projectPath.LastIndexOf(@"\", StringComparison.Ordinal)), "Reports");
                    if (Help.ReportFileExist(reportFolderPath))
                    {
                        var projectDetails = ProjectInformation.GetExternalProjectDetails(projectPath);

                        doc.Load(projectDetails.ProjectPath);
                        Help.LoadReports(doc, projectDetails.ProjectFolderPath, projectDetails);
                        externalProjectsBindingList.Add(projectDetails);
                    }
                }
                foreach (var item in externalProjectsBindingList)
                {
                    _projectsDataSource.Add(item);
                }

                projListbox.DataSource = _projectsDataSource;
                RefreshProjectsListBox();
                RefreshLanguageListbox();
            }
        }
Exemple #2
0
        private bool ReportFolderExist(XmlNode projectInfoNode)
        {
            if (projectInfoNode?.Attributes != null)
            {
                var filePath = Empty;

                if (projectInfoNode.Attributes["ProjectFilePath"] != null)
                {
                    filePath = projectInfoNode.Attributes["ProjectFilePath"].Value;
                    if (!Path.IsPathRooted(filePath))
                    {
                        //project is located inside "Projects" folder in Studio
                        var projectsFolderPath = _projectXmlPath.Substring
                                                     (0, _projectXmlPath.LastIndexOf(@"\", StringComparison.Ordinal) + 1);
                        var projectName = filePath.Substring(0, filePath.LastIndexOf(@"\", StringComparison.Ordinal));
                        filePath = Path.Combine(projectsFolderPath, projectName, "Reports");
                    }
                    else
                    {
                        //is external project
                        var reportsPath = filePath.Substring(0, filePath.LastIndexOf(@"\", StringComparison.Ordinal) + 1);
                        filePath = Path.Combine(reportsPath, "Reports");
                    }
                }
                return(Help.ReportFileExist(filePath));
            }
            return(false);
        }
Exemple #3
0
        /// <summary>
        /// Creates project details for given project from xml file
        /// </summary>
        /// <param name="projNode"></param>
        /// <returns></returns>
        private ProjectDetails CreateProjectDetails(XmlNode projNode)
        {
            var projectDetails = new ProjectDetails
            {
                LanguagesForPoject = new Dictionary <string, bool>(),
                ShouldBeExported   = false
            };
            var projectFolderPath = Empty;
            var doc = new XmlDocument();

            var selectSingleNode = projNode.SelectSingleNode("ProjectInfo");

            if (selectSingleNode?.Attributes != null)
            {
                projectDetails.ProjectName = selectSingleNode.Attributes["Name"].Value;
            }
            if (projNode.Attributes != null)
            {
                projectFolderPath = projNode.Attributes["ProjectFilePath"].Value;
            }
            if (Path.IsPathRooted(projectFolderPath))
            {
                projectDetails.ProjectPath = projectFolderPath;                 //location outside standard project place
            }
            else
            {
                var projectsFolderPath = _projectXmlPath.Substring
                                             (0, _projectXmlPath.LastIndexOf(@"\", StringComparison.Ordinal) + 1);
                projectDetails.ProjectPath = projectsFolderPath + projectFolderPath;
            }
            var projectStatus = ProjectInformation.GetProjectStatus(projectDetails.ProjectPath);

            doc.Load(projectDetails.ProjectPath);

            var projectLanguages = Help.LoadLanguageDirections(doc);

            SetLanguagesForProject(projectDetails, projectLanguages);

            projectDetails.Status = projectStatus;
            return(projectDetails);
        }
Exemple #4
0
        private void InitializeSettings()
        {
            _areExternalStudioProjects = false;
            copyBtn.Enabled            = false;
            csvBtn.Enabled             = false;
            targetBtn.Enabled          = false;
            includeHeaderCheck.Checked = true;
            _projectXmlPath            = Help.GetStudioProjectsPath();
            _allStudioProjectsDetails  = new List <ProjectDetails>();
            LoadProjectsList(_projectXmlPath);

            _optionalInformation = new OptionalInformation
            {
                IncludeAdaptiveBaseline  = adaptiveMT.Checked,
                IncludeAdaptiveLearnings = adaptiveLearnings.Checked,
                IncludeInternalFuzzies   = internalFuzzies.Checked,
                IncludeContextMatch      = contextMatch.Checked,
                IncludeCrossRep          = crossRep.Checked,
                IncludeLocked            = locked.Checked,
                IncludePerfectMatch      = perfectMatch.Checked
            };
        }
Exemple #5
0
        private void PrepareProjectToExport(ProjectDetails selectedProject)
        {
            if (selectedProject != null)
            {
                var doc = new XmlDocument();
                var selectedProjectIndex = _projectsDataSource.IndexOf(selectedProject);

                if (selectedProjectIndex > -1)
                {
                    //Read sdlproj
                    doc.Load(selectedProject.ProjectPath);
                    Help.LoadReports(doc, selectedProject.ProjectFolderPath, selectedProject);

                    selectedProject.ShouldBeExported = true;
                    //if an project has only one language select that language
                    if (selectedProject.LanguagesForPoject != null)
                    {
                        if (selectedProject.LanguagesForPoject.Count.Equals(1))
                        {
                            var languageName         = selectedProject.LanguagesForPoject.First().Key;
                            var languageToBeSelected = _languages.FirstOrDefault(n => n.LanguageName.Equals(languageName));
                            if (languageToBeSelected != null)
                            {
                                languageToBeSelected.IsChecked = true;
                            }
                            else
                            {
                                var newLanguage = new LanguageDetails
                                {
                                    LanguageName = languageName,
                                    IsChecked    = true
                                };
                                _languages.Add(newLanguage);
                            }
                            selectedProject.LanguagesForPoject[languageName] = true;
                        }
                    }

                    var languagesAlreadySelectedForExport = _languages.Where(l => l.IsChecked).ToList();

                    foreach (var language in languagesAlreadySelectedForExport)
                    {
                        if (selectedProject.LanguagesForPoject != null && selectedProject.LanguagesForPoject.ContainsKey(language.LanguageName))
                        {
                            selectedProject.LanguagesForPoject[language.LanguageName] = true;
                        }
                    }
                    //show languages in language list box
                    FillLanguagesList();

                    reportOutputPath.Text = selectedProject.ReportPath ?? Empty;

                    copyBtn.Enabled = projListbox.SelectedItems.Count == 1;
                    if (projListbox.SelectedItems.Count > 0)
                    {
                        csvBtn.Enabled = true;
                    }
                    RefreshLanguageListbox();
                }
            }
        }