private void UpdateLineEndingIndicator(LineEnding lineEnding) { if (StatusBar == null) { return; } LineEndingIndicator.Text = LineEndingUtility.GetLineEndingDisplayText(lineEnding); }
private void SetupStatusBar(TextEditor textEditor) { PathIndicator.Text = textEditor.EditingFile != null ? textEditor.EditingFile.Path : _defaultNewFileName; LineEndingIndicator.Text = LineEndingUtility.GetLineEndingDisplayText(textEditor.LineEnding); UpdateEncodingIndicatorText(textEditor.Encoding); textEditor.GetCurrentLineColumn(out var line, out var column, out var selectedCount); LineColumnIndicator.Text = selectedCount == 0 ? $"Ln {line} Col {column}" : $"Ln {line} Col {column} ({selectedCount} selected)"; }
private void TextEditor_Loaded(object sender, RoutedEventArgs e) { if (!(sender is TextEditor textEditor)) { return; } textEditor.TextChanging += TextEditor_TextChanging; textEditor.SelectionChanged += TextEditor_SelectionChanged; textEditor.Focus(FocusState.Programmatic); PathIndicator.Text = textEditor.EditingFile != null ? textEditor.EditingFile.Path : DefaultFileName; LineEndingIndicator.Text = LineEndingUtility.GetLineEndingDisplayText(textEditor.LineEnding); EncodingIndicator.Text = textEditor.Encoding.EncodingName; textEditor.GetCurrentLineColumn(out var line, out var column, out var selectedCount); LineColumnIndicator.Text = selectedCount == 0 ? $"Ln {line} Col {column}" : $"Ln {line} Col {column} ({selectedCount} selected)"; }
private void EditorSettingsService_OnDefaultLineEndingChanged(object sender, LineEnding lineEnding) { if (Sets.Items == null) { return; } foreach (SetsViewItem setItem in Sets.Items) { if (!(setItem.Content is TextEditor textEditor)) { continue; } if (textEditor.EditingFile != null) { continue; } textEditor.LineEnding = lineEnding; if (textEditor == ((SetsViewItem)Sets.SelectedItem)?.Content) { LineEndingIndicator.Text = LineEndingUtility.GetLineEndingDisplayText(textEditor.LineEnding); } } }
private async void SaveButton_Click(object sender, RoutedEventArgs e) { if (!(sender is TextEditor textEditor)) { textEditor = (Sets.SelectedItem as SetsViewItem)?.Content as TextEditor; if (textEditor == null) { return; } } StorageFile file; if (textEditor.EditingFile == null || e is SaveAsEventArgs || FileSystemUtility.IsFileReadOnly(textEditor.EditingFile) || !await FileSystemUtility.FileIsWritable(textEditor.EditingFile)) { file = await FilePickerFactory.GetFileSavePicker(e, textEditor, DefaultFileName).PickSaveFileAsync(); textEditor.Focus(FocusState.Programmatic); } else { file = textEditor.EditingFile; } if (file == null) { return; } var success = await textEditor.SaveFile(file); if (success) { if (Sets.Items != null) { foreach (SetsViewItem setsItem in Sets.Items) { if (setsItem.Content != textEditor) { continue; } setsItem.Header = file.Name; setsItem.Icon.Visibility = Visibility.Collapsed; PathIndicator.Text = textEditor.EditingFile.Path; LineEndingIndicator.Text = LineEndingUtility.GetLineEndingDisplayText(textEditor.LineEnding); EncodingIndicator.Text = textEditor.Encoding.EncodingName; break; } } ShowNotificationMessage("Saved", 2000); } else { await ContentDialogFactory.GetFileSaveErrorDialog(file).ShowAsync(); } }