From 6678f6207febd08be3a9fd711b8cff78d0087797 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Thu, 5 Jun 2014 15:29:36 -0400 Subject: [PATCH] Implemented Bookmarks (finally\!) --- .../MainWindow.cs | 60 +++++++++++++++---- 1 file changed, 47 insertions(+), 13 deletions(-) diff --git a/CSharp/Environments/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs b/CSharp/Environments/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs index 77493690..03dfc7ea 100644 --- a/CSharp/Environments/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs +++ b/CSharp/Environments/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs @@ -48,10 +48,24 @@ namespace UniversalEditor.UserInterface.WindowsForms HostApplication.OutputWindow.TextCleared += OutputWindow_TextCleared; mnuBookmarksSep1.Visible = (BookmarksManager.FileNames.Count > 0); + foreach (string FileName in BookmarksManager.FileNames) + { + ToolStripMenuItem tsmi = new ToolStripMenuItem(); + tsmi.Text = System.IO.Path.GetFileName(FileName); + tsmi.ToolTipText = FileName; + tsmi.Click += tsmiBookmark_Click; + mnuBookmarks.DropDownItems.Insert(mnuBookmarks.DropDownItems.Count - 2, tsmi); + } ShowStartPage(); } + private void tsmiBookmark_Click(object sender, EventArgs e) + { + ToolStripMenuItem tsmi = (sender as ToolStripMenuItem); + OpenFile(tsmi.ToolTipText); + } + PropertyGridControl pgc = new PropertyGridControl(); private void InitializeDockingWindows() @@ -351,6 +365,8 @@ namespace UniversalEditor.UserInterface.WindowsForms mnuEditPaste.Enabled = (CurrentDocument != null); mnuEditDelete.Enabled = (CurrentDocument != null); + mnuBookmarksAdd.Enabled = (CurrentDocument != null); + #region Remove Editor-Specific Menus and Toolbars mnuViewToolbars.DropDownItems.Clear(); @@ -1699,28 +1715,46 @@ namespace UniversalEditor.UserInterface.WindowsForms { mnuContextDocumentType.Show(sbStatusBar.PointToScreen(new Point(lblObjectModel.Bounds.Right, lblObjectModel.Bounds.Top)), ToolStripDropDownDirection.AboveLeft); } + + /// + /// Creates a Bookmark for the specified document. + /// + /// + public void AddBookmark(Document doc) + { + if (doc.Accessor is FileAccessor) + { + if (!BookmarksManager.FileNames.Contains((doc.Accessor as FileAccessor).FileName)) + { + ToolStripMenuItem mnu = new ToolStripMenuItem(); + mnu.Text = System.IO.Path.GetFileName((doc.Accessor as FileAccessor).FileName); + mnu.ToolTipText = (doc.Accessor as FileAccessor).FileName; + mnu.Click += tsmiBookmark_Click; + mnuBookmarks.DropDownItems.Insert(mnuBookmarks.DropDownItems.Count - 2, mnu); + mnuBookmarksSep1.Visible = true; + + BookmarksManager.FileNames.Add((doc.Accessor as FileAccessor).FileName); + } + } + } private void mnuBookmarksAdd_Click(object sender, EventArgs e) { if (CurrentDocument == null) return; - if (CurrentDocument.Accessor is FileAccessor) - { - if (!BookmarksManager.FileNames.Contains((CurrentDocument.Accessor as FileAccessor).FileName)) - { - ToolStripMenuItem mnu = new ToolStripMenuItem(); - mnu.Text = System.IO.Path.GetFileName((CurrentDocument.Accessor as FileAccessor).FileName); - mnu.ToolTipText = (CurrentDocument.Accessor as FileAccessor).FileName; - mnuBookmarks.DropDownItems.Insert(2, mnu); - - BookmarksManager.FileNames.Add((CurrentDocument.Accessor as FileAccessor).FileName); - } - } + AddBookmark(CurrentDocument); } private void mnuBookmarksAddAll_Click(object sender, EventArgs e) { - // TODO: Implement MnuBookmarksAddAll_Click + foreach (DockingWindow dw in dcc.Areas[DockPosition.Center].Windows) + { + if (dw.Control is Pages.EditorPage) + { + Document doc = (dw.Control as Pages.EditorPage).Document; + AddBookmark(doc); + } + } } private void mnuToolsSessionManager_Click(object sender, EventArgs e)