/// <summary> /// Opens a new-source dialog /// </summary> public static bool AddNewSourceToProject(Project Project, string RelativeDir) { var sdlg = new NewSrcDlg(); if (sdlg.ShowDialog().Value) { var file = (String.IsNullOrEmpty(RelativeDir) ? "" : (RelativeDir + "\\")) + sdlg.FileName; var absFile = Project.BaseDirectory + "\\" + file; if (File.Exists(absFile)) return false; if (Project.Add(file)!=null) { // Set standard encoding to UTF8 File.WriteAllText(absFile, "",Encoding.UTF8); Project.Save(); Instance.UpdateGUI(); return true; } } return false; }
/// <summary> /// Create a source file that is unrelated to any open project or solution /// </summary> private void NewSource(object sender, RoutedEventArgs e) { var sdlg = new NewSrcDlg(); if (sdlg.ShowDialog().Value) { foreach (var lang in LanguageLoader.Bindings) if (lang.CanHandleFile(sdlg.FileName)) { var ed = lang.OpenFile(null, sdlg.FileName); // If language won't handle file anyway, just put it inside a neutral document if (ed == null) ed = new EditorDocument(sdlg.FileName); ed.Show(DockMgr); ed.Activate(); return; } var _ed = new EditorDocument(sdlg.FileName); _ed.Show(DockMgr); _ed.Activate(); } }