Пример #1
0
            /// <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);
            }
Пример #2
0
        /// <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();
            }
        }