Browse Source

Worked on SD2-425 (Improve project options): you can now choose in which section the OutputPath property is stored.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@506 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
830e2bf7c5
  1. 7
      src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj.user
  2. 7
      src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.csproj.user
  3. 10
      src/AddIns/DisplayBindings/FormDesigner/Project/FormDesigner.csproj.user
  4. 12
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/FormDesignerLoadException.cs
  5. 2
      src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.csproj.user
  6. 2
      src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj.user
  7. 7
      src/AddIns/Misc/AddinScout/Project/AddinScout.csproj.user
  8. 1
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Debugger.Core.csproj.user
  9. 3
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Configuration/AssemblyInfo.cs
  10. 2
      src/AddIns/Misc/FiletypeRegisterer/Project/FiletypeRegisterer.csproj.user
  11. 10
      src/AddIns/Misc/HighlightingEditor/Project/HighlightingEditor.csproj.user
  12. 1
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj.user
  13. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs
  14. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs
  15. 1
      src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj.user
  16. 10
      src/AddIns/Misc/RegExpTk/Project/RegExpTk.csproj.user
  17. 7
      src/AddIns/Misc/StartPage/Project/StartPage.csproj.user
  18. 4
      src/Libraries/ICSharpCode.Build.Tasks/Project/ICSharpCode.Build.Tasks.csproj.user
  19. 10
      src/Libraries/ICSharpCode.TextEditor/Project/ICSharpCode.TextEditor.csproj.user
  20. 10
      src/Libraries/NRefactory/Project/NRefactory.csproj.user
  21. 4
      src/Libraries/NRefactory/Test/Parser/TypeLevel/CustomEventTests.cs
  22. 3
      src/Libraries/NUnit.Framework/nunit.framework.dll.csproj
  23. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  24. 2
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj.user
  25. 12
      src/Main/Base/Project/Src/Gui/Components/StringListEditor.cs
  26. 2
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs
  27. 163
      src/Main/Base/Project/Src/Project/AbstractProject.cs
  28. 147
      src/Main/Base/Project/Src/Project/ChooseStorageLocationButton.cs
  29. 55
      src/Main/Base/Project/Src/Project/ConfigurationGuiBinding.cs
  30. 8
      src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs
  31. 14
      src/Main/Base/Project/Src/Project/MSBuildProject.cs
  32. 4
      src/Main/Base/Project/Src/Services/ParserService/DefaultProjectContent.cs
  33. 5
      src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchStrategy/BoyerMooreSearchStrategy.cs
  34. 2
      src/Main/Core/Project/ICSharpCode.Core.csproj.user
  35. 12
      src/Main/Core/Project/Src/Util/ClipboardWrapper.cs
  36. 2
      src/Main/StartUp/Project/StartUp.csproj.user
  37. 2
      src/Tools/CheckFileHeaders/Main.cs

7
src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj.user

@ -1,11 +1,10 @@ @@ -1,11 +1,10 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
</Project>

7
src/AddIns/BackendBindings/VBNetBinding/Project/VBNetBinding.csproj.user

@ -1,11 +1,10 @@ @@ -1,11 +1,10 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
</Project>

10
src/AddIns/DisplayBindings/FormDesigner/Project/FormDesigner.csproj.user

@ -1,4 +1,9 @@ @@ -1,4 +1,9 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
<StartAction>Program</StartAction>
@ -6,9 +11,4 @@ @@ -6,9 +11,4 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
</Project>

12
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/FormDesignerLoadException.cs

@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 08.09.2005
* Time: 17:25
*/
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Runtime.Serialization;

2
src/AddIns/DisplayBindings/ResourceEditor/Project/ResourceEditor.csproj.user

@ -1,6 +1,4 @@ @@ -1,6 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>

2
src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj.user

@ -1,6 +1,4 @@ @@ -1,6 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
</PropertyGroup>

7
src/AddIns/Misc/AddinScout/Project/AddinScout.csproj.user

@ -1,11 +1,10 @@ @@ -1,11 +1,10 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ProjectFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
</Project>

1
src/AddIns/Misc/Debugger/Debugger.Core/Project/Debugger.Core.csproj.user

@ -4,5 +4,4 @@ @@ -4,5 +4,4 @@
<ProjectView>ProjectFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
</Project>

3
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Configuration/AssemblyInfo.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="David Srbeck?" email="dsrbecky@gmail.com"/>
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
// <version>$Revision$</version>
// </file>
@ -31,4 +31,3 @@ using System.Runtime.CompilerServices; @@ -31,4 +31,3 @@ using System.Runtime.CompilerServices;
// numbers with the '*' character (the default):
[assembly: AssemblyVersion("2.0.0.1")]

2
src/AddIns/Misc/FiletypeRegisterer/Project/FiletypeRegisterer.csproj.user

@ -1,6 +1,4 @@ @@ -1,6 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.41115</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>

10
src/AddIns/Misc/HighlightingEditor/Project/HighlightingEditor.csproj.user

@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
</Project>

1
src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj.user

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
</PropertyGroup>

1
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserScheme.cs

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
namespace HtmlHelp2
{
using System;

1
src/AddIns/Misc/HtmlHelp2/Project/src/MsHelpProvider.cs

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
namespace HtmlHelp2
{
using System;

1
src/AddIns/Misc/MbUnitPad/Project/MbUnitPad.csproj.user

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
</PropertyGroup>

10
src/AddIns/Misc/RegExpTk/Project/RegExpTk.csproj.user

@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastOpenVersion>8.0.41115</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup>
<LastOpenVersion>8.0.41115</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
</Project>

7
src/AddIns/Misc/StartPage/Project/StartPage.csproj.user

@ -1,11 +1,10 @@ @@ -1,11 +1,10 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.41115</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
</Project>

4
src/Libraries/ICSharpCode.Build.Tasks/Project/ICSharpCode.Build.Tasks.csproj.user

@ -1,3 +1 @@ @@ -1,3 +1 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
</Project>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

10
src/Libraries/ICSharpCode.TextEditor/Project/ICSharpCode.TextEditor.csproj.user

@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ProjectFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<StartProgram>..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ProjectFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
</Project>

10
src/Libraries/NRefactory/Project/NRefactory.csproj.user

@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastOpenVersion>8.0.41115</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartProgram>..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<StartProgram>..\..\..\..\bin\SharpDevelop.exe</StartProgram>
</PropertyGroup>
<PropertyGroup>
<LastOpenVersion>8.0.41115</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
</Project>

4
src/Libraries/NRefactory/Test/Parser/TypeLevel/CustomEventTests.cs

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Mike Kr?ger" email="mike@icsharpcode.net"/>
// <version>$Revision: 230 $</version>
// <owner name="Markus Palme" email="MarkusPalme@gmx.de"/>
// <version>$Revision$</version>
// </file>
using System;

3
src/Libraries/NUnit.Framework/nunit.framework.dll.csproj

@ -30,9 +30,6 @@ @@ -30,9 +30,6 @@
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug-Strong|AnyCPU' " />
<ItemGroup>
<Reference Include="System">
<Name>System</Name>

1
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -705,6 +705,7 @@ @@ -705,6 +705,7 @@
<Compile Include="Src\Dom\Implementations\NullReturnType.cs" />
<Compile Include="Src\Dom\Implementations\AnonymousMethodReturnType.cs" />
<Compile Include="Src\Project\ConfigurationGuiBinding.cs" />
<Compile Include="Src\Project\ChooseStorageLocationButton.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj">

2
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj.user

@ -1,6 +1,4 @@ @@ -1,6 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ProjectFiles</ProjectView>

12
src/Main/Base/Project/Src/Gui/Components/StringListEditor.cs

@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 17.09.2005
* Time: 18:31
*/
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Collections.Generic;

2
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs

@ -23,7 +23,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -23,7 +23,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
protected void InitOutputPath()
{
helper.BindString("outputPathTextBox", "OutputPath");
helper.BindString("outputPathTextBox", "OutputPath").CreateLocationButton("outputPathTextBox");
ConnectBrowseFolder("outputPathBrowseButton", "outputPathTextBox", "${res:Dialog.Options.PrjOptions.Configuration.FolderBrowserDescription}");
}

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

@ -33,19 +33,27 @@ namespace ICSharpCode.SharpDevelop.Project @@ -33,19 +33,27 @@ namespace ICSharpCode.SharpDevelop.Project
protected string fileName;
protected string language;
static string GetConfigurationNameFromKey(string key)
{
return key.Substring(0, key.IndexOf('|'));
}
static string GetPlatformNameFromKey(string key)
{
return key.Substring(key.LastIndexOf('|') + 1);
}
public string[] GetConfigurationNames()
{
List<string> configurationNames = new List<string>();
foreach (string key in configurations.Keys) {
int pos = key.IndexOf('|');
string configuration = key.Substring(0, pos);
string configuration = GetConfigurationNameFromKey(key);
if (configuration != "*" && !configurationNames.Contains(configuration)) {
configurationNames.Add(configuration);
}
}
foreach (string key in userConfigurations.Keys) {
int pos = key.IndexOf('|');
string configuration = key.Substring(0, pos);
string configuration = GetConfigurationNameFromKey(key);
if (configuration != "*" && !configurationNames.Contains(configuration)) {
configurationNames.Add(configuration);
}
@ -61,15 +69,13 @@ namespace ICSharpCode.SharpDevelop.Project @@ -61,15 +69,13 @@ namespace ICSharpCode.SharpDevelop.Project
{
List<string> platformNames = new List<string>();
foreach (string key in configurations.Keys) {
int pos = key.LastIndexOf('|');
string platform = key.Substring(pos + 1);
string platform = GetPlatformNameFromKey(key);
if (platform != "*" && !platformNames.Contains(platform)) {
platformNames.Add(platform);
}
}
foreach (string key in userConfigurations.Keys) {
int pos = key.LastIndexOf('|');
string platform = key.Substring(pos + 1);
string platform = GetPlatformNameFromKey(key);
if (platform != "*" && !platformNames.Contains(platform)) {
platformNames.Add(platform);
}
@ -431,19 +437,21 @@ namespace ICSharpCode.SharpDevelop.Project @@ -431,19 +437,21 @@ namespace ICSharpCode.SharpDevelop.Project
public virtual void SetProperty<T>(string configurationName, string platform, string property, T value, PropertyStorageLocations location)
{
// default value is default(T) except for strings, where it is string.Empty
T defaultValue = (typeof(T) == typeof(string)) ? (T)(object)string.Empty : default(T);
if (location == PropertyStorageLocations.Unchanged) {
location = FindProperty(configurationName, platform, property);
if (location == PropertyStorageLocations.Unknown) {
location = PropertyStorageLocations.Base;
}
}
PropertyGroup baseConfiguration = this.BaseConfiguration;
// default value is default(T) except for strings, where it is string.Empty
T defaultValue = (typeof(T) == typeof(string)) ? (T)(object)string.Empty : default(T);
PropertyGroup baseConfig = this.BaseConfiguration;
Dictionary<string, PropertyGroup> configs = this.configurations;
if ((location & PropertyStorageLocations.UserFile) == PropertyStorageLocations.UserFile) {
baseConfiguration = this.UserBaseConfiguration;
configurations = this.userConfigurations;
baseConfig = this.UserBaseConfiguration;
configs = this.userConfigurations;
}
PropertyGroup targetGroup;
switch (location & PropertyStorageLocations.ConfigurationAndPlatformSpecific) {
@ -457,11 +465,51 @@ namespace ICSharpCode.SharpDevelop.Project @@ -457,11 +465,51 @@ namespace ICSharpCode.SharpDevelop.Project
targetGroup = GetOrCreateGroup(configs, "*|" + platform);
break;
default:
targetGroup = baseConfiguration;
targetGroup = baseConfig;
break;
}
if (!targetGroup.IsSet(property)) {
RemoveProperty(property, location); // clear property from other groups
string oldBaseValue = null;
// clear property from other groups
if (location != PropertyStorageLocations.Base) {
if (BaseConfiguration.IsSet(property)) {
oldBaseValue = BaseConfiguration[property];
BaseConfiguration.Remove(property);
}
}
if (location != (PropertyStorageLocations.Base | PropertyStorageLocations.UserFile)) {
if (UserBaseConfiguration.IsSet(property)) {
oldBaseValue = UserBaseConfiguration[property];
UserBaseConfiguration.Remove(property);
}
}
if (oldBaseValue != null) {
// copy old base value to all configurations
string[] configurationNames = GetConfigurationNames();
string[] platformNames = GetPlatformNames();
switch (location & PropertyStorageLocations.ConfigurationAndPlatformSpecific) {
case PropertyStorageLocations.ConfigurationAndPlatformSpecific:
foreach (string cN in configurationNames) {
foreach (string pN in platformNames) {
GetOrCreateGroup(configs, cN + "|" + pN)[property] = oldBaseValue;
}
}
break;
case PropertyStorageLocations.ConfigurationSpecific:
foreach (string cN in configurationNames) {
GetOrCreateGroup(configs, cN + "|*")[property] = oldBaseValue;
}
break;
case PropertyStorageLocations.PlatformSpecific:
foreach (string pN in platformNames) {
GetOrCreateGroup(configs, "*|" + pN)[property] = oldBaseValue;
}
break;
}
}
RemoveProperty(property, location, configurations, configs);
RemoveProperty(property, location, userConfigurations, configs);
}
targetGroup.Set(property, defaultValue, value);
}
@ -476,42 +524,79 @@ namespace ICSharpCode.SharpDevelop.Project @@ -476,42 +524,79 @@ namespace ICSharpCode.SharpDevelop.Project
return pg;
}
void RemoveProperty(string property, PropertyStorageLocations except)
{
if (except != PropertyStorageLocations.Base) {
if (BaseConfiguration.IsSet(property))
BaseConfiguration.Remove(property);
}
if (except != (PropertyStorageLocations.Base | PropertyStorageLocations.UserFile)) {
if (UserBaseConfiguration.IsSet(property))
UserBaseConfiguration.Remove(property);
}
RemoveProperty(property, except, configurations);
RemoveProperty(property, except, userConfigurations);
}
static void RemoveProperty(string property, PropertyStorageLocations except, Dictionary<string, PropertyGroup> configs)
void RemoveProperty(string property, PropertyStorageLocations newLocation, Dictionary<string, PropertyGroup> configs, Dictionary<string, PropertyGroup> newConfigs)
{
except &= PropertyStorageLocations.ConfigurationAndPlatformSpecific;
newLocation &= PropertyStorageLocations.ConfigurationAndPlatformSpecific;
// we could modify the collection inside the loop, so we need to copy it first
// to an array to prevent exceptions
KeyValuePair<string, PropertyGroup>[] cachedPairs = new KeyValuePair<string, PropertyGroup>[configs.Count];
int i = 0;
foreach (KeyValuePair<string, PropertyGroup> pair in configs) {
if (pair.Value.IsSet(property)) {
// skip if this property group is in "except"
if (pair.Key.StartsWith("*|")) {
if (except == PropertyStorageLocations.PlatformSpecific) {
cachedPairs[i++] = pair;
}
foreach (KeyValuePair<string, PropertyGroup> pair in cachedPairs) {
if (!pair.Value.IsSet(property)) {
continue;
}
} else if (pair.Key.EndsWith("|*")) {
if (except == PropertyStorageLocations.ConfigurationSpecific) {
PropertyStorageLocations thisLocation = GetLocationFromConfigKey(pair.Key);
if (thisLocation == (newLocation & ~PropertyStorageLocations.UserFile)) {
if (configs == newConfigs) {
// skip if this property group is in "newLocation"
continue;
} else {
// move from project to user (in same location)
GetOrCreateGroup(newConfigs, pair.Key)[property] = pair.Value[property];
}
} else {
if (except == PropertyStorageLocations.ConfigurationAndPlatformSpecific) {
continue;
// in some cases, we want to move settings when the location is changed
switch (newLocation & PropertyStorageLocations.ConfigurationAndPlatformSpecific) {
case PropertyStorageLocations.ConfigurationAndPlatformSpecific:
// copy from this to all new (more specific) configurations
if (thisLocation == PropertyStorageLocations.ConfigurationSpecific) {
string configName = GetConfigurationNameFromKey(pair.Key);
foreach (string pN in GetPlatformNames()) {
GetOrCreateGroup(newConfigs, configName + "|" + pN)[property] = pair.Value[property];
}
} else if (thisLocation == PropertyStorageLocations.PlatformSpecific) {
string platformName = GetPlatformNameFromKey(pair.Key);
foreach (string cN in GetConfigurationNames()) {
GetOrCreateGroup(newConfigs, cN + "|" + platformName)[property] = pair.Value[property];
}
}
break;
case PropertyStorageLocations.ConfigurationSpecific:
// copy from this configuration|platform to a configuration
if (thisLocation == PropertyStorageLocations.ConfigurationAndPlatformSpecific) {
string configName = GetConfigurationNameFromKey(pair.Key);
PropertyGroup pg = GetOrCreateGroup(newConfigs, configName + "|*");
if (!pg.IsSet(property))
pg[property] = pair.Value[property];
}
break;
case PropertyStorageLocations.PlatformSpecific:
// copy from this configuration|platform to a platform
if (thisLocation == PropertyStorageLocations.ConfigurationAndPlatformSpecific) {
string platformName = GetPlatformNameFromKey(pair.Key);
PropertyGroup pg = GetOrCreateGroup(newConfigs, "*|" + platformName);
if (!pg.IsSet(property))
pg[property] = pair.Value[property];
}
break;
}
}
pair.Value.Remove(property);
}
}
static PropertyStorageLocations GetLocationFromConfigKey(string key)
{
if (key.StartsWith("*|")) {
return PropertyStorageLocations.PlatformSpecific;
} else if (key.EndsWith("|*")) {
return PropertyStorageLocations.ConfigurationSpecific;
} else {
return PropertyStorageLocations.ConfigurationAndPlatformSpecific;
}
}
/// <summary>

147
src/Main/Base/Project/Src/Project/ChooseStorageLocationButton.cs

@ -0,0 +1,147 @@ @@ -0,0 +1,147 @@
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Drawing;
using System.Windows.Forms;
using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.Project
{
/// <summary>
/// Button that can be used to choose the location where a property is stored.
/// </summary>
public sealed class ChooseStorageLocationButton : Button
{
ToolStripMenuItem[] menuItems;
public ChooseStorageLocationButton()
{
this.Size = new Size(20, 20);
ContextMenuStrip = new ContextMenuStrip();
menuItems = new ToolStripMenuItem[] {
CreateMenuItem("${res:Dialog.ProjectOptions.ConfigurationSpecific}", PropertyStorageLocations.ConfigurationSpecific),
CreateMenuItem("${res:Dialog.ProjectOptions.PlatformSpecific}", PropertyStorageLocations.PlatformSpecific),
CreateMenuItem("${res:Dialog.ProjectOptions.StoreInUserFile}", PropertyStorageLocations.UserFile)
};
ContextMenuStrip.Items.AddRange(menuItems);
}
ToolStripMenuItem CreateMenuItem(string text, PropertyStorageLocations location)
{
ToolStripMenuItem item = new ToolStripMenuItem(StringParser.Parse(text));
item.CheckOnClick = true;
item.CheckedChanged += delegate {
if (item.Checked) {
StorageLocation |= location;
} else {
StorageLocation &= ~location;
}
};
return item;
}
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
ContextMenuStrip.Show(this, new Point(Width / 2, Height / 2));
}
PropertyStorageLocations storageLocation;
public event EventHandler StorageLocationChanged;
public PropertyStorageLocations StorageLocation {
get {
return storageLocation;
}
set {
if ((value & PropertyStorageLocations.ConfigurationAndPlatformSpecific) != 0) {
// remove 'Base' flag if any of the specific flags is set
if ((value & PropertyStorageLocations.Base) == PropertyStorageLocations.Base) {
value &= ~PropertyStorageLocations.Base;
}
} else {
// otherwise, add 'Base' flag
value |= PropertyStorageLocations.Base;
}
if (storageLocation != value) {
storageLocation = value;
Image oldImage = Image;
Image = CreateImage(value);
if (oldImage != null) {
oldImage.Dispose();
}
menuItems[0].Checked = (value & PropertyStorageLocations.ConfigurationSpecific) == PropertyStorageLocations.ConfigurationSpecific;
menuItems[1].Checked = (value & PropertyStorageLocations.PlatformSpecific) == PropertyStorageLocations.PlatformSpecific;
menuItems[2].Checked = (value & PropertyStorageLocations.UserFile) == PropertyStorageLocations.UserFile;
if (StorageLocationChanged != null) {
StorageLocationChanged(this, EventArgs.Empty);
}
}
}
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (disposing) {
Image.Dispose();
ContextMenuStrip.Dispose();
}
}
public static Image CreateImage(PropertyStorageLocations location)
{
Bitmap bmp = new Bitmap(12, 12);
using (Graphics g = Graphics.FromImage(bmp)) {
g.Clear(Color.Transparent);
Brush circleBrush;
switch (location & PropertyStorageLocations.ConfigurationAndPlatformSpecific) {
case PropertyStorageLocations.ConfigurationSpecific:
circleBrush = Brushes.Blue;
break;
case PropertyStorageLocations.PlatformSpecific:
circleBrush = Brushes.Red;
break;
case PropertyStorageLocations.ConfigurationAndPlatformSpecific:
circleBrush = Brushes.Violet;
break;
default:
circleBrush = Brushes.Black;
break;
}
if ((location & PropertyStorageLocations.UserFile) == PropertyStorageLocations.UserFile) {
g.FillEllipse(circleBrush, 0, 0, 7, 7);
DrawU(g, 7, 5);
} else {
g.FillEllipse(circleBrush, 2, 2, 8, 8);
}
}
return bmp;
}
/*
static void DrawC(Graphics g, int x, int y)
{
g.DrawLine(Pens.Red, x + 1, y, x + 4, y);
g.DrawLine(Pens.Red, x, y + 1, x, y + 5);
g.DrawLine(Pens.Red, x, y + 1, x, y + 5);
g.DrawLine(Pens.Red, x + 1, y + 6, x + 4, y + 6);
}
*/
/// <summary>draws the letter 'U'</summary>
static void DrawU(Graphics g, int x, int y)
{
const int width = 4;
const int height = 6;
g.DrawLine(Pens.DarkGreen, x, y, x, y + height - 1);
g.DrawLine(Pens.DarkGreen, x + width, y, x + width, y + height - 1);
g.DrawLine(Pens.DarkGreen, x + 1, y + height, x + width - 1, y + height);
}
}
}

55
src/Main/Base/Project/Src/Project/ConfigurationGuiBinding.cs

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.Windows.Forms;
using ICSharpCode.Core;
@ -55,28 +56,72 @@ namespace ICSharpCode.SharpDevelop.Project @@ -55,28 +56,72 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
PropertyStorageLocations location;
PropertyStorageLocations location = PropertyStorageLocations.Unknown;
ChooseStorageLocationButton storageLocationButton;
public PropertyStorageLocations Location {
get {
return location;
}
set {
if (location != value) {
location = value;
if (storageLocationButton != null) {
storageLocationButton.StorageLocation = value;
}
helper.IsDirty = true;
}
}
}
public T Get<T>(T defaultValue)
public ChooseStorageLocationButton CreateLocationButton()
{
T result = helper.GetProperty(property, defaultValue, out location);
ChooseStorageLocationButton btn = new ChooseStorageLocationButton();
this.storageLocationButton = btn;
if (location == PropertyStorageLocations.Unknown) {
location = defaultLocation;
btn.StorageLocation = defaultLocation;
} else {
btn.StorageLocation = location;
}
btn.StorageLocationChanged += delegate(object sender, EventArgs e) {
this.Location = ((ChooseStorageLocationButton)sender).StorageLocation;
};
return btn;
}
/// <summary>
/// Moves the control '<paramref name="controlName"/>' a bit to the right and inserts a
/// <see cref="ChooseStorageLocationButton"/>.
/// </summary>
public void CreateLocationButton(string controlName)
{
CreateLocationButton(Helper.ControlDictionary[controlName]);
}
return result;
/// <summary>
/// Moves the <paramref name="replacedControl"/> a bit to the right and inserts a
/// <see cref="ChooseStorageLocationButton"/>.
/// </summary>
public void CreateLocationButton(Control replacedControl)
{
ChooseStorageLocationButton btn = CreateLocationButton();
btn.Location = new Point(replacedControl.Left, replacedControl.Top + (replacedControl.Height - btn.Height) / 2);
replacedControl.Left += btn.Width + 4;
replacedControl.Width -= btn.Width + 4;
replacedControl.Parent.Controls.Add(btn);
replacedControl.Parent.Controls.SetChildIndex(btn, replacedControl.Parent.Controls.IndexOf(replacedControl));
}
public T Get<T>(T defaultValue)
{
return helper.GetProperty(property, defaultValue, out location);
}
public void Set<T>(T value)
{
if ((location & PropertyStorageLocations.UserFile) != 0) {
System.Diagnostics.Debugger.Break();
}
helper.SetProperty(property, value, location);
}

8
src/Main/Base/Project/Src/Project/ConfigurationGuiHelper.cs

@ -39,6 +39,12 @@ namespace ICSharpCode.SharpDevelop.Project @@ -39,6 +39,12 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
internal Dictionary<string, Control> ControlDictionary {
get {
return controlDictionary;
}
}
#region Manage bindings
public T GetProperty<T>(string property, T defaultValue, out PropertyStorageLocations location)
{
@ -431,6 +437,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -431,6 +437,7 @@ namespace ICSharpCode.SharpDevelop.Project
#endregion
#endregion
#region ConfigurationSelector
/// <summary>
/// Gets the height of the configuration selector in pixel.
/// </summary>
@ -528,5 +535,6 @@ namespace ICSharpCode.SharpDevelop.Project @@ -528,5 +535,6 @@ namespace ICSharpCode.SharpDevelop.Project
helper.Load();
}
}
#endregion
}
}

14
src/Main/Base/Project/Src/Project/MSBuildProject.cs

@ -253,11 +253,16 @@ namespace ICSharpCode.SharpDevelop.Project @@ -253,11 +253,16 @@ namespace ICSharpCode.SharpDevelop.Project
static void SaveProperties(XmlWriter writer, PropertyGroup baseConfiguration, Dictionary<string, PropertyGroup> configurations)
{
if (baseConfiguration.PropertyCount > 0) {
writer.WriteStartElement("PropertyGroup");
baseConfiguration.WriteProperties(writer);
writer.WriteEndElement();
}
foreach (KeyValuePair<string, PropertyGroup> entry in configurations) {
// Skip empty groups
if (entry.Value.PropertyCount == 0) {
continue;
}
writer.WriteStartElement("PropertyGroup");
if (entry.Key.StartsWith("*|")) {
writer.WriteAttributeString("Condition", " '$(Platform)' == '" + entry.Key.Substring(2) + "' ");
@ -273,7 +278,12 @@ namespace ICSharpCode.SharpDevelop.Project @@ -273,7 +278,12 @@ namespace ICSharpCode.SharpDevelop.Project
static void SaveUnknownXmlSections(XmlWriter writer, List<string> unknownElements)
{
foreach (string element in unknownElements) {
// round-trip xml text again for better formatting
XmlReader reader = new XmlTextReader(new StringReader(element));
writer.WriteNode(reader, false);
reader.Close();
}
}
#endregion

4
src/Main/Base/Project/Src/Services/ParserService/DefaultProjectContent.cs

@ -33,6 +33,10 @@ namespace ICSharpCode.Core @@ -33,6 +33,10 @@ namespace ICSharpCode.Core
{
List<IProjectContent> referencedContents = new List<IProjectContent>();
// we use a list of Dictionaries because we need multiple dictionaries:
// each uses another StringComparer
// (C#: StringComparer.InvariantCulture, VB: StringComparer.InvariantCultureCaseInsensitive)
// new dictionaries are added to the list when required
List<Dictionary<string, IClass>> classLists = new List<Dictionary<string, IClass>>();
List<Dictionary<string, NamespaceStruct>> namespaces = new List<Dictionary<string, NamespaceStruct>>();
protected XmlDoc xmlDoc = new XmlDoc();

5
src/Main/Base/Project/Src/TextEditor/SearchAndReplace/Engine/SearchStrategy/BoyerMooreSearchStrategy.cs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
// <file>
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version>$Revision$</version>
// </file>
@ -134,4 +134,3 @@ namespace SearchAndReplace @@ -134,4 +134,3 @@ namespace SearchAndReplace
}
}
}

2
src/Main/Core/Project/ICSharpCode.Core.csproj.user

@ -1,6 +1,4 @@ @@ -1,6 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.50215</LastOpenVersion>
<ProjectView>ShowAllFiles</ProjectView>

12
src/Main/Core/Project/Src/Util/ClipboardWrapper.cs

@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 24.08.2005
* Time: 11:38
*/
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Windows.Forms;

2
src/Main/StartUp/Project/StartUp.csproj.user

@ -1,6 +1,4 @@ @@ -1,6 +1,4 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup>
<LastOpenVersion>8.0.41115</LastOpenVersion>
<ProjectView>ProjectFiles</ProjectView>

2
src/Tools/CheckFileHeaders/Main.cs

@ -68,6 +68,8 @@ namespace CheckFileHeaders @@ -68,6 +68,8 @@ namespace CheckFileHeaders
continue;
if (subdir.EndsWith("AddIns\\Misc\\ProjectImporterExporter\\Project"))
continue;
if (subdir.EndsWith(@"AddIns\Misc\Debugger\Debugger.Core\Project\Src\DebuggerInterop\Core"))
continue;
count += Run(subdir);
}
return count;

Loading…
Cancel
Save