Browse Source

Fixed SD2-384 and SD2-386.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@306 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
8da1d5c7cc
  1. 13
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Gui/CustomComponentsSideTab.cs
  2. 8
      src/AddIns/Misc/NUnitPad/Project/Src/Gui/NUnitPadContent.cs
  3. 14
      src/Main/Base/Project/Src/Commands/FileMenuCommands.cs
  4. 4
      src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/ClassBrowser.cs
  5. 7
      src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorList.cs
  6. 7
      src/Main/Base/Project/Src/Gui/Pads/OpenTaskView.cs
  7. 6
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs
  8. 2
      src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs
  9. 18
      src/Main/Base/Project/Src/Project/AbstractProject.cs
  10. 13
      src/Main/Base/Project/Src/Project/Converter/CombineToSolution.cs
  11. 10
      src/Main/Base/Project/Src/Project/Solution/Solution.cs
  12. 2
      src/Main/Base/Project/Src/Services/File/FileService.cs
  13. 11
      src/Main/Base/Project/Src/Services/ParserService/ParserService.cs
  14. 11
      src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs
  15. 19
      src/Main/Base/Project/Src/Services/ProjectService/SolutionEventHandler.cs

13
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/Gui/CustomComponentsSideTab.cs

@ -34,14 +34,14 @@ namespace ICSharpCode.FormDesigner.Gui @@ -34,14 +34,14 @@ namespace ICSharpCode.FormDesigner.Gui
ArrayList projectAssemblies = new ArrayList();
ArrayList referencedAssemblies = new ArrayList();
static bool loadReferencedAssemblies = true;
static bool loadReferencedAssemblies = true;
///<summary>Load an assembly's controls</summary>
public CustomComponentsSideTab(AxSideBar sideTab, string name, IToolboxService toolboxService) : base(sideTab,name, toolboxService)
{
ScanProjectAssemblies();
ProjectService.EndBuild += new EventHandler(RescanProjectAssemblies2);
ProjectService.SolutionLoaded += new SolutionEventHandler(RescanProjectAssemblies);
ProjectService.EndBuild += RescanProjectAssemblies;
ProjectService.SolutionLoaded += RescanProjectAssemblies;
}
public static bool LoadReferencedAssemblies {
@ -179,12 +179,7 @@ namespace ICSharpCode.FormDesigner.Gui @@ -179,12 +179,7 @@ namespace ICSharpCode.FormDesigner.Gui
}
}
void RescanProjectAssemblies2(object sender, EventArgs e)
{
RescanProjectAssemblies(sender, null);
}
void RescanProjectAssemblies(object sender, SolutionEventArgs e)
void RescanProjectAssemblies(object sender, EventArgs e)
{
projectAssemblies.Clear();
referencedAssemblies.Clear();

8
src/AddIns/Misc/NUnitPad/Project/Src/Gui/NUnitPadContent.cs

@ -86,10 +86,10 @@ namespace ICSharpCode.NUnitPad @@ -86,10 +86,10 @@ namespace ICSharpCode.NUnitPad
contentPanel.Controls.Add(testTreeView);
contentPanel.Controls.Add(toolStrip);
ProjectService.SolutionLoaded += new SolutionEventHandler(CombineEventHandler);
ProjectService.SolutionClosed += new EventHandler(ProjectServiceCombineClosed);
ProjectService.StartBuild += new EventHandler(ProjectServiceStartBuild);
ProjectService.EndBuild += new EventHandler(ProjectServiceEndBuild);
ProjectService.SolutionLoaded += CombineEventHandler;
ProjectService.SolutionClosed += ProjectServiceCombineClosed;
ProjectService.StartBuild += ProjectServiceStartBuild;
ProjectService.EndBuild += ProjectServiceEndBuild;
testTreeView.SetAutoLoadState(autoLoadItems);
}

14
src/Main/Base/Project/Src/Commands/FileMenuCommands.cs

@ -61,20 +61,14 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -61,20 +61,14 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
switch (Path.GetExtension(fdiag.FileName).ToUpper()) {
case ".CMBX":
case ".SLN":
case ".PRJX": // converter is called by Solution.Load
ProjectService.LoadSolution(fdiag.FileName);
break;
case ".CSPROJ":
case ".VBPROJ":
ProjectService.LoadProject(fdiag.FileName);
break;
// case ".PRJX":
//
//
// FileUtility.ObservedLoad(new NamedFileOperationDelegate(ProjectService.OpenSolution), fdiag.FileName);
// break;
default:
MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.OpenCombine.InvalidProjectOrCombine}", new string[,] {{"FileName", fdiag.FileName}}));
break;
}
@ -87,7 +81,11 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -87,7 +81,11 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
{
public override void Run()
{
ProjectService.CloseSolution();
ProjectService.SaveSolutionPreferences();
WorkbenchSingleton.Workbench.CloseAllViews();
if (WorkbenchSingleton.Workbench.ViewContentCollection.Count == 0) {
ProjectService.CloseSolution();
}
}
}
}

4
src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/ClassBrowser.cs

@ -109,8 +109,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -109,8 +109,8 @@ namespace ICSharpCode.SharpDevelop.Gui
toolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
contentPanel.Controls.Add(toolStrip);
ProjectService.SolutionLoaded += new SolutionEventHandler(ProjectServiceSolutionLoaded);
ProjectService.SolutionClosed += new EventHandler(ProjectServiceSolutionClosed);
ProjectService.SolutionLoaded += ProjectServiceSolutionLoaded;
ProjectService.SolutionClosed += ProjectServiceSolutionClosed;
ParserService.ParseInformationUpdated += new ParseInformationEventHandler(ParserServiceParseInformationUpdated);

7
src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorList.cs

@ -102,10 +102,9 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -102,10 +102,9 @@ namespace ICSharpCode.SharpDevelop.Gui
TaskService.Added += new TaskEventHandler(TaskServiceAdded);
TaskService.Removed += new TaskEventHandler(TaskServiceRemoved);
ProjectService.EndBuild += new EventHandler(ProjectServiceEndBuild);
ProjectService.SolutionLoaded += new SolutionEventHandler(OnCombineOpen);
ProjectService.SolutionClosed += new EventHandler(OnCombineClosed);
ProjectService.EndBuild += ProjectServiceEndBuild;
ProjectService.SolutionLoaded += OnCombineOpen;
ProjectService.SolutionClosed += OnCombineClosed;
ImageList imglist = new ImageList();
imglist.ColorDepth = ColorDepth.Depth32Bit;

7
src/Main/Base/Project/Src/Gui/Pads/OpenTaskView.cs

@ -59,10 +59,9 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -59,10 +59,9 @@ namespace ICSharpCode.SharpDevelop.Gui
TaskService.Added += new TaskEventHandler(TaskServiceAdded);
TaskService.Removed += new TaskEventHandler(TaskServiceRemoved);
ProjectService.EndBuild += new EventHandler(SelectTaskView);
ProjectService.SolutionLoaded += new SolutionEventHandler(OnCombineOpen);
ProjectService.SolutionClosed += new EventHandler(OnCombineClosed);
ProjectService.EndBuild += SelectTaskView;
ProjectService.SolutionLoaded += OnCombineOpen;
ProjectService.SolutionClosed += OnCombineClosed;
ImageList imglist = new ImageList();
imglist.ColorDepth = ColorDepth.Depth32Bit;

6
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs

@ -52,10 +52,10 @@ namespace ICSharpCode.SharpDevelop.Project @@ -52,10 +52,10 @@ namespace ICSharpCode.SharpDevelop.Project
public ProjectBrowserPad()
{
instance = this;
ProjectService.SolutionLoaded += new SolutionEventHandler(ProjectServiceSolutionLoaded);
ProjectService.SolutionClosed += new EventHandler(ProjectServiceSolutionClosed);
ProjectService.SolutionLoaded += ProjectServiceSolutionLoaded;
ProjectService.SolutionClosed += ProjectServiceSolutionClosed;
WorkbenchSingleton.Workbench.ActiveWorkbenchWindowChanged += new EventHandler(ActiveWindowChanged);
WorkbenchSingleton.Workbench.ActiveWorkbenchWindowChanged += ActiveWindowChanged;
if (ProjectService.OpenSolution != null) {
projectBrowserPanel.ViewSolution(ProjectService.OpenSolution);
}

2
src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs

@ -379,6 +379,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -379,6 +379,8 @@ namespace ICSharpCode.SharpDevelop.Gui
{
base.OnClosing(e);
ProjectService.SaveSolutionPreferences();
while (WorkbenchSingleton.Workbench.ViewContentCollection.Count > 0) {
IViewContent content = WorkbenchSingleton.Workbench.ViewContentCollection[0];
content.WorkbenchWindow.CloseWindow(false);

18
src/Main/Base/Project/Src/Project/AbstractProject.cs

@ -17,6 +17,7 @@ using System.Text; @@ -17,6 +17,7 @@ using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Internal.Templates;
namespace ICSharpCode.SharpDevelop.Project
@ -392,7 +393,15 @@ namespace ICSharpCode.SharpDevelop.Project @@ -392,7 +393,15 @@ namespace ICSharpCode.SharpDevelop.Project
public virtual Properties CreateMemento()
{
Properties properties = new Properties();
properties.Set<ICSharpCode.SharpDevelop.Bookmarks.SDBookmark[]>("bookmarks", ICSharpCode.SharpDevelop.Bookmarks.BookmarkManager.GetProjectBookmarks(this).ToArray());
properties.Set("bookmarks", ICSharpCode.SharpDevelop.Bookmarks.BookmarkManager.GetProjectBookmarks(this).ToArray());
List<string> files = new List<string>();
foreach (IViewContent vc in WorkbenchSingleton.Workbench.ViewContentCollection) {
string fileName = vc.FileName;
if (fileName != null && IsFileInProject(fileName)) {
files.Add(fileName);
}
}
properties.Set("files", files.ToArray());
return properties;
}
@ -401,9 +410,14 @@ namespace ICSharpCode.SharpDevelop.Project @@ -401,9 +410,14 @@ namespace ICSharpCode.SharpDevelop.Project
/// </summary>
public virtual void SetMemento(Properties properties)
{
foreach (ICSharpCode.SharpDevelop.Bookmarks.SDBookmark mark in properties.Get<ICSharpCode.SharpDevelop.Bookmarks.SDBookmark[]>("bookmarks", new ICSharpCode.SharpDevelop.Bookmarks.SDBookmark[0])) {
foreach (ICSharpCode.SharpDevelop.Bookmarks.SDBookmark mark in properties.Get("bookmarks", new ICSharpCode.SharpDevelop.Bookmarks.SDBookmark[0])) {
ICSharpCode.SharpDevelop.Bookmarks.BookmarkManager.AddMark(mark);
}
foreach (string fileName in properties.Get("files", new string[0])) {
if (File.Exists(fileName)) {
FileService.OpenFile(fileName);
}
}
}
}
}

13
src/Main/Base/Project/Src/Project/Converter/CombineToSolution.cs

@ -54,7 +54,18 @@ namespace ICSharpCode.SharpDevelop.Project.Converter @@ -54,7 +54,18 @@ namespace ICSharpCode.SharpDevelop.Project.Converter
{
List<string> projectFiles = new List<string>();
ReadProjects(newSolution, fileName, projectFiles);
Convert(newSolution, projectFiles);
}
public static void ConvertProject(Solution newSolution, string projectFileName)
{
List<string> projectFiles = new List<string>();
projectFiles.Add(projectFileName);
Convert(newSolution, projectFiles);
}
static void Convert(Solution newSolution, List<string> projectFiles)
{
PrjxToSolutionProject.Conversion conversion = new PrjxToSolutionProject.Conversion();
foreach (string path in projectFiles) {

10
src/Main/Base/Project/Src/Project/Solution/Solution.cs

@ -509,13 +509,19 @@ namespace ICSharpCode.SharpDevelop.Project @@ -509,13 +509,19 @@ namespace ICSharpCode.SharpDevelop.Project
solutionBeingLoaded = newSolution;
newSolution.Name = Path.GetFileNameWithoutExtension(fileName);
bool loadCombine = Path.GetExtension(fileName).ToUpper() == ".CMBX";
if (loadCombine) {
string extension = Path.GetExtension(fileName).ToUpper();
if (extension == ".CMBX") {
if (!MessageService.AskQuestion("Should the SharpDevelop 1.x combine be converted into a SharpDevelop 2.x solution?")) {
return null;
}
newSolution.fileName = Path.ChangeExtension(fileName, ".sln");
ICSharpCode.SharpDevelop.Project.Converter.CombineToSolution.ConvertSolution(newSolution, fileName);
} else if (extension == ".PRJX") {
if (!MessageService.AskQuestion("Should the SharpDevelop 1.x project be converted into a SharpDevelop 2.x project?")) {
return null;
}
newSolution.fileName = Path.ChangeExtension(fileName, ".sln");
ICSharpCode.SharpDevelop.Project.Converter.CombineToSolution.ConvertProject(newSolution, fileName);
} else {
newSolution.fileName = fileName;
if (!SetupSolution(newSolution, fileName)) {

2
src/Main/Base/Project/Src/Services/File/FileService.cs

@ -43,7 +43,7 @@ namespace ICSharpCode.Core @@ -43,7 +43,7 @@ namespace ICSharpCode.Core
static FileService()
{
ProjectService.SolutionLoaded += new SolutionEventHandler(ProjectServiceSolutionLoaded);
ProjectService.SolutionLoaded += ProjectServiceSolutionLoaded;
}
static void ProjectServiceSolutionLoaded(object sender, SolutionEventArgs e)

11
src/Main/Base/Project/Src/Services/ParserService/ParserService.cs

@ -64,17 +64,12 @@ namespace ICSharpCode.Core @@ -64,17 +64,12 @@ namespace ICSharpCode.Core
}
static ParserService()
{
try {
parser = (ParserDescriptor[])(AddInTree.GetTreeNode("/Workspace/Parser").BuildChildItems(null)).ToArray(typeof(ParserDescriptor));
} catch (TreePathNotFoundException) {
parser = new ParserDescriptor[] {};
}
parser = (ParserDescriptor[])AddInTree.BuildItems("/Workspace/Parser", null, false).ToArray(typeof(ParserDescriptor));
ProjectService.SolutionLoaded += new SolutionEventHandler(OpenCombine);
ProjectService.SolutionClosed += new EventHandler(ProjectServiceSolutionClosed);
ProjectService.SolutionLoaded += OpenCombine;
ProjectService.SolutionClosed += ProjectServiceSolutionClosed;
}
static void ProjectServiceSolutionClosed(object sender, EventArgs e)

11
src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs

@ -228,6 +228,8 @@ namespace ICSharpCode.SharpDevelop.Project @@ -228,6 +228,8 @@ namespace ICSharpCode.SharpDevelop.Project
public static void SaveSolutionPreferences()
{
if (openSolution == null)
return;
string directory = PropertyService.ConfigDirectory + "preferences";
if (!Directory.Exists(directory)) {
Directory.CreateDirectory(directory);
@ -249,7 +251,6 @@ namespace ICSharpCode.SharpDevelop.Project @@ -249,7 +251,6 @@ namespace ICSharpCode.SharpDevelop.Project
if (openSolution != null) {
OnSolutionClosing(new SolutionEventArgs(openSolution));
SaveSolutionPreferences();
openSolution.Dispose();
openSolution = null;
@ -378,11 +379,11 @@ namespace ICSharpCode.SharpDevelop.Project @@ -378,11 +379,11 @@ namespace ICSharpCode.SharpDevelop.Project
public static event ProjectConfigurationEventHandler ProjectConfigurationChanged;
public static event SolutionConfigurationEventHandler SolutionConfigurationChanged;
public static event SolutionEventHandler SolutionLoaded;
public static event SolutionEventHandler SolutionSaved;
public static event EventHandler<SolutionEventArgs> SolutionLoaded;
public static event EventHandler<SolutionEventArgs> SolutionSaved;
public static event SolutionEventHandler SolutionClosing;
public static event EventHandler SolutionClosed;
public static event EventHandler<SolutionEventArgs> SolutionClosing;
public static event EventHandler SolutionClosed;
public static event ProjectEventHandler CurrentProjectChanged;

19
src/Main/Base/Project/Src/Services/ProjectService/SolutionEventHandler.cs

@ -6,11 +6,10 @@ @@ -6,11 +6,10 @@
// </file>
using System;
using System.ComponentModel;
namespace ICSharpCode.SharpDevelop.Project
{
public delegate void SolutionEventHandler(object sender, SolutionEventArgs e);
public class SolutionEventArgs : EventArgs
{
Solution solution;
@ -26,4 +25,20 @@ namespace ICSharpCode.SharpDevelop.Project @@ -26,4 +25,20 @@ namespace ICSharpCode.SharpDevelop.Project
this.solution = solution;
}
}
public class SolutionCancelEventArgs : CancelEventArgs
{
Solution solution;
public Solution Solution {
get {
return solution;
}
}
public SolutionCancelEventArgs(Solution solution)
{
this.solution = solution;
}
}
}

Loading…
Cancel
Save