/// <summary> /// Loads or reloads a project by filename /// </summary> /// <param name="activeProjectFilename"></param> public void LoadProject(string activeProjectFilename) { var proj = DocProject.LoadProject(activeProjectFilename); TopicsTree.LoadProject(proj); ActiveProject = proj; }
public void OpenProject(string projectFile, bool noErrorDisplay = false) { Window.ShowStatus("Opening project file..."); ActiveProject = null; DocProject project = null; if (string.IsNullOrEmpty(projectFile)) { /// TODO: Need Wizard here project = DocProjectManager.CreateProject(new DocProjectCreator() { Filename = System.IO.Path.GetFileName(projectFile), ProjectFolder = System.IO.Path.GetDirectoryName(projectFile), Title = "New Project", Owner = "West Wind Technologies" }); } else { project = DocProject.LoadProject(projectFile); if (project == null) { if (!noErrorDisplay) { MessageBox.Show("Failed to load project.", KavaApp.ApplicationName, MessageBoxButton.OK, MessageBoxImage.Warning); } else { Window.ShowStatus("Failed to load project: " + projectFile, KavaApp.Configuration.StatusMessageTimeout); Window.SetStatusIcon(FontAwesomeIcon.Warning, Colors.Red); } Window.ShowStatus(); return; } } Window.ShowStatus("Generating project tree..."); ActiveProject = project; TopicsTree.LoadProject(project); PreviewTopic(); Window.ShowStatus($"Project '{project.Title}' opened.", KavaApp.Configuration.StatusMessageTimeout); }
/// <summary> /// Attach the addin to Markdown Monster /// </summary> public void InitializeKavaDocs() { if (!IsAddinInitialized) { kavaUi.Addin = this; KavaDocsModel = kavaUi.AddinModel; KavaDocsModel.Addin = this; Configuration = kavaUi.Configuration; KavaDocsModel.Configuration = Configuration; // Set up the KavaDocs Topic Tree in the Left Sidebar var tabItem = new MetroTabItem() { Name = "KavaDocsTree" }; // Create the tab content user control KavaDocsTopicTreeTab = tabItem; Tree = new TopicsTree(); tabItem.Content = Tree; var icons = new AssociatedIcons(); var imgSource = icons.GetIconFromFile("t.kavadocs"); // image source Model.Window.AddLeftSidebarPanelTabItem(tabItem, "Topics", imgSource); // Kava Docs Topic Editor Tab tabItem = new MetroTabItem() { Name = "KavaDocsTopic" }; KavaDocsTopicEditorTab = tabItem; TopicEditor = new TopicEditor(); tabItem.Content = TopicEditor; Model.Window.AddRightSidebarPanelTabItem(tabItem, "Topic", imgSource); KavaDocsMenu = new KavaDocsMenuHandler(); KavaDocsMenu.CreateKavaDocsMainMenu(); if (Configuration.OpenLastProject) { KavaDocsModel.ActiveProject = DocProjectManager.Current.LoadProject(Configuration.LastProjectFile); if (KavaDocsModel.ActiveProject != null) { Model.Window.Dispatcher.Delay(10, p => Tree.LoadProject(KavaDocsModel.ActiveProject)); } } IsAddinInitialized = true; // Activate the Tab Model.Window.ShowFolderBrowser(); Model.Window.SidebarContainer.SelectedItem = KavaDocsTopicTreeTab; // If no project is open try to open one if (KavaDocsModel.ActiveProject == null) { KavaDocsModel.Commands.OpenProjectCommand.Execute(null); } } }