コード例 #1
0
        /// <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);
                //}
            }
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
		private void addDetailTabPage(
			ILanguageColumnFilter filter,
			int imageIndex,
			string name,
			string languageCode)
		{
			var tabPage =
				new XtraTabPage
					{
						Text = name,
						ImageIndex = imageIndex,
					};
			tabControl1.TabPages.Add(tabPage);

			if (!string.IsNullOrEmpty(languageCode))
			{
				if (filter != null && !filter.WantDisplayLanguageColumnInGrid(languageCode))
				{
					tabPage.PageVisible = false;
				}
			}

			var textBox = new MemoEdit();
			textBox.TextChanged += textBox_TextChanged;
			textBox.KeyDown += textBox_KeyDown;
			textBox.Name = @"ColumnText";
			tabPage.Controls.Add(textBox);

			if (!StringExtensionMethods.IsNullOrWhiteSpace(languageCode))
			{
				var isRtl = CultureHelper.CreateCultureErrorTolerant(languageCode).TextInfo.IsRightToLeft;
				if (isRtl)
				{
					textBox.RightToLeft = RightToLeft.Yes;
				}
			}

			textBox.Properties.AcceptsReturn = true;
			textBox.Properties.AcceptsTab = true;
			textBox.AllowDrop = true;
			textBox.Dock = DockStyle.Fill;
			textBox.Properties.HideSelection = false;
			textBox.Properties.ScrollBars = ScrollBars.Vertical;
			textBox.TabIndex = 0;

			// --
			// Spell checker.

			var project = MainForm.Current.ProjectFilesControl.Project ?? Project.Empty;

			if (project != null && project.UseSpellChecker)
			{
				var culture =
					new LanguageCodeDetection(project).DetectCultureFromFileName(
					GridEditableData.ParentSettings,
					name);

				var spellChecker = CultureHelper.CreateSpellChecker(culture);
				if (spellChecker != null)
				{
					spellChecker.ParentContainer = textBox;
					spellChecker.SetShowSpellCheckMenu(textBox, true);
				}
			}
		}
コード例 #4
0
		private void filterColumns(
			ILanguageColumnFilter filter,
			bool commentsAreVisible)
		{
			// Column 0=FileGroup checksum, column 1=Tag name.
			// Always hide checksum.
			mainGridView.Columns[0].Visible = false;

			// --

			if (filter != null && filter.HasLanguageToDisplayFilter)
			{
				// http://www.devexpress.com/Support/Center/p/Q93654.aspx

				var index = 0;
				foreach (GridColumn column in mainGridView.Columns)
				{
					if (index > 1) // Column 0=FileGroup checksum, column 1=Tag name.
					{
						if (commentsAreVisible && index <= mainGridView.Columns.Count - 2 ||
							!commentsAreVisible && index <= mainGridView.Columns.Count - 1)
						{
							var languageName =
								DataProcessing.ExtractCultureNameFromColumnCaption(column.GetCaption());

							if (!string.IsNullOrEmpty(languageName))
							{
								if (!filter.WantDisplayLanguageColumnInGrid(languageName))
								{
									column.Visible = false;
								}
							}
						}
					}

					index++;
				}
			}
		}
コード例 #5
0
		/// <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();
		}
コード例 #6
0
		/// <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);
				//}
			}
		}
コード例 #7
0
		/// <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);
			}
		}