コード例 #1
0
        public void AddFilesToProject()
        {
            Project project = CurrentNode.GetParentDataItem (typeof(Project), true) as Project;

            using (FileSelector fdiag  = new FileSelector (GettextCatalog.GetString ("Add files"))) {
                fdiag.SelectMultiple = true;

                int result = fdiag.Run ();
                try {
                    if (result != (int) ResponseType.Ok)
                        return;

                    int action = -1;
                    foreach (string file in fdiag.Filenames) {
                        if (file.StartsWith (project.BaseDirectory)) {
                            MoveCopyFile (project, CurrentNode, file, true, true);
                        } else {
                            using (MessageDialog md = new MessageDialog (
                                 (Window) WorkbenchSingleton.Workbench,
                                 DialogFlags.Modal | DialogFlags.DestroyWithParent,
                                 MessageType.Question, ButtonsType.None,
                                 String.Format (GettextCatalog.GetString ("{0} is outside the project directory, what should I do?"), file)))
                            {
                                CheckButton remember = null;
                                if (fdiag.Filenames.Length > 1) {
                                    remember = new CheckButton (GettextCatalog.GetString ("Use the same action for all selected files."));
                                    md.VBox.PackStart (remember, false, false, 0);
                                }
                                md.AddButton (Gtk.Stock.Copy, 1);
                                md.AddButton (GettextCatalog.GetString ("_Move"), 2);
                                md.AddButton (Gtk.Stock.Cancel, ResponseType.Cancel);
                                md.VBox.ShowAll ();

                                int ret = -1;
                                if (action < 0) {
                                    ret = md.Run ();
                                    md.Hide ();
                                    if (ret < 0) return;
                                    if (remember != null && remember.Active) action = ret;
                                } else {
                                    ret = action;
                                }

                                try {
                                    MoveCopyFile (project, CurrentNode, file, ret == 2, false);
                                }
                                catch (Exception ex) {
                                    Runtime.MessageService.ShowError (ex, GettextCatalog.GetString ("An error occurred while attempt to move/copy that file. Please check your permissions."));
                                }
                            }
                        }
                    }
                } finally {
                    fdiag.Hide ();
                }
            }
        }
コード例 #2
0
 protected override void Run()
 {
     using (FileSelector fs = new FileSelector (GettextCatalog.GetString ("Application to Debug"))) {
         int response = fs.Run ();
         string name = fs.Filename;
         fs.Hide ();
         if (response == (int)Gtk.ResponseType.Ok)
             Runtime.ProjectService.DebugApplication (name);
     }
 }
コード例 #3
0
        protected override string ShowBrowseDialog(string name, string start_in)
        {
            FileSelector fd = new FileSelector (name);
            if (start_in != null)
                fd.SetFilename (start_in);

            int response = fd.Run ();

            if (response == (int) ResponseType.Ok) {
                fd.Hide ();
                return fd.Filename;
            }

            fd.Hide ();

            return null;
        }
コード例 #4
0
        protected override void Run()
        {
            using (FileSelector fs = new FileSelector (GettextCatalog.GetString ("File to Open"))) {
                bool conversionSuccessfull = false;
                SlnMaker slnMkObj = null;
                int response = fs.Run ();
                string name = fs.Filename;
                fs.Hide ();
                IProjectService proj = null;

                if (response == (int)Gtk.ResponseType.Ok) {
                    switch (Path.GetExtension(name).ToUpper()) {
                        case ".SLN":
                            slnMkObj = new SlnMaker();
                            // Load the sln and parse it
                            slnMkObj.MsSlnToCmbxHelper(name);
                            conversionSuccessfull = true;
                            name = slnMkObj.CmbxFileName;
                            break;
                        case ".CSPROJ":
                            slnMkObj = new SlnMaker();
                            // Load the csproj and parse it
                            slnMkObj.CreatePrjxFromCsproj(name);
                            conversionSuccessfull = true;
                            name = slnMkObj.PrjxFileName;
                            break;
                        default:
                            IMessageService messageService =(IMessageService)ServiceManager.GetService(typeof(IMessageService));
                            messageService.ShowError(String.Format (GettextCatalog.GetString ("Can't open file {0} as project"), name));
                            break;
                    }
                    if (conversionSuccessfull == true) {
                        try {
                            proj = (IProjectService)ServiceManager.GetService (typeof (IProjectService));
                            proj.OpenCombine(name);
                        } catch (Exception ex) {
                            Console.WriteLine(ex.Message);
                        }
                    }
                }
            }
        }
        protected void OnAddAssembly()
        {
            NUnitAssemblyGroupProjectConfiguration config = (NUnitAssemblyGroupProjectConfiguration) CurrentNode.DataItem;

            FileSelector fdiag  = new FileSelector (GettextCatalog.GetString ("Add files"));
            try
            {
                fdiag.SelectMultiple = true;

                int result = fdiag.Run ();
                if (result != (int) Gtk.ResponseType.Ok)
                    return;

                foreach (string file in fdiag.Filenames)
                    config.Assemblies.Add (new TestAssembly (file));

                Runtime.ProjectService.SaveCombine();
            }
            finally {
                fdiag.Destroy ();
            }
        }
コード例 #6
0
        public void SaveFileAs(IWorkbenchWindow window)
        {
            if (window.ViewContent is ICustomizedCommands) {
                if (((ICustomizedCommands)window.ViewContent).SaveAsCommand()) {
                    return;
                }
            }

            FileSelector fdiag = new FileSelector (GettextCatalog.GetString ("Save as..."), Gtk.FileChooserAction.Save);
            fdiag.SetFilename (window.ViewContent.ContentName);
            int response = fdiag.Run ();
            string filename = fdiag.Filename;
            fdiag.Hide ();

            if (response == (int)Gtk.ResponseType.Ok) {
                if (!Runtime.FileUtilityService.IsValidFileName (filename)) {
                    Runtime.MessageService.ShowMessage(String.Format (GettextCatalog.GetString ("File name {0} is invalid"), filename));
                    return;
                }
                // detect preexisting file
                if(File.Exists(filename)){
                    if(!Runtime.MessageService.AskQuestion(String.Format (GettextCatalog.GetString ("File {0} already exists.  Overwrite?"), filename))){
                        return;
                    }
                }
                // save backup first
                if((bool) Runtime.Properties.GetProperty ("SharpDevelop.CreateBackupCopy", false)) {
                    Runtime.FileUtilityService.ObservedSave (new NamedFileOperationDelegate(window.ViewContent.Save), filename + "~");
                }

                // do actual save
                if (Runtime.FileUtilityService.ObservedSave (new NamedFileOperationDelegate(window.ViewContent.Save), filename) == FileOperationResult.OK) {
                    Runtime.FileService.RecentOpen.AddLastFile (filename, null);
                }
            }
        }
コード例 #7
0
        public CombineEntry AddCombineEntry(Combine parentCombine)
        {
            CombineEntry res = null;

            using (FileSelector fdiag = new FileSelector (GettextCatalog.GetString ("Add to Solution"))) {
                fdiag.SelectMultiple = false;
                if (fdiag.Run () == (int) Gtk.ResponseType.Ok) {
                    try {
                        using (IProgressMonitor monitor = Runtime.TaskService.GetLoadProgressMonitor ()) {
                            res = parentCombine.AddEntry (fdiag.Filename, monitor);
                        }
                    }
                    catch {
                        Runtime.MessageService.ShowError (string.Format (GettextCatalog.GetString ("The file '{0}' could not be loaded."), fdiag.Filename));
                    }
                }

                fdiag.Hide ();
            }
            if (res != null)
                SaveCombine ();

            return res;
        }
コード例 #8
0
        protected override void Run()
        {
            foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) {
                if (content.IsViewOnly) {
                    continue;
                }

                if (content.ContentName == null)
                {
                    using (FileSelector fdiag = new FileSelector (GettextCatalog.GetString ("Save File As...")))
                    {
                        fdiag.SetFilename (System.Environment.GetEnvironmentVariable ("HOME"));
                        if (fdiag.Run () == (int) Gtk.ResponseType.Ok)
                        {
                            string fileName = fdiag.Filename;

                            // currently useless
                            if (Path.GetExtension(fileName).StartsWith("?") || Path.GetExtension(fileName) == "*")
                            {
                                fileName = Path.ChangeExtension(fileName, "");
                            }

                            if (Runtime.FileUtilityService.ObservedSave (new NamedFileOperationDelegate(content.Save), fileName) == FileOperationResult.OK)
                            {
                                Runtime.MessageService.ShowMessage(fileName, GettextCatalog.GetString ("File saved"));
                            }
                        }

                        fdiag.Hide ();
                    }
                }
                else
                {
                    Runtime.FileUtilityService.ObservedSave (new FileOperationDelegate(content.Save), content.ContentName);
                }
            }
        }
コード例 #9
0
        protected override void Run()
        {
            //string[] fileFilters  = (string[])(AddInTreeSingleton.AddInTree.GetTreeNode("/SharpDevelop/Workbench/FileFilter").BuildChildItems(this)).ToArray(typeof(string));
            //bool foundFilter      = false;
            // search filter like in the current selected project
            /*
            IProjectService projectService = (IProjectService)MonoDevelop.Core.Services.ServiceManager.GetService(typeof(IProjectService));

            if (projectService.CurrentSelectedProject != null) {
                LanguageBindingService languageBindingService = (LanguageBindingService)MonoDevelop.Core.Services.ServiceManager.GetService(typeof(LanguageBindingService));

                LanguageBindingCodon languageCodon = languageBindingService.GetCodonPerLanguageName(projectService.CurrentSelectedProject.ProjectType);
                for (int i = 0; !foundFilter && i < fileFilters.Length; ++i) {
                    for (int j = 0; !foundFilter && j < languageCodon.Supportedextensions.Length; ++j) {
                        if (fileFilters[i].IndexOf(languageCodon.Supportedextensions[j]) >= 0) {
                            break;
                        }
                    }
                }
            }

            // search filter like in the current open file
            if (!foundFilter) {
                IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
                if (window != null) {
                    for (int i = 0; i < fileFilters.Length; ++i) {
                        if (fileFilters[i].IndexOf(Path.GetExtension(window.ViewContent.ContentName == null ? window.ViewContent.UntitledName : window.ViewContent.ContentName)) >= 0) {
                            break;
                        }
                    }
                }
            }*/
            using (FileSelector fs = new FileSelector (GettextCatalog.GetString ("File to Open"))) {
                int response = fs.Run ();
                string name = fs.Filename;
                fs.Hide ();
                if (response == (int)Gtk.ResponseType.Ok) {
                    if (Runtime.ProjectService.IsCombineEntryFile (name))
                        Runtime.ProjectService.OpenCombine (name);
                    else
                        Runtime.FileService.OpenFile(name);
                }
            }
        }
コード例 #10
0
        string[] AskFiles(Project project)
        {
            using (FileSelector fs = new FileSelector (GettextCatalog.GetString ("File to Open"))) {
                fs.SelectMultiple = true;
                fs.SetFilename (project.BaseDirectory);
                int response = fs.Run ();
                string [] files = fs.Filenames;
                fs.Hide ();

                if (response != (int)Gtk.ResponseType.Ok)
                    return null;
                else
                    return files;
            }
        }
コード例 #11
0
        public void SaveProjectAs()
        {
            using (FileSelector fdiag = new FileSelector (GettextCatalog.GetString ("Save Project As..."))) {
                //fdiag.Filename = System.Environment.GetEnvironmentVariable ("HOME");

                if (fdiag.Run() == (int)Gtk.ResponseType.Ok) {
                    string filename = fdiag.Filename;
                    Save (filename, new ConsoleProgressMonitor ());
                    Runtime.MessageService.ShowMessage(filename, GettextCatalog.GetString ("Project saved"));
                }

                fdiag.Hide ();
            }
        }