/// <summary> /// 根据后缀选择最佳视图,并且切换至最佳视图 /// </summary> /// <param name="extension">要切换的后缀</param> /// <param name="argsType">打开方式</param> private IFileViewer _Open(string extension, FileViewerArgsType argsType) { if (this.FileViewers == null || this.FileViewers.Count == 0) { return(null); } FileViewerType type = FileViewerConfig.Config.BestSupport(extension, argsType, this.FileViewers.Select(p => p.ViewerType).ToArray()); IFileViewer viewer = this.FileViewers.Where(p => p.ViewerType == type).FirstOrDefault(); foreach (UIElement ui in this.FileViewers) { if (ui == null) { continue; } if (ui == viewer) { ui.Visibility = System.Windows.Visibility.Visible; IFileViewer ifv = ui as IFileViewer; } else { ui.Visibility = System.Windows.Visibility.Collapsed; } } this.CurrentFileViewer = viewer; return(viewer); }
private void cmdEdit_Click(object sender, System.EventArgs e) { IFileViewer fileViewer = GetCurrentViewer(); int fileID = fileViewer.FileID; CFile file = new FileSystem(Globals.CurrentIdentity).GetFile(fileID); //Check to see if this file is locked if (!CheckLock(file)) { BindData(GetWindow()); return; } try { new FileSystem(Globals.CurrentIdentity).Edit(file); } catch (FileOperationException er) { PageError(er.Message); return; } fileViewer.Edit(); cmdSave.Enabled = cmdCancel.Enabled = true; cmdEdit.Enabled = false; CheckLock(file); }
private void RenderFile(Blob blob, string filePath, string extension) { ViewModel.ErrorText = null; if (blob == null) { return; } ViewerContent.Children.Clear(); UserControl fileViewerControl = CreateViewer(extension ?? Path.GetExtension(blob)); _viewer = (IFileViewer)fileViewerControl; if (_viewer is IFileEditor editor) { editor.FileChanged += _ => ViewModel.HasChanged = true; } try { _viewer.SetContentFromFile(filePath, extension); ViewerContent.Children.Add(fileViewerControl); } catch (Exception ex) { ViewModel.ErrorText = ex.Message; Log.Error(ex, "failed to render"); } }
/// <summary> /// 强制切换至某视图 /// </summary> /// <param name="type">要切换至的视图类型</param> /// <returns>是否成功切换</returns> public bool ChangeToView(FileViewerType type) { if (this.FileViewers == null || this.FileViewers.Count == 0) { return(false); } IFileViewer ifv = this.FileViewers.Where(p => p.ViewerType == type).FirstOrDefault(); if (ifv != null && ifv is UIElement) { UIElement ui = ifv as UIElement; foreach (UIElement element in this.FileViewers) { if (element != null && element != ui) { element.Visibility = System.Windows.Visibility.Collapsed; } } ui.Visibility = System.Windows.Visibility.Visible; return(true); } else { return(false); } }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; NumberOfVisibleLines = 3; InitializeComponent(); Translate(); if (GitCommands.Settings.RunningOnWindows()) { _internalFileViewer = new FileViewerWindows(); } else { _internalFileViewer = new FileViewerMono(); } _internalFileViewer.MouseEnter += _internalFileViewer_MouseEnter; _internalFileViewer.MouseLeave += _internalFileViewer_MouseLeave; _internalFileViewer.MouseMove += _internalFileViewer_MouseMove; var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (sender, args) => { ResetForText(null); _internalFileViewer.SetText("Unsupported file"); if (TextLoaded != null) { TextLoaded(this, null); } }; IgnoreWhitespaceChanges = false; IsReadOnly = true; this.encodingToolStripComboBox.Items.AddRange(new Object[] { "Default (" + Encoding.Default.HeaderName + ")", "ASCII", "Unicode", "UTF7", "UTF8", "UTF32" }); _internalFileViewer.MouseMove += TextAreaMouseMove; _internalFileViewer.MouseLeave += TextAreaMouseLeave; _internalFileViewer.TextChanged += TextEditor_TextChanged; _internalFileViewer.ScrollPosChanged += _internalFileViewer_ScrollPosChanged; _internalFileViewer.SelectedLineChanged += _internalFileViewer_SelectedLineChanged; _internalFileViewer.DoubleClick += (sender, args) => OnRequestDiffView(EventArgs.Empty); this.HotkeysEnabled = true; ContextMenu.Opening += ContextMenu_Opening; }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; NumberOfVisibleLines = 3; InitializeComponent(); Translate(); GitUICommandsSourceSet += FileViewer_GitUICommandsSourceSet; _internalFileViewer = new FileViewerInternal(); _internalFileViewer.MouseEnter += _internalFileViewer_MouseEnter; _internalFileViewer.MouseLeave += _internalFileViewer_MouseLeave; _internalFileViewer.MouseMove += _internalFileViewer_MouseMove; var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (sender, args) => { ResetForText(null); _internalFileViewer.SetText("Unsupported file: \n\n" + args.Exception.Message); if (TextLoaded != null) { TextLoaded(this, null); } }; IgnoreWhitespaceChanges = AppSettings.IgnoreWhitespaceChanges; ignoreWhiteSpaces.Checked = IgnoreWhitespaceChanges; IsReadOnly = true; this.encodingToolStripComboBox.Items.AddRange(new Object[] { "Default (" + Encoding.Default.HeaderName + ")", "DOS852", "ASCII", "Unicode", "UTF7", "UTF8", "UTF32" }); _internalFileViewer.MouseMove += TextAreaMouseMove; _internalFileViewer.MouseLeave += TextAreaMouseLeave; _internalFileViewer.TextChanged += TextEditor_TextChanged; _internalFileViewer.ScrollPosChanged += _internalFileViewer_ScrollPosChanged; _internalFileViewer.SelectedLineChanged += _internalFileViewer_SelectedLineChanged; _internalFileViewer.DoubleClick += (sender, args) => OnRequestDiffView(EventArgs.Empty); this.HotkeysEnabled = true; if (RunTime() && ContextMenuStrip == null) { ContextMenuStrip = contextMenu; } contextMenu.Opening += ContextMenu_Opening; }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; NumberOfVisibleLines = 3; InitializeComponent(); Translate(); GitUICommandsSourceSet += FileViewer_GitUICommandsSourceSet; if (GitCommands.Utils.EnvUtils.RunningOnWindows()) _internalFileViewer = new FileViewerWindows(); else _internalFileViewer = new FileViewerMono(); _internalFileViewer.MouseEnter += _internalFileViewer_MouseEnter; _internalFileViewer.MouseLeave += _internalFileViewer_MouseLeave; _internalFileViewer.MouseMove += _internalFileViewer_MouseMove; var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (sender, args) => { ResetForText(null); _internalFileViewer.SetText("Unsupported file: \n\n" + args.Exception.Message); if (TextLoaded != null) TextLoaded(this, null); }; IgnoreWhitespaceChanges = AppSettings.IgnoreWhitespaceChanges; ignoreWhiteSpaces.Checked = IgnoreWhitespaceChanges; IsReadOnly = true; this.encodingToolStripComboBox.Items.AddRange(new Object[] { "Default (" + Encoding.Default.HeaderName + ")", "ASCII", "Unicode", "UTF7", "UTF8", "UTF32" }); _internalFileViewer.MouseMove += TextAreaMouseMove; _internalFileViewer.MouseLeave += TextAreaMouseLeave; _internalFileViewer.TextChanged += TextEditor_TextChanged; _internalFileViewer.ScrollPosChanged += _internalFileViewer_ScrollPosChanged; _internalFileViewer.SelectedLineChanged += _internalFileViewer_SelectedLineChanged; _internalFileViewer.DoubleClick += (sender, args) => OnRequestDiffView(EventArgs.Empty); this.HotkeysEnabled = true; if (RunTime() && ContextMenuStrip == null) ContextMenuStrip = contextMenu; contextMenu.Opening += ContextMenu_Opening; }
public SignatureListViewModel(ISignatureService signatureService, IFileViewer fileViewer) { this.signatureService = signatureService; this.fileViewer = fileViewer; this.Configure = new Command(() => App.NavigateTo<SignaturePadConfigViewModel>()); this.Create = new Command(this.OnCreate); this.Delete = new Command<Signature>(x => this.OnDelete(x)); this.View = new Command<Signature>(this.OnView); this.List = new ObservableCollection<Signature>(); }
/// <summary> /// 打开文件 /// </summary> /// <param name="stream">文件流</param> /// <param name="extension">要打开的文件扩展名</param> public void Open(System.IO.Stream stream, string extension) { IFileViewer viewer = this._Open(extension, FileViewerArgsType.Stream); if (viewer != null) { viewer.Open(stream, extension); } this.OpenArgs = stream; }
/// <summary> /// 打开文件 /// </summary> /// <param name="buffer">文件Buffer</param> /// <param name="extension">要打开的文件扩展名</param> public void Open(byte[] buffer, string extension) { IFileViewer viewer = this._Open(extension, FileViewerArgsType.Buffer); if (viewer != null) { viewer.Open(buffer, extension); } this.OpenArgs = buffer; }
public SignatureListViewModel(ISignatureService signatureService, IUserDialogService dialogs, IFileSystem fileSystem, IFileViewer fileViewer) { this.signatureService = signatureService; this.dialogs = dialogs; this.fileSystem = fileSystem; this.fileViewer = fileViewer; this.Configure = new Command(() => App.NavigateTo<SignaturePadConfigViewModel>()); this.Create = new Command(this.OnCreate); this.List = new ObservableList<Signature>(); }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; DisableFocusControlOnHover = false; NumberOfVisibleLines = 3; InitializeComponent(); Translate(); if (GitCommands.Settings.RunningOnWindows()) _internalFileViewer = new FileViewerWindows(); else _internalFileViewer = new FileViewerMono(); _internalFileViewer.MouseLeave += _internalFileViewer_MouseLeave; _internalFileViewer.MouseMove += _internalFileViewer_MouseMove; var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (sender, args) => { ResetForText(null); _internalFileViewer.SetText("Unsupported file"); if (TextLoaded != null) TextLoaded(this, null); }; IgnoreWhitespaceChanges = false; IsReadOnly = true; Settings.WorkingDirChanged += WorkingDirChanged; this.Encoding = Settings.FilesEncoding; this.encodingToolStripComboBox.Items.AddRange(new Object[] { "Default (" + Encoding.Default.HeaderName + ")", "ASCII", "Unicode", "UTF7", "UTF8", "UTF32" }); _internalFileViewer.MouseMove += TextAreaMouseMove; _internalFileViewer.MouseLeave += TextAreaMouseLeave; _internalFileViewer.TextChanged += TextEditor_TextChanged; _internalFileViewer.ScrollPosChanged += new EventHandler(_internalFileViewer_ScrollPosChanged); _internalFileViewer.SelectedLineChanged += new SelectedLineChangedEventHandler(_internalFileViewer_SelectedLineChanged); _internalFileViewer.DoubleClick += (sender, args) => OnRequestDiffView(EventArgs.Empty); this.HotkeysEnabled = true; ContextMenu.Opening += ContextMenu_Opening; }
/// <summary> /// 打开文件 /// </summary> /// <param name="path">文件路径</param> public void Open(string path) { string extension = System.IO.Path.GetExtension(path); IFileViewer viewer = this._Open(extension, FileViewerArgsType.Path); if (viewer != null) { viewer.Open(path); } this.OpenArgs = path; }
private void cmdCreate_Click(object sender, System.EventArgs e) { string comment; double points; IFileViewer fileViewer = GetCurrentViewer(); int fileID = fileViewer.FileID, type; int rubID = ucRubric.GetCurrentRubricID(); CannedResponse can = GetCannedResponse(); ArrayList lines; string parserrmsg = ""; //Try to parse line string try { lines = ParseLinesAffected(txtLines.Text); } catch (Exception er) { lines = null; parserrmsg = er.Message; } if (lines == null) { PageCommentError(parserrmsg); } else if (lines.Count == 0) { PageCommentError("Must enter at least one line affected"); } else { if (can == null) { comment = txtCustom.Text; type = Convert.ToInt32(ddlType.SelectedValue); points = Convert.ToDouble(txtPoints.Text); } else { comment = can.Comment; type = can.Type; points = can.Points; } try { new Results(Globals.CurrentIdentity).CreateSubj(GetSubID(), rubID, comment, fileID, (int)lines[0], points, lines, type); } catch (DataAccessException er) { PageCommentError(er.Message); } catch (LineParseException er) { PageCommentError(er.Message); } } ucRubric.UpdateRubric(); BindData(GetWindow()); }
public SignatureListViewModel(ISignatureService signatureService, IUserDialogService dialogs, IFileSystem fileSystem, IFileViewer fileViewer) { this.signatureService = signatureService; this.dialogs = dialogs; this.fileSystem = fileSystem; this.fileViewer = fileViewer; this.Configure = new Command(() => App.NavigateTo <SignaturePadConfigViewModel>()); this.Create = new Command(this.OnCreate); this.List = new ObservableList <Signature>(); }
public void Setup() { _ResourceResolver = new TinyIoCContainer(); _Configuration = Mock.Of <IConfiguration>(); _ResourceResolver.Register <IConfiguration>(_Configuration); _FileViewer = Mock.Of <IFileViewer>(); _ResourceResolver.Register <IFileViewer>(_FileViewer); _ResourceResolver.Register <IFileLocationParser>(Mock.Of <IFileLocationParser>()); _ResourceResolver.Register <IFileLocationMapper>(Mock.Of <IFileLocationMapper>()); _MainViewModel = new MainViewModel(_ResourceResolver); }
public SignatureListViewModel(ISignatureService signatureService, IFileViewer fileViewer) { this.signatureService = signatureService; this.fileViewer = fileViewer; this.Configure = new Command(() => App.NavigateTo <SignaturePadConfigViewModel>()); this.Create = new Command(this.OnCreate); this.Delete = new Command <Signature>(x => this.OnDelete(x)); this.View = new Command <Signature>(this.OnView); this.List = new ObservableCollection <Signature>(); }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; DisableFocusControlOnHover = false; NumberOfVisibleLines = 3; InitializeComponent(); Translate(); if (GitCommands.Settings.RunningOnWindows()) { _internalFileViewer = new FileViewerWindows(); } else { _internalFileViewer = new FileViewerMono(); } _internalFileViewer.MouseLeave += _internalFileViewer_MouseLeave; _internalFileViewer.MouseMove += _internalFileViewer_MouseMove; var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (sender, args) => { ResetForText(null); _internalFileViewer.SetText("Unsupported file"); if (TextLoaded != null) { TextLoaded(this, null); } }; IgnoreWhitespaceChanges = false; IsReadOnly = true; _internalFileViewer.MouseMove += TextAreaMouseMove; _internalFileViewer.MouseLeave += TextAreaMouseLeave; _internalFileViewer.TextChanged += TextEditor_TextChanged; _internalFileViewer.ScrollPosChanged += new EventHandler(_internalFileViewer_ScrollPosChanged); _internalFileViewer.SelectedLineChanged += new SelectedLineChangedEventHandler(_internalFileViewer_SelectedLineChanged); _internalFileViewer.DoubleClick += (sender, args) => OnRequestDiffView(EventArgs.Empty); this.HotkeysEnabled = true; ContextMenu.Opening += ContextMenu_Opening; }
public SignatureListViewModel(IFileSystem fileSystem, IFileViewer fileViewer, IUserDialogs dialogService, ISignatureService signatureService) { this.fileSystem = fileSystem; this.fileViewer = fileViewer; this.dialogService = dialogService; this.signatureService = signatureService; this.Create = new MvxAsyncCommand(OnCreate); this.View = new MvxCommand <IFile>(OnView); this.List = new ObservableCollection <IFile>(); }
public SignatureListViewModel(IFileSystem fileSystem, IFileViewer fileViewer, IUserDialogService dialogService, ISignatureService signatureService){ this.fileSystem = fileSystem; this.fileViewer = fileViewer; this.dialogService = dialogService; this.signatureService = signatureService; this.Configure = new MvxCommand(() => this.ShowViewModel<SignatureConfigurationViewModel>()); this.Create = new MvxCommand(async () => await this.OnCreate()); this.View = new MvxCommand<IFile>(this.OnView); this.List = new ObservableCollection<IFile>(); }
public SignatureListViewModel(IFileSystem fileSystem, IFileViewer fileViewer, IUserDialogService dialogService, ISignatureService signatureService) { this.fileSystem = fileSystem; this.fileViewer = fileViewer; this.dialogService = dialogService; this.signatureService = signatureService; this.Configure = new MvxCommand(() => this.ShowViewModel <SignatureConfigurationViewModel>()); this.Create = new MvxCommand(async() => await this.OnCreate()); this.View = new MvxCommand <IFile>(this.OnView); this.List = new ObservableCollection <IFile>(); }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; DisableFocusControlOnHover = false; NumberOfVisibleLines = 3; InitializeComponent(); Translate(); if (GitCommands.Settings.RunningOnWindows()) _internalFileViewer = new FileViewerWindows(); else _internalFileViewer = new FileViewerMono(); _internalFileViewer.MouseLeave += _internalFileViewer_MouseLeave; _internalFileViewer.MouseMove += _internalFileViewer_MouseMove; var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (sender, args) => { ResetForText(null); _internalFileViewer.SetText("Unsupported file"); if (TextLoaded != null) TextLoaded(this, null); }; IgnoreWhitespaceChanges = false; IsReadOnly = true; _internalFileViewer.MouseMove += TextAreaMouseMove; _internalFileViewer.MouseLeave += TextAreaMouseLeave; _internalFileViewer.TextChanged += TextEditor_TextChanged; _internalFileViewer.ScrollPosChanged += new EventHandler(_internalFileViewer_ScrollPosChanged); _internalFileViewer.SelectedLineChanged += new SelectedLineChangedEventHandler(_internalFileViewer_SelectedLineChanged); _internalFileViewer.DoubleClick += (sender, args) => OnRequestDiffView(EventArgs.Empty); this.HotkeysEnabled = true; this.Hotkeys = HotkeySettingsManager.LoadHotkeys(HotkeySettingsName); ContextMenu.Opening += ContextMenu_Opening; }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; DisableFocusControlOnHover = false; NumberOfVisibleLines = 3; InitializeComponent(); Translate(); _internalFileViewer = InternalFileViewer; _internalFileViewer.MouseLeave += _internalFileViewer_MouseLeave; _internalFileViewer.MouseMove += _internalFileViewer_MouseMove; var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (sender, args) => { ResetForText(null); _internalFileViewer.SetText("Unsupported file"); if (TextLoaded != null) TextLoaded(this, null); }; IgnoreWhitespaceChanges = false; IsReadOnly = true; this.Encoding = Settings.Encoding; this.encodingToolStripComboBox.Items.AddRange(EncodingTypes); this.encodingToolStripComboBox.Text = ToolStripComboBoxText; _internalFileViewer.MouseMove += TextAreaMouseMove; _internalFileViewer.MouseLeave += TextAreaMouseLeave; _internalFileViewer.TextChanged += TextEditor_TextChanged; _internalFileViewer.ScrollPosChanged += new EventHandler(_internalFileViewer_ScrollPosChanged); _internalFileViewer.SelectedLineChanged += new SelectedLineChangedEventHandler(_internalFileViewer_SelectedLineChanged); _internalFileViewer.DoubleClick += (sender, args) => OnRequestDiffView(EventArgs.Empty); this.HotkeysEnabled = true; ContextMenu.Opening += ContextMenu_Opening; }
public MainViewModel(TinyIoCContainer resourceResolver) { _ResourceResolver = resourceResolver; Configuration = _ResourceResolver.Resolve <IConfiguration>(); _FileViewer = _ResourceResolver.Resolve <IFileViewer>(); _Reporter = new ObservableReporter(_ResourceResolver.Resolve <IFileLocationParser>(), _ResourceResolver.Resolve <IFileLocationMapper>()); _ResourceResolver.Register <IReporter>(_Reporter); StartServerCommand = new RelayCommand(StartServer); RunAllTestsCommand = new RelayCommand(RunAllTests); CopyServerUrlCommand = new RelayCommand(CopyServerUrlToClipboard); ConfigurationCommand = new RelayCommand(() => ConfigurationVisible = true); OpenFileCommand = new RelayCommand <FileLocation>(fl => _FileViewer.Open(fl.FullPath, fl.LineNumber, fl.ColumnNumber)); }
private void GiveUpLock() { IFileViewer fileViewer = GetCurrentViewer(); int fileID = fileViewer.FileID; CFile file = new FileSystem(Globals.CurrentIdentity).GetFile(fileID); try { new FileSystem(Globals.CurrentIdentity).UnLock(file); } catch (FileOperationException er) { PageError(er.Message); } fileViewer.UnEdit(); cmdSave.Enabled = cmdCancel.Enabled = false; cmdEdit.Enabled = true; CheckLock(file); BindData(GetWindow()); }
public static void SetSyntax(IFileViewer editor, string fileName) { string syntax = "XML"; if (fileName.LastIndexOf('.') > 0) { string extension = fileName.Substring(fileName.LastIndexOf('.') + 1).ToUpper(); switch (extension) { case "BAS": case "VBS": case "VB": syntax = "VBNET"; break; case "CS": syntax = "C#"; break; case "CMD": case "BAT": syntax = "BAT"; break; case "C": case "RC": case "IDL": case "H": case "CPP": syntax = "C#"; break; case "JS": syntax = "JavaScript"; break; default: break; } } editor.SetHighlighting(syntax); }
/// <summary> /// 打开文件 /// </summary> /// <param name="args">打开文件参数</param> public void Open(IFileViewerArgs args) { string extension = args.Extension; IFileViewer viewer = null; if (args.Buffer == null && string.IsNullOrEmpty(args.Path) && args.Stream == null) { viewer = this.FileViewers.Where(c => c.ViewerType == FileViewerType.None).FirstOrDefault(); } else { viewer = this._Open(extension, args.Type); } if (viewer != null) { viewer.Open(args); } this.OpenArgs = args; }
private void cmdSave_Click(object sender, System.EventArgs e) { IFileViewer fileViewer = GetCurrentViewer(); int fileID = fileViewer.FileID; CFile file = new FileSystem(Globals.CurrentIdentity).GetFile(fileID); new FileSystem(Globals.CurrentIdentity).LoadFileData(file); try { file.Data = fileViewer.Data.ToCharArray(); new FileSystem(Globals.CurrentIdentity).Save(file); } catch (FileOperationException er) { PageError(er.Message); } fileViewer.LoadFile(file); fileViewer.UnEdit(); cmdSave.Enabled = cmdCancel.Enabled = false; cmdEdit.Enabled = true; CheckLock(file); BindData(GetWindow()); }
public DirectoryController(IFileViewer fileViewer, Action listUpdated) : base(fileViewer) { this.listUpdated = listUpdated; }
public FileViewer() { TreatAllFilesAsText = false; ShowEntireFile = false; NumberOfVisibleLines = AppSettings.NumberOfContextLines; InitializeComponent(); Translate(); GitUICommandsSourceSet += FileViewer_GitUICommandsSourceSet; _internalFileViewer = new FileViewerInternal(); _internalFileViewer.MouseEnter += _internalFileViewer_MouseEnter; _internalFileViewer.MouseLeave += _internalFileViewer_MouseLeave; _internalFileViewer.MouseMove += _internalFileViewer_MouseMove; var internalFileViewerControl = (Control)_internalFileViewer; internalFileViewerControl.Dock = DockStyle.Fill; Controls.Add(internalFileViewerControl); _async = new AsyncLoader(); _async.LoadingError += (sender, args) => { if (!IsDisposed) { ResetForText(null); _internalFileViewer.SetText("Unsupported file: \n\n" + args.Exception.ToString()); if (TextLoaded != null) { TextLoaded(this, null); } } }; IgnoreWhitespaceChanges = AppSettings.IgnoreWhitespaceChanges; ignoreWhiteSpaces.Checked = IgnoreWhitespaceChanges; ignoreWhiteSpaces.Image = GitUI.Properties.Resources.ignore_whitespaces; ignoreWhitespaceChangesToolStripMenuItem.Checked = IgnoreWhitespaceChanges; ignoreWhitespaceChangesToolStripMenuItem.Image = ignoreWhiteSpaces.Image; ignoreAllWhitespaces.Checked = AppSettings.IgnoreAllWhitespaceChanges; ignoreAllWhitespaces.Image = GitUI.Properties.Resources.ignore_all_whitespaces; ignoreAllWhitespaceChangesToolStripMenuItem.Checked = ignoreAllWhitespaces.Checked; ignoreAllWhitespaceChangesToolStripMenuItem.Image = ignoreAllWhitespaces.Image; ShowEntireFile = AppSettings.ShowEntireFile; showEntireFileButton.Checked = ShowEntireFile; showEntireFileToolStripMenuItem.Checked = ShowEntireFile; 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.Compare(encodingList[i], defaultEncodingName, true) == 0) { encodingList[i] = "Default (" + Encoding.Default.HeaderName + ")"; break; } } encodingToolStripComboBox.Items.AddRange(encodingList.ToArray()); _internalFileViewer.MouseMove += TextAreaMouseMove; _internalFileViewer.MouseLeave += TextAreaMouseLeave; _internalFileViewer.TextChanged += TextEditor_TextChanged; _internalFileViewer.ScrollPosChanged += _internalFileViewer_ScrollPosChanged; _internalFileViewer.SelectedLineChanged += _internalFileViewer_SelectedLineChanged; _internalFileViewer.DoubleClick += (sender, args) => OnRequestDiffView(EventArgs.Empty); this.HotkeysEnabled = true; if (RunTime() && ContextMenuStrip == null) { ContextMenuStrip = contextMenu; } contextMenu.Opening += ContextMenu_Opening; _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); }
public FindAPhotoController(IFileViewer fileViewer) : base(fileViewer) { }
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); }
private void LoadPlaceHolders(IFileViewer[] viewers) { int i; for (i = 0; i < MAXFILES; i++) { string ctrlname = "phFileViewer" + i.ToString(); PlaceHolder ph = (PlaceHolder) FindControl(ctrlname); if (viewers[i] != null) ph.Controls.Add(viewers[i] as Control); } }