From e4fabdffd82cf90d763ccc7721ba61d00c2359d4 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Tue, 23 Aug 2005 13:39:27 +0000 Subject: [PATCH] New files get now a build action dependent on their file extension. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@417 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/Project/CSharpProject.cs | 12 ++++++++++++ .../ILAsmBinding/Project/Src/ILAsmProject.cs | 5 +++++ .../Project/Src/Project/VBNetProject.cs | 5 +++++ .../ResourceEditor/Project/ResourceEditor.addin | 6 +++--- .../Src/Parser/Visitors/AbstractASTVisitor.cs | 2 ++ .../Project/Src/Gui/Dialogs/ProjectOptionsView.cs | 5 +++++ .../Commands/DefaultFileNodeCommands.cs | 15 ++++++++++++++- .../Project/Src/Project/ConfigurationGuiHelper.cs | 8 +++++++- .../Base/Project/Src/Project/MSBuildProject.cs | 10 +++++++--- 9 files changed, 60 insertions(+), 8 deletions(-) diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs index 4b1799f67f..a33890ef8d 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/Project/CSharpProject.cs @@ -48,7 +48,19 @@ namespace CSharpBinding { Language = "C#"; Create(info); + } + + protected override void Create(ProjectCreateInformation information) + { + base.Create(information); imports.Add(@"$(MSBuildBinPath)\Microsoft.CSharp.Targets"); + configurations["Debug|AnyCPU"]["CheckForOverflowUnderflow"] = "True"; + configurations["Release|AnyCPU"]["CheckForOverflowUnderflow"] = "False"; + } + + public override bool CanCompile(string fileName) + { + return new CSharpLanguageBinding().CanCompile(fileName); } } } diff --git a/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs b/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs index f270ed9355..5990496ea6 100644 --- a/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs +++ b/src/AddIns/BackendBindings/ILAsmBinding/Project/Src/ILAsmProject.cs @@ -27,5 +27,10 @@ namespace ICSharpCode.ILAsmBinding Create(info); imports.Add(@"$(SharpDevelopBuildBinPath)\SharpDevelop.Build.MSIL.Targets"); } + + public override bool CanCompile(string fileName) + { + return new ILAsmLanguageBinding().CanCompile(fileName); + } } } diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs index b43de0fe97..1969c0e017 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs @@ -87,5 +87,10 @@ namespace VBNetBinding LanguageProperties = ICSharpCode.SharpDevelop.Dom.LanguageProperties.VBNet; BuildConstantSeparator = ','; } + + public override bool CanCompile(string fileName) + { + return new VBNetLanguageBinding().CanCompile(fileName); + } } } diff --git a/src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.addin b/src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.addin index c2e6ffbf46..d0ade03244 100644 --- a/src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.addin +++ b/src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.addin @@ -21,7 +21,7 @@ + shortcut = "Insert" /> + shortcut="Delete" /> @@ -67,6 +67,6 @@ + shortcut="Control|A" /> diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs b/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs index c616a671ed..35e0f5d327 100644 --- a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs @@ -755,7 +755,9 @@ namespace ICSharpCode.NRefactory.Parser public virtual object Visit(LockStatement lockStatement, object data) { Debug.Assert(lockStatement != null); + Debug.Assert(lockStatement.LockExpression != null); Debug.Assert(lockStatement.EmbeddedStatement != null); + lockStatement.LockExpression.AcceptVisitor(this, data); return lockStatement.EmbeddedStatement.AcceptVisitor(this, data); } diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/ProjectOptionsView.cs b/src/Main/Base/Project/Src/Gui/Dialogs/ProjectOptionsView.cs index 85b5bab6dc..2fcdad0279 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/ProjectOptionsView.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/ProjectOptionsView.cs @@ -117,6 +117,11 @@ namespace ICSharpCode.SharpDevelop.Project.Dialogs public override void Save(string fileName) { foreach (IDialogPanelDescriptor pane in descriptors) { + ICanBeDirty dirtyable = pane.DialogPanel as ICanBeDirty; + if (dirtyable != null) { + if (!dirtyable.IsDirty) + continue; // skip unchanged panels + } pane.DialogPanel.ReceiveDialogMessage(DialogMessage.OK); } project.Save(); diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs index d9897d2947..49d8de95fd 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/DefaultFileNodeCommands.cs @@ -121,7 +121,20 @@ namespace ICSharpCode.SharpDevelop.Project.Commands } } - ItemType type = fileNode.Project.CanCompile(fileNode.FileName) ? ItemType.Compile : ItemType.Content; + ItemType type; + if (fileNode.Project.CanCompile(fileNode.FileName)) { + type = ItemType.Compile; + } else { + switch (Path.GetExtension(fileNode.FileName).ToLower()) { + case ".resx": + case ".resources": + type = ItemType.EmbeddedResource; + break; + default: + type = ItemType.Content; + break; + } + } FileProjectItem newItem = new FileProjectItem(fileNode.Project, type); newItem.Include = FileUtility.GetRelativePath(fileNode.Project.Directory, fileNode.FileName); diff --git a/src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs b/src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs index 4622175121..1bc460c07c 100644 --- a/src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs +++ b/src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs @@ -194,7 +194,13 @@ namespace ICSharpCode.SharpDevelop.Project public override bool Save() { - Set(control.Checked ? "true" : "false"); + string oldValue = Get("True"); + if (oldValue == "true" || oldValue == "false") { + // keep value in lower case + Set(control.Checked.ToString().ToLower()); + } else { + Set(control.Checked.ToString()); + } return true; } } diff --git a/src/Main/Base/Project/Src/Project/MSBuildProject.cs b/src/Main/Base/Project/Src/Project/MSBuildProject.cs index d01e0d353e..bbc40c4127 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildProject.cs @@ -29,7 +29,7 @@ namespace ICSharpCode.SharpDevelop.Project protected char BuildConstantSeparator = ';'; - protected void Create(ProjectCreateInformation information) + protected virtual void Create(ProjectCreateInformation information) { Name = information.ProjectName; configurations[""] = new PropertyGroup(); @@ -44,13 +44,17 @@ namespace ICSharpCode.SharpDevelop.Project configurations["Debug|AnyCPU"] = new PropertyGroup(); configurations["Debug|AnyCPU"]["OutputPath"] = @"bin\Debug\"; - configurations["Debug|AnyCPU"]["Optimize"] = "false"; + configurations["Debug|AnyCPU"]["Optimize"] = "False"; configurations["Debug|AnyCPU"]["DefineConstants"] = "DEBUG" + BuildConstantSeparator + "TRACE"; + configurations["Debug|AnyCPU"]["DebugSymbols"] = "True"; + configurations["Debug|AnyCPU"]["DebugType"] = "Full"; configurations["Release|AnyCPU"] = new PropertyGroup(); configurations["Release|AnyCPU"]["OutputPath"] = @"bin\Release\"; - configurations["Release|AnyCPU"]["Optimize"] = "true"; + configurations["Release|AnyCPU"]["Optimize"] = "True"; configurations["Release|AnyCPU"]["DefineConstants"] = "TRACE"; + configurations["Release|AnyCPU"]["DebugSymbols"] = "False"; + configurations["Release|AnyCPU"]["DebugType"] = "None"; fileName = information.OutputProjectFileName; }