public FileViewerInternal() { InitializeComponent(); InitializeComplete(); _currentViewPositionCache = new CurrentViewPositionCache(this); TextEditor.TextChanged += (s, e) => TextChanged?.Invoke(s, e); TextEditor.ActiveTextAreaControl.VScrollBar.ValueChanged += (s, e) => ScrollPosChanged?.Invoke(s, e); TextEditor.ActiveTextAreaControl.TextArea.KeyUp += (s, e) => KeyUp?.Invoke(s, e); TextEditor.ActiveTextAreaControl.TextArea.DoubleClick += (s, e) => DoubleClick?.Invoke(s, e); TextEditor.ActiveTextAreaControl.TextArea.MouseMove += (s, e) => MouseMove?.Invoke(s, e); TextEditor.ActiveTextAreaControl.TextArea.MouseEnter += (s, e) => MouseEnter?.Invoke(s, e); TextEditor.ActiveTextAreaControl.TextArea.MouseLeave += (s, e) => MouseLeave?.Invoke(s, e); TextEditor.ActiveTextAreaControl.TextArea.MouseDown += (s, e) => { SelectedLineChanged?.Invoke( this, new SelectedLineEventArgs( TextEditor.ActiveTextAreaControl.TextArea.TextView.GetLogicalLine(e.Y))); }; HighlightingManager.Manager.DefaultHighlighting.SetColorFor("LineNumbers", new HighlightColor(Color.FromArgb(80, 0, 0, 0), Color.White, false, false)); TextEditor.ActiveTextAreaControl.TextEditorProperties.EnableFolding = false; _lineNumbersControl = new DiffViewerLineNumberControl(TextEditor.ActiveTextAreaControl.TextArea); VRulerPosition = AppSettings.DiffVerticalRulerPosition; }
private void VScrollBar_ValueChanged(object sender, EventArgs e) { ScrollPosChanged?.Invoke(sender, e); }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; NumberOfContextLines = AppSettings.NumberOfContextLines; InitializeComponent(); InitializeComplete(); UICommandsSourceSet += OnUICommandsSourceSet; _internalFileViewer = new FileViewerInternal(() => Module); _internalFileViewer.MouseEnter += (_, e) => OnMouseEnter(e); _internalFileViewer.MouseLeave += (_, e) => OnMouseLeave(e); _internalFileViewer.MouseMove += (_, e) => OnMouseMove(e); _internalFileViewer.KeyUp += (_, e) => OnKeyUp(e); var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (_, e) => { if (!IsDisposed) { ResetForText(null); _internalFileViewer.SetText("Unsupported file: \n\n" + e.Exception.ToString(), openWithDifftool: null /* not applicable */); TextLoaded?.Invoke(this, null); } }; IgnoreWhitespaceChanges = AppSettings.IgnoreWhitespaceChanges; ignoreWhiteSpaces.Checked = IgnoreWhitespaceChanges; ignoreWhiteSpaces.Image = Images.WhitespaceIgnore; ignoreWhitespaceChangesToolStripMenuItem.Checked = IgnoreWhitespaceChanges; ignoreWhitespaceChangesToolStripMenuItem.Image = ignoreWhiteSpaces.Image; ignoreAllWhitespaces.Checked = AppSettings.IgnoreAllWhitespaceChanges; ignoreAllWhitespaces.Image = Images.WhitespaceIgnoreAll; ignoreAllWhitespaceChangesToolStripMenuItem.Checked = ignoreAllWhitespaces.Checked; ignoreAllWhitespaceChangesToolStripMenuItem.Image = ignoreAllWhitespaces.Image; ShowEntireFile = AppSettings.ShowEntireFile; showEntireFileButton.Checked = ShowEntireFile; showEntireFileToolStripMenuItem.Checked = ShowEntireFile; SetStateOfContextLinesButtons(); showNonPrintChars.Checked = AppSettings.ShowNonPrintingChars; showNonprintableCharactersToolStripMenuItem.Checked = AppSettings.ShowNonPrintingChars; ToggleNonPrintingChars(AppSettings.ShowNonPrintingChars); IsReadOnly = true; var encodingList = AppSettings.AvailableEncodings.Values.Select(e => e.EncodingName).ToList(); var defaultEncodingName = Encoding.Default.EncodingName; for (int i = 0; i < encodingList.Count; i++) { if (string.Equals(encodingList[i], defaultEncodingName, StringComparison.OrdinalIgnoreCase)) { encodingList[i] = "Default (" + Encoding.Default.HeaderName + ")"; break; } } encodingToolStripComboBox.Items.AddRange(encodingList.ToArray <object>()); _internalFileViewer.MouseMove += (_, e) => { if (_currentViewIsPatch && !fileviewerToolbar.Visible) { fileviewerToolbar.Visible = true; fileviewerToolbar.Location = new Point(Width - fileviewerToolbar.Width - 40, 0); fileviewerToolbar.BringToFront(); } }; _internalFileViewer.MouseLeave += (_, e) => { if (GetChildAtPoint(PointToClient(MousePosition)) != fileviewerToolbar && fileviewerToolbar != null) { fileviewerToolbar.Visible = false; } }; _internalFileViewer.TextChanged += (sender, e) => { if (_patchHighlighting) { _internalFileViewer.AddPatchHighlighting(); } TextChanged?.Invoke(sender, e); }; _internalFileViewer.ScrollPosChanged += (sender, e) => ScrollPosChanged?.Invoke(sender, e); _internalFileViewer.SelectedLineChanged += (sender, e) => SelectedLineChanged?.Invoke(sender, e); _internalFileViewer.DoubleClick += (_, args) => RequestDiffView?.Invoke(this, EventArgs.Empty); HotkeysEnabled = true; if (!IsDesignModeActive && ContextMenuStrip == null) { ContextMenuStrip = contextMenu; } contextMenu.Opening += (sender, e) => { copyToolStripMenuItem.Enabled = _internalFileViewer.GetSelectionLength() > 0; ContextMenuOpening?.Invoke(sender, e); }; _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; NumberOfContextLines = AppSettings.NumberOfContextLines; InitializeComponent(); InitializeComplete(); UICommandsSourceSet += OnUICommandsSourceSet; internalFileViewer.MouseEnter += (_, e) => OnMouseEnter(e); internalFileViewer.MouseLeave += (_, e) => OnMouseLeave(e); internalFileViewer.MouseMove += (_, e) => OnMouseMove(e); internalFileViewer.KeyUp += (_, e) => OnKeyUp(e); _async = new AsyncLoader(); _async.LoadingError += (_, e) => { if (!IsDisposed) { ResetForText(null); internalFileViewer.SetText("Unsupported file: \n\n" + e.Exception.ToString(), openWithDifftool: null /* not applicable */); TextLoaded?.Invoke(this, null); } }; IgnoreWhitespaceChanges = AppSettings.IgnoreWhitespaceChanges; ignoreWhiteSpaces.Checked = IgnoreWhitespaceChanges; ignoreWhiteSpaces.Image = Images.WhitespaceIgnore; ignoreWhitespaceChangesToolStripMenuItem.Checked = IgnoreWhitespaceChanges; ignoreWhitespaceChangesToolStripMenuItem.Image = ignoreWhiteSpaces.Image; ignoreAllWhitespaces.Checked = AppSettings.IgnoreAllWhitespaceChanges; ignoreAllWhitespaces.Image = Images.WhitespaceIgnoreAll; ignoreAllWhitespaceChangesToolStripMenuItem.Checked = ignoreAllWhitespaces.Checked; ignoreAllWhitespaceChangesToolStripMenuItem.Image = ignoreAllWhitespaces.Image; ShowEntireFile = AppSettings.ShowEntireFile; showEntireFileButton.Checked = ShowEntireFile; showEntireFileToolStripMenuItem.Checked = ShowEntireFile; SetStateOfContextLinesButtons(); showNonPrintChars.Checked = AppSettings.ShowNonPrintingChars; showNonprintableCharactersToolStripMenuItem.Checked = AppSettings.ShowNonPrintingChars; ToggleNonPrintingChars(AppSettings.ShowNonPrintingChars); IsReadOnly = true; internalFileViewer.MouseMove += (_, e) => { if (_currentViewIsPatch && !fileviewerToolbar.Visible) { fileviewerToolbar.Visible = true; fileviewerToolbar.Location = new Point(Width - fileviewerToolbar.Width - 40, 0); fileviewerToolbar.BringToFront(); } }; internalFileViewer.MouseLeave += (_, e) => { if (GetChildAtPoint(PointToClient(MousePosition)) != fileviewerToolbar && fileviewerToolbar != null) { fileviewerToolbar.Visible = false; } }; internalFileViewer.TextChanged += (sender, e) => { if (_patchHighlighting) { internalFileViewer.AddPatchHighlighting(); } TextChanged?.Invoke(sender, e); }; internalFileViewer.ScrollPosChanged += (sender, e) => ScrollPosChanged?.Invoke(sender, e); internalFileViewer.SelectedLineChanged += (sender, e) => SelectedLineChanged?.Invoke(sender, e); internalFileViewer.DoubleClick += (_, args) => RequestDiffView?.Invoke(this, EventArgs.Empty); HotkeysEnabled = true; if (!IsDesignModeActive && ContextMenuStrip == null) { ContextMenuStrip = contextMenu; } contextMenu.Opening += (sender, e) => { copyToolStripMenuItem.Enabled = internalFileViewer.GetSelectionLength() > 0; ContextMenuOpening?.Invoke(sender, e); }; _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); }
void _internalFileViewer_ScrollPosChanged(object sender, EventArgs e) { ScrollPosChanged?.Invoke(sender, e); }