/// <summary> /// Edits the resource files. /// </summary> internal void EditResourceFiles( IGridEditableData gridEditableData, ILanguageColumnFilter filter) { var editorControl = checkGetAddEditorControl(gridEditableData, out var isNew); if (!isNew) { editorControl.DoLoadFiles(gridEditableData, filter); // -- var files = string.Empty; foreach (var fileInfo in gridEditableData.GetFileInformationsSorted()) { if (files.Length > 0) { files += @";"; } files += fileInfo.File.FullName; } // Immediately stores. MainForm.AddMruFiles(files); //if (gridEditableData.Project != null) //{ // gridEditableData.Project.AddMruElement(gridEditableData); //} } }
// ------------------------------------------------------------------ #endregion #region Private implementation. // ------------------------------------------------------------------ private static void doGetBaseName( IGridEditableData fileGroup, out string baseName, out string extension, out string removedType) { if (fileGroup == null || fileGroup.FilePaths.Length <= 0) { baseName = null; extension = null; removedType = null; } else { var fileName = ZlpPathHelper.GetFileNameFromFilePath(fileGroup.FilePaths[0]); var removedTypes = new List <string>(); fileName = removeOptionalDefaultTypes(fileGroup.ParentSettings, fileName, removedTypes); //CHANGED: using new common method. Extract all names by reverse pattern resolve baseName = GetBaseName(fileGroup.ParentSettings, fileName); extension = extractBlock(fileGroup.ParentSettings, fileName, PhExtension); removedType = (removedTypes.Count > 0 ? removedTypes[0] : null) ?? string.Empty; } }
private void doTakeSnapshot( IGridEditableData fileGroup, IEnumerable <string> languageCodes, BackgroundWorker bw) { //var fgi = fileGroup.GetFileByLanguageCode(Project, languageCode); var table = new DataProcessing(fileGroup).GetDataTableFromResxFiles(Project, true); var lcs = new List <string>(languageCodes); for (var i = 0; i < lcs.Count; i++) { lcs[i] = lcs[i].ToLowerInvariant(); } var rowIndex = 0; foreach (DataRow row in table.Rows) { if (rowIndex % 25 == 0) { if (bw.CancellationPending) { throw new OperationCanceledException(); } } // Column 0=FileGroup checksum, column 1=Tag name. var baseKey = MakeBaseKey(row[0], row[1]); for (var sourceColumnIndex = 2; sourceColumnIndex < table.Columns.Count - 1; // Subtract 1, because last column is ALWAYS the comment. ++sourceColumnIndex) { var languageValue = row[sourceColumnIndex] as string; var languageCode = ExcelExportController.IsFileName(table.Columns[sourceColumnIndex].ColumnName) ? new LanguageCodeDetection(Project) .DetectLanguageCodeFromFileName( fileGroup.ParentSettings, table.Columns[sourceColumnIndex].ColumnName) : table.Columns[sourceColumnIndex].ColumnName; languageCode = languageCode.ToLowerInvariant(); if ( /*lcs.Contains(languageCode.Substring(0, 2))||*/ lcs.Contains(languageCode)) { var key = MakeFullKey(baseKey, languageCode); PutSettingValue(key, languageValue); } } rowIndex++; } }
private void doTakeSnapshot( InMemoryTranslationSnapshot imss, Project project, IGridEditableData fileGroup, IEnumerable <string> languageCodes, BackgroundWorker bw) { //var fgi = fileGroup.GetFileByLanguageCode(Project, languageCode); var table = new DataProcessing(fileGroup).GetDataTableFromResxFiles(project, true); var lcs = new List <string>(languageCodes); for (var i = 0; i < lcs.Count; i++) { lcs[i] = lcs[i].ToLowerInvariant(); } var rowIndex = 0; foreach (DataRow row in table.Rows) { if (rowIndex % 25 == 0 && (bw?.CancellationPending ?? false)) { throw new OperationCanceledException(); } var dic = new Dictionary <string, string>(); for (var sourceColumnIndex = 2; sourceColumnIndex < table.Columns.Count - 1; // Subtract 1, because last column is ALWAYS the comment. ++sourceColumnIndex) { var languageValue = row[sourceColumnIndex] as string; var languageCode = ExcelExportController.IsFileName(table.Columns[sourceColumnIndex].ColumnName) ? new LanguageCodeDetection(project) .DetectLanguageCodeFromFileName( fileGroup.ParentSettings, table.Columns[sourceColumnIndex].ColumnName) : table.Columns[sourceColumnIndex].ColumnName; languageCode = languageCode.ToLowerInvariant(); if (lcs.Contains(languageCode)) { dic[languageCode] = languageValue; } } imss.AddBatchTranslation(dic); rowIndex++; } }
private void doTakeSnapshot( IGridEditableData fileGroup, IEnumerable<string> languageCodes, BackgroundWorker bw) { //var fgi = fileGroup.GetFileByLanguageCode(Project, languageCode); var table = new DataProcessing(fileGroup).GetDataTableFromResxFiles(Project, true); var lcs = new List<string>(languageCodes); for (var i = 0; i < lcs.Count; i++) { lcs[i] = lcs[i].ToLowerInvariant(); } var rowIndex = 0; foreach (DataRow row in table.Rows) { if (rowIndex % 25 == 0) { if (bw.CancellationPending) { throw new OperationCanceledException(); } } // Column 0=FileGroup checksum, column 1=Tag name. var baseKey = MakeBaseKey(row[0], row[1]); for (var sourceColumnIndex = 2; sourceColumnIndex < table.Columns.Count - 1; // Subtract 1, because last column is ALWAYS the comment. ++sourceColumnIndex) { var languageValue = row[sourceColumnIndex] as string; var languageCode = ExcelExportController.IsFileName(table.Columns[sourceColumnIndex].ColumnName) ? new LanguageCodeDetection(Project) .DetectLanguageCodeFromFileName( fileGroup.ParentSettings, table.Columns[sourceColumnIndex].ColumnName) : table.Columns[sourceColumnIndex].ColumnName; languageCode = languageCode.ToLowerInvariant(); if (/*lcs.Contains(languageCode.Substring(0, 2))||*/ lcs.Contains(languageCode)) { var key = MakeFullKey(baseKey, languageCode); PutSettingValue(key, languageValue); } } rowIndex++; } }
/// <summary> /// Does the load files. /// </summary> internal void DoLoadFiles( IGridEditableData gridEditableData, ILanguageColumnFilter filter) { var editorControl = checkGetAddEditorControl(gridEditableData, out var isNew); if (!isNew) { editorControl.DoLoadFiles(gridEditableData, filter); } }
/// <summary> /// Checks the get add editor control. /// </summary> /// <param name="gridEditableData">The file group.</param> /// <param name="isNew">if set to <c>true</c> [is new].</param> /// <returns></returns> private ResourceEditorUserControl checkGetAddEditorControl( IGridEditableData gridEditableData, out bool isNew) { var checksum = gridEditableData.GetChecksum(MainForm.Current.ProjectFilesControl.Project ?? Project.Empty); //FileGroup.BuildChecksum( //MainForm.Current.ProjectFilesControl.Project, //gridEditableData); foreach (XtraTabPage tabPage in mainTabControl.TabPages) { if (ConvertHelper.ToInt64(tabPage.Tag) == checksum) { mainTabControl.SelectedTabPage = tabPage; isNew = true; return((ResourceEditorUserControl)tabPage.Controls[0]); } } // -- // Not found, add new. var newTabPage = new XtraTabPage { Text = gridEditableData.GetNameIntelligent(MainForm.Current.ProjectFilesControl.Project ?? Project.Empty), Tooltip = gridEditableData.GetFullNameIntelligent(MainForm.Current.ProjectFilesControl.Project ?? Project.Empty), ImageIndex = (int)gridEditableData.SourceType, Tag = checksum }; var editorControl = new ResourceEditorUserControl { Dock = DockStyle.Fill }; newTabPage.Controls.Add(editorControl); mainTabControl.TabPages.Add(newTabPage); mainTabControl.Visible = true; mainTabControl.SelectedTabPage = newTabPage; isNew = false; return(editorControl); }
// ------------------------------------------------------------------ #endregion #region Public methods. // ------------------------------------------------------------------ public DataProcessing( IGridEditableData gridEditableData) { _gridEditableData = gridEditableData; }
public void NotifyFileGroupStateChanged(IGridEditableData gridEditableData) { FileGroupStateChanged.Raise(this, new FileGroupStateChangedEventArgs(gridEditableData)); }
public DataProcessing( IGridEditableData gridEditableData) { _gridEditableData = gridEditableData; }
public FileGroupStateChangedEventArgs( IGridEditableData gridEditableData) { GridEditableData = gridEditableData; }
/// <summary> /// Does the load files. /// </summary> internal void DoLoadFiles( IGridEditableData gridEditableData, ILanguageColumnFilter filter) { closeDataGrid(); GridEditableData = gridEditableData; _data = new DataProcessing(gridEditableData); // ReSharper disable ConvertIfStatementToConditionalTernaryExpression if (gridEditableData.GetFileInformationsSorted().Length > 0) // ReSharper restore ConvertIfStatementToConditionalTernaryExpression { fileNameTextEdit.Text = gridEditableData.FolderPath.FullName; } else { fileNameTextEdit.Text = null; } tabControl1.TabPages.Clear(); var table = _data.GetDataTableFromResxFiles(gridEditableData.Project); if (table == null) { CloseAndSaveDataGrid(); } else { // Column 0=FileGroup checksum, column 1=Tag name. for (var i = 2; i < table.Columns.Count; ++i) { var imageIndex = DataProcessing.CommentsAreVisible( gridEditableData.Project, table, CommentVisibilityScope.VisualGrid) && i == table.Columns.Count - 1 ? 1 : 0; addDetailTabPage( filter, imageIndex, imageIndex == 1 ? Resources.SR_ColumnCaption_Comment : table.Columns[i].Caption, imageIndex == 1 ? string.Empty : DataProcessing.ExtractCultureNameFromColumnCaption(table.Columns[i].Caption)); } } // -- mainDataGrid.DataSource = table; mainDataGrid.MainView.PopulateColumns(); filterColumns( filter, DataProcessing.CommentsAreVisible( gridEditableData.Project, table, CommentVisibilityScope.VisualGrid)); postpareStructure(); FormBase.RestoreState(tabControl1); UpdateUI(); restoreGridLayout(); restoreSplitterState(); // Initially. markGridContentAsUnmodified(); markDetailsContentAsUnmodified(); _currentRowIndex = -1; _canSaveGridLayout = true; // -- updateStateImage(); }
private TreeListNode locateNode(IGridEditableData fileGroup) { TreeListNode result = null; treeView.NodesIterator.DoOperation( n => { if (result == null) { var fg = n.Tag as IGridEditableData; if (fg != null && fg.GetChecksum(Project) == fileGroup.GetChecksum(Project)) { result = n; } } }); return result; }
/// <summary> /// Edits the resource files. /// </summary> internal void EditResourceFiles( IGridEditableData gridEditableData, ILanguageColumnFilter filter) { bool isNew; var editorControl = checkGetAddEditorControl(gridEditableData, out isNew); if (!isNew) { editorControl.DoLoadFiles(gridEditableData, filter); // -- var files = string.Empty; foreach (var fileInfo in gridEditableData.GetFileInformationsSorted()) { if (files.Length > 0) { files += @";"; } files += fileInfo.File.FullName; } // Immediately stores. MainForm.AddMruFiles(files); //if (gridEditableData.Project != null) //{ // gridEditableData.Project.AddMruElement(gridEditableData); //} } }
/// <summary> /// Does the load files. /// </summary> internal void DoLoadFiles( IGridEditableData gridEditableData, ILanguageColumnFilter filter) { bool isNew; var editorControl = checkGetAddEditorControl(gridEditableData, out isNew); if (!isNew) { editorControl.DoLoadFiles(gridEditableData, filter); } }
/// <summary> /// Checks the get add editor control. /// </summary> /// <param name="gridEditableData">The file group.</param> /// <param name="isNew">if set to <c>true</c> [is new].</param> /// <returns></returns> private ResourceEditorUserControl checkGetAddEditorControl( IGridEditableData gridEditableData, out bool isNew) { var checksum = gridEditableData.GetChecksum(MainForm.Current.ProjectFilesControl.Project ?? Project.Empty); //FileGroup.BuildChecksum( //MainForm.Current.ProjectFilesControl.Project, //gridEditableData); foreach (XtraTabPage tabPage in mainTabControl.TabPages) { if (ConvertHelper.ToInt64(tabPage.Tag) == checksum) { mainTabControl.SelectedTabPage = tabPage; isNew = true; return (ResourceEditorUserControl)tabPage.Controls[0]; } } // -- // Not found, add new. var newTabPage = new XtraTabPage { Text = gridEditableData.GetNameIntelligent(MainForm.Current.ProjectFilesControl.Project ?? Project.Empty), Tooltip = gridEditableData.GetFullNameIntelligent(MainForm.Current.ProjectFilesControl.Project ?? Project.Empty), ImageIndex = (int)gridEditableData.SourceType, Tag = checksum }; var editorControl = new ResourceEditorUserControl { Dock = DockStyle.Fill }; newTabPage.Controls.Add(editorControl); mainTabControl.TabPages.Add(newTabPage); mainTabControl.Visible = true; mainTabControl.SelectedTabPage = newTabPage; isNew = false; return editorControl; }
// ------------------------------------------------------------------ #endregion #region Private implementation. // ------------------------------------------------------------------ private static void doGetBaseName( IGridEditableData fileGroup, out string baseName, out string extension, out string removedType) { if (fileGroup == null || fileGroup.FilePaths.Length <= 0) { baseName = null; extension = null; removedType = null; } else { var fileName = ZlpPathHelper.GetFileNameFromFilePath(fileGroup.FilePaths[0]); var removedTypes = new List<string>(); fileName = removeOptionalDefaultTypes(fileGroup.ParentSettings, fileName, removedTypes); //CHANGED: using new common method. Extract all names by reverse pattern resolve baseName = GetBaseName(fileGroup.ParentSettings, fileName); extension = extractBlock(fileGroup.ParentSettings, fileName, PhExtension); removedType = (removedTypes.Count > 0 ? removedTypes[0] : null) ?? string.Empty; } }
public FileGroupStateChangedEventArgs( IGridEditableData gridEditableData) { _gridEditableData = gridEditableData; }