Browse Source

Merge remote-tracking branch 'origin/master' into newNR

pull/32/merge
Daniel Grunwald 13 years ago
parent
commit
be41187303
  1. 16
      src/AddIns/BackendBindings/VBNetBinding/Test/CodeCompletionTests.cs
  2. 2
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Core.UI/Windows/ConnectionWizardWindow.xaml
  3. 6
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Core.UI/Windows/ConnectionWizardWindow.xaml.cs
  4. 94
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerViewContent.cs
  5. 25
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core/IO/MSLIO.cs
  6. 1
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/ModelTools.cs
  7. 16
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlSchemaCompletion.cs
  8. 1134
      src/AddIns/DisplayBindings/XmlEditor/Test/Resources/xslt.xsd
  9. 38
      src/AddIns/DisplayBindings/XmlEditor/Test/Schema/SubstitutionGroupTests.cs
  10. 48
      src/AddIns/DisplayBindings/XmlEditor/Test/Schema/XsltSchemaTests.cs
  11. 8
      src/AddIns/DisplayBindings/XmlEditor/Test/Utils/ResourceManager.cs
  12. 5
      src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj
  13. BIN
      src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Console.Types.dll
  14. BIN
      src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Core.dll
  15. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/FormatStringConverte.cs
  16. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  17. 47
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs
  18. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/TypeHelpers.cs
  19. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/DateAdd.cs
  20. 45
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/DateSubtract.cs
  21. 36
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Utilities/TypeNormalizer.cs
  22. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs
  23. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj
  24. 138
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/FormattingFixture.cs
  25. 82
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/DateTimeFunctionsFixture.cs
  26. 43
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/FunctionsFixture.cs
  27. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs
  28. 4
      src/AddIns/VersionControl/GitAddIn/GitAddIn.addin
  29. 8
      src/AddIns/VersionControl/GitAddIn/Src/Commands.cs
  30. 5
      src/AddIns/VersionControl/GitAddIn/Src/GitGuiWrapper.cs
  31. 1
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.cs
  32. 6
      src/Libraries/ICSharpCode.Build.Tasks/Project/Resources.cs
  33. 17
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ExternalToolPanel.xaml
  34. 1
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ApplicationSettings.xaml.cs
  35. 3
      src/Main/Base/Project/Src/Project/AbstractProject.cs
  36. 2
      src/Main/GlobalAssemblyInfo.template
  37. 3
      src/Main/SharpDevelop/Workbench/FileService.cs

16
src/AddIns/BackendBindings/VBNetBinding/Test/CodeCompletionTests.cs

@ -119,5 +119,21 @@ End Module"; @@ -119,5 +119,21 @@ End Module";
TestCtrlSpace(text, true, list => Assert.IsFalse(list.Items.Any(i => i.Text == "InnerException")));
}
[Test]
public void TestLocalVariablesAvailableAtEndOfForLoop()
{
string text = @"Module Test
Public Sub f()
Dim cheeses = { ""cheddar"", ""brie"", ""edam"" }
For Each cheese As String In cheeses
Dim gouda = ""is tasty""
|
Next
End Sub
End Module";
TestKeyPress(text, 'g', CodeCompletionKeyPressResult.CompletedIncludeKeyInCompletion, list => Assert.IsTrue(list.Items.Any(i => i.Text == "gouda")));
}
}
}

2
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Core.UI/Windows/ConnectionWizardWindow.xaml

@ -84,7 +84,7 @@ @@ -84,7 +84,7 @@
<TextBlock Grid.Row="5" Margin="3">Database:</TextBlock>
<ComboBox x:Name="cboDatabases" Grid.Row="5" Grid.Column="1" Margin="3" SelectedItem="{Binding SelectedDatabase, ElementName=This}"
ItemsSource="{Binding SelectedDatasource.Databases, ElementName=This}" SelectionChanged="cboDatabases_SelectionChanged">
ItemsSource="{Binding SelectedDatasource.Databases, ElementName=This}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />

6
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Core.UI/Windows/ConnectionWizardWindow.xaml.cs

@ -92,6 +92,7 @@ namespace ICSharpCode.Data.Core.UI.Windows @@ -92,6 +92,7 @@ namespace ICSharpCode.Data.Core.UI.Windows
set
{
_selectedDatabase = value;
btnAdd.IsEnabled = (_selectedDatabase != null);
OnPropertyChanged("SelectedDatabase");
}
}
@ -212,11 +213,6 @@ namespace ICSharpCode.Data.Core.UI.Windows @@ -212,11 +213,6 @@ namespace ICSharpCode.Data.Core.UI.Windows
}
}
private void cboDatabases_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
btnAdd.IsEnabled = true;
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
if (_addAction == null)

94
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerViewContent.cs

@ -1,9 +1,8 @@ @@ -1,9 +1,8 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
#region Usings
using System;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
@ -11,8 +10,11 @@ using System.Windows; @@ -11,8 +10,11 @@ using System.Windows;
using System.Windows.Controls;
using System.Xml.Linq;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Common;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.ChangeWatcher;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.CSDL;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.CSDL.Property;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.CSDL.Type;
using ICSharpCode.Data.EDMDesigner.Core.IO;
using ICSharpCode.Data.EDMDesigner.Core.UI.UserControls;
@ -22,29 +24,22 @@ using ICSharpCode.SharpDevelop.Gui; @@ -22,29 +24,22 @@ using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.Workbench;
#endregion
namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
{
public class EDMDesignerViewContent : AbstractViewContent, IHasPropertyContainer, IToolsHost, IEDMDesignerChangeWatcherObserver
{
#region Fields
private ScrollViewer _scrollViewer = new ScrollViewer() { HorizontalScrollBarVisibility = ScrollBarVisibility.Auto, VerticalScrollBarVisibility = ScrollBarVisibility.Auto };
private ScrollViewer _scrollViewer = new ScrollViewer() {
HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
VerticalScrollBarVisibility = ScrollBarVisibility.Auto
};
private DesignerCanvas _designerCanvas = null;
private PropertyContainer _propertyContainer = new PropertyContainer();
private EDMView _edmView = null;
private object _selection = null;
#endregion
#region Properties
public object Selection
{
public object Selection {
get { return _selection; }
set
{
set {
if (_selection == null)
_propertyContainer.Clear();
else
@ -54,30 +49,22 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -54,30 +49,22 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
}
}
public Window Window
{
public Window Window {
get { return Application.Current.MainWindow; }
}
public EDMView EDMView
{
public EDMView EDMView {
get { return _edmView; }
}
public override object Control
{
public override object Control {
get { return _scrollViewer; }
}
public DesignerCanvas DesignerCanvas
{
public DesignerCanvas DesignerCanvas {
get { return _designerCanvas; }
}
#endregion
#region Constructor
public EDMDesignerViewContent(OpenedFile primaryFile)
: base(primaryFile)
{
@ -89,10 +76,6 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -89,10 +76,6 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
EDMDesignerChangeWatcher.AddEDMDesignerViewContent(this);
}
#endregion
#region Methods
public override void Load(OpenedFile file, Stream stream)
{
Debug.Assert(file == this.PrimaryFile);
@ -105,17 +88,13 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -105,17 +88,13 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
_edmView = new EDMView(stream, readMoreAction);
// If EDMX is empty run EDM Wizard
if (_edmView.EDM.IsEmpty)
{
if (_edmView.EDM.IsEmpty) {
edmxElement = null;
string ns = String.Empty;
if (ProjectService.CurrentProject == null)
{
if (ProjectService.CurrentProject == null) {
ns = ICSharpCode.Core.MessageService.ShowInputBox("EDMDesigner","Enter NameSpace","DefaultNamespace");
}
else
{
} else {
ns = ProjectService.CurrentProject.RootNamespace;
}
@ -132,8 +111,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -132,8 +111,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
XElement designerViewsElement = null;
if (edmxElement == null || (designerViewsElement = EDMXIO.ReadSection(edmxElement, EDMXIO.EDMXSection.DesignerViews)) == null)
{
if (edmxElement == null || (designerViewsElement = EDMXIO.ReadSection(edmxElement, EDMXIO.EDMXSection.DesignerViews)) == null) {
designerViewsElement = DesignerIO.GenerateNewDesignerViewsFromCSDLView(_edmView);
}
@ -147,11 +125,15 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -147,11 +125,15 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
_scrollViewer.Content = _designerCanvas;
// Register CSDL of EDMX in CSDL DatabaseTreeView
CSDLDatabaseTreeViewAdditionalNode.Instance.CSDLViews.Add(_edmView.CSDL);
CSDLViews.Add(_edmView.CSDL);
EDMDesignerChangeWatcher.Init = false;
}
ObservableCollection<CSDLView> CSDLViews {
get { return CSDLDatabaseTreeViewAdditionalNode.Instance.CSDLViews; }
}
public override void Save(OpenedFile file, Stream stream)
{
EDMXIO.WriteXDocument(_edmView).Save(stream);
@ -159,7 +141,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -159,7 +141,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
private EDMWizardWindow RunWizard(OpenedFile file, string projectStandardNamespace)
{
EDMWizardWindow wizard = new EDMWizardWindow(file, projectStandardNamespace);
var wizard = new EDMWizardWindow(file, projectStandardNamespace);
wizard.Owner = Application.Current.MainWindow;
wizard.WindowStartupLocation = WindowStartupLocation.CenterOwner;
wizard.ShowDialog();
@ -169,21 +151,20 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -169,21 +151,20 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
public override void Dispose()
{
if (CSDLDatabaseTreeViewAdditionalNode.Instance.CSDLViews.Contains(_edmView.CSDL))
CSDLDatabaseTreeViewAdditionalNode.Instance.CSDLViews.Remove(_edmView.CSDL);
if (_edmView != null) {
CSDLViews.Remove(_edmView.CSDL);
}
EDMDesignerChangeWatcher.RemoveEDMDesignerViewContent(this);
}
public void ShowMappingTab(IUIType uiType)
{ }
#endregion
{
}
#region IHasPropertyContainer
public PropertyContainer PropertyContainer
{
public PropertyContainer PropertyContainer {
get { return _propertyContainer; }
}
@ -191,8 +172,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -191,8 +172,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
#region IToolsHost
object IToolsHost.ToolsContent
{
object IToolsHost.ToolsContent {
get { return null; }
}
@ -202,18 +182,14 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding @@ -202,18 +182,14 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
public bool ObjectChanged(object changedObject)
{
foreach (DesignerView designerView in _edmView.DesignerViews)
{
foreach (ITypeDesigner uiType in designerView)
{
if (uiType == changedObject || uiType.UIType.BusinessInstance == changedObject)
{
foreach (DesignerView designerView in _edmView.DesignerViews) {
foreach (ITypeDesigner uiType in designerView) {
if (uiType == changedObject || uiType.UIType.BusinessInstance == changedObject) {
PrimaryFile.IsDirty = true;
return true;
}
}
}
return false;
}

25
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core/IO/MSLIO.cs

@ -25,10 +25,6 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO @@ -25,10 +25,6 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO
{
public class MSLIO : IO
{
#region Methods
#region Read
public static XDocument GenerateTypeMapping(XDocument mslDocument)
{
XElement mappingElement = mslDocument.Element(XName.Get("Mapping", mslNamespace.NamespaceName));
@ -41,8 +37,10 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO @@ -41,8 +37,10 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO
if (entityContainerMappingElement == null || entityContainerMappingElement.IsEmpty)
return null;
foreach (XElement entitySetMapping in entityContainerMappingElement.Elements(mslNamespace + "EntitySetMapping"))
{
foreach (XElement entitySetMapping in entityContainerMappingElement.Elements(mslNamespace + "EntitySetMapping")) {
if (entitySetMapping.HasEntityTypeMappingChildElement())
continue;
string name = entitySetMapping.Attribute("Name").Value;
string storeEntitySet = entitySetMapping.Attribute("StoreEntitySet").Value;
string typeName = entitySetMapping.Attribute("TypeName").Value;
@ -61,7 +59,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO @@ -61,7 +59,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO
return mslDocument;
}
public static CSDLContainer IntegrateMSLInCSDLContainer(CSDLContainer csdlContainer, SSDLContainer ssdlContainer, XElement edmxRuntime)
{
XElement mappingsElement = edmxRuntime.Element(XName.Get("Mappings", edmxNamespace.NamespaceName));
@ -263,10 +261,6 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO @@ -263,10 +261,6 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO
}
}
#endregion
#region Write
public static XElement Write(EDM edm)
{
CSDLContainer csdlContainer = edm.CSDLContainer;
@ -533,10 +527,6 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO @@ -533,10 +527,6 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO
new XAttribute("ColumnName", result.Value));
}
}
#endregion
#endregion
}
#region Extension methods
@ -560,6 +550,11 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO @@ -560,6 +550,11 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO
return element;
}
public static bool HasEntityTypeMappingChildElement(this XElement entitySetMapping)
{
return entitySetMapping.Elements().Any(e => e.Name.LocalName == "EntityTypeMapping");
}
}
#endregion

1
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/ModelTools.cs

@ -37,6 +37,7 @@ namespace ICSharpCode.WpfDesign.Designer @@ -37,6 +37,7 @@ namespace ICSharpCode.WpfDesign.Designer
return 0;
}
}
tmp = tmp.Parent;
}
return 0;
}

16
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlSchemaCompletion.cs

@ -335,11 +335,25 @@ namespace ICSharpCode.XmlEditor @@ -335,11 +335,25 @@ namespace ICSharpCode.XmlEditor
{
XmlSchemaComplexType complexType = element.SchemaType as XmlSchemaComplexType;
if (complexType == null) {
complexType = FindNamedType(schema, element.SchemaTypeName);
if (element.SchemaTypeName.IsEmpty) {
return GetComplexTypeFromSubstitutionGroup(element);
}
return FindNamedType(schema, element.SchemaTypeName);
}
return complexType;
}
XmlSchemaComplexType GetComplexTypeFromSubstitutionGroup(XmlSchemaElement element)
{
if (!element.SubstitutionGroup.IsEmpty) {
XmlSchemaElement substitutedElement = FindElement(element.SubstitutionGroup);
if (substitutedElement != null) {
return GetElementAsComplexType(substitutedElement);
}
}
return null;
}
/// <summary>
/// Handler for schema validation errors.
/// </summary>

1134
src/AddIns/DisplayBindings/XmlEditor/Test/Resources/xslt.xsd

File diff suppressed because it is too large Load Diff

38
src/AddIns/DisplayBindings/XmlEditor/Test/Schema/SubstitutionGroupTests.cs

@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.XmlEditor;
using NUnit.Framework;
namespace XmlEditor.Tests.Schema
{
[TestFixture]
public class SubstitutionGroupTests : SchemaTestFixtureBase
{
string namespaceURI = "http://www.w3.org/1999/XSL/Transform";
protected override string GetSchema()
{
return
"<xs:schema " +
" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"" +
" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"" +
" targetNamespace=\"http://www.w3.org/1999/XSL/Transform\"" +
" elementFormDefault=\"qualified\">\r\n" +
" <xs:element name=\"stylesheet\" substitutionGroup=\"xsl:transform\"/>\r\n" +
"</xs:schema>";
}
[Test]
public void GetChildElementCompletion_ParentElementIsSubstitutionGroupButNoCorrespondingElementInSchema_NullReferenceExceptionIsNotThrown()
{
var path = new XmlElementPath();
path.AddElement(new QualifiedName("stylesheet", namespaceURI));
XmlCompletionItemCollection items = SchemaCompletion.GetChildElementCompletion(path);
Assert.AreEqual(0, items.Count);
}
}
}

48
src/AddIns/DisplayBindings/XmlEditor/Test/Schema/XsltSchemaTests.cs

@ -0,0 +1,48 @@ @@ -0,0 +1,48 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.XmlEditor;
using NUnit.Framework;
using XmlEditor.Tests.Utils;
namespace XmlEditor.Tests.Schema
{
[TestFixture]
public class XsltSchemaTests
{
string namespaceURI = "http://www.w3.org/1999/XSL/Transform";
XmlSchemaCompletion schemaCompletion;
[TestFixtureSetUp]
public void SetUp()
{
schemaCompletion = new XmlSchemaCompletion(ResourceManager.ReadXsltSchema());
}
[Test]
public void GetChildElementCompletion_StylesheetElement_SubstitutionGroupUsedForTemplateAndTemplateElementReturned()
{
var path = new XmlElementPath();
path.AddElement(new QualifiedName("stylesheet", namespaceURI));
XmlCompletionItemCollection completionItems = schemaCompletion.GetChildElementCompletion(path);
bool contains = completionItems.Contains("template");
Assert.IsTrue(contains);
}
[Test]
public void GetAttributeCompletion_TemplateElementIsChildOfStylesheetElement_SubstitutionGroupUsedForTemplateAndMatchAttributeReturned()
{
var path = new XmlElementPath();
path.AddElement(new QualifiedName("stylesheet", namespaceURI));
path.AddElement(new QualifiedName("template", namespaceURI));
XmlCompletionItemCollection completionItems = schemaCompletion.GetAttributeCompletion(path);
bool contains = completionItems.Contains("match");
Assert.IsTrue(contains);
}
}
}

8
src/AddIns/DisplayBindings/XmlEditor/Test/Utils/ResourceManager.cs

@ -35,6 +35,14 @@ namespace XmlEditor.Tests.Utils @@ -35,6 +35,14 @@ namespace XmlEditor.Tests.Utils
return manager.ReadXml("XMLSchema.xsd");
}
/// <summary>
/// Reads the XSL Transforms schema.
/// </summary>
public static StreamReader ReadXsltSchema()
{
return manager.ReadXml("xslt.xsd");
}
/// <summary>
/// Returns the xml read from the specified file which is embedded
/// in this assembly as a resource.

5
src/AddIns/DisplayBindings/XmlEditor/Test/XmlEditor.Tests.csproj

@ -172,6 +172,8 @@ @@ -172,6 +172,8 @@
<Compile Include="Schema\SingleElementSchemaTestFixture.cs" />
<Compile Include="Schema\ElementWithAttributeSchemaTestFixture.cs" />
<Compile Include="Schema\NestedElementSchemaTestFixture.cs" />
<Compile Include="Schema\SubstitutionGroupTests.cs" />
<Compile Include="Schema\XsltSchemaTests.cs" />
<Compile Include="Schema\TwoElementSchemaTestFixture.cs" />
<Compile Include="Schema\ReferencedElementsTestFixture.cs" />
<Compile Include="Schema\NamespaceCompletionTestFixture.cs" />
@ -378,5 +380,8 @@ @@ -378,5 +380,8 @@
<Folder Include="FindSchemaObject" />
<Folder Include="Tree" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\xslt.xsd" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

BIN
src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Console.Types.dll

Binary file not shown.

BIN
src/AddIns/Misc/PackageManagement/RequiredLibraries/NuGet.Core.dll

Binary file not shown.

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Dialogs/FormatStringConverte.cs

@ -38,10 +38,7 @@ namespace ICSharpCode.Reports.Addin.Dialogs @@ -38,10 +38,7 @@ namespace ICSharpCode.Reports.Addin.Dialogs
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
// return new StandardValuesCollection(
// new string[] { "entry1", "entry2", "entry3" });
return new StandardValuesCollection(GlobalLists.Formats());
}
}

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj

@ -176,6 +176,7 @@ @@ -176,6 +176,7 @@
<Compile Include="Project\Exporter\ExportRenderer\IExportRunner.cs" />
<Compile Include="Project\Exporter\GapList.cs" />
<Compile Include="Project\Expressions\EvaluationHelper.cs" />
<Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\DateSubtract.cs" />
<Compile Include="Project\Expressions\SimpleExpressionEvaluator\Compilation\Functions\ReportingService\FieldReference.cs" />
<Compile Include="Project\Exporter\BasePager.cs" />
<Compile Include="Project\Exporter\Converters\BaseConverter.cs" />

47
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardFormatter.cs

@ -18,30 +18,27 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing @@ -18,30 +18,27 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
internal static class StandardFormatter
{
public static string FormatOutput(string valueToFormat,string format,
string dataType, string nullValue )
{
if (String.IsNullOrEmpty(format)) {
return valueToFormat;
}
if (String.IsNullOrEmpty(valueToFormat)) {
return nullValue;
}
TypeCode typeCode = TypeHelpers.TypeCodeFromString(dataType);
return StandardFormatter.FormatItem(valueToFormat,format,
typeCode,nullValue);
return FormatItem(valueToFormat,format,typeCode,nullValue);
}
public static string FormatItem (string valueToFormat,string format,
private static string FormatItem (string valueToFormat,string format,
TypeCode typeCode,string nullValue)
{
string retValue = String.Empty;
if (String.IsNullOrEmpty(format)) {
retValue = valueToFormat;
return retValue;
}
if (String.IsNullOrEmpty(valueToFormat)) {
return nullValue;
}
switch (typeCode) {
case TypeCode.Int16:
case TypeCode.Int32:
@ -124,24 +121,30 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing @@ -124,24 +121,30 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
return str;
}
// http://stackoverflow.com/questions/4710455/i-need-code-to-validate-any-time-in-c-sharp-in-hhmmss-format
private static string FormatDate(string toFormat, string format)
{
try {
DateTime date = DateTime.Parse (toFormat.Trim(),
CultureInfo.CurrentCulture.DateTimeFormat);
DateTime date;
if (DateTime.TryParse(toFormat, out date))
{
string str = date.ToString(format,
DateTimeFormatInfo.CurrentInfo);
return str.Trim();
} catch (System.FormatException ) {
// string s = String.Format("< {0} > {1}",toFormat,e.Message);
// System.Console.WriteLine("\t\tDateValue {0}",s);
}
return toFormat.Trim();
TimeSpan time;
bool valid = TimeSpan.TryParseExact(toFormat,
"g",
CultureInfo.CurrentCulture,
out time);
if (valid) {
return time.ToString("g");
}
return toFormat;
}
private static bool CheckValue (string toFormat)
{
if (String.IsNullOrEmpty(toFormat)) {

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/TypeHelpers.cs

@ -67,6 +67,9 @@ namespace ICSharpCode.Reports.Core.Project.BaseClasses @@ -67,6 +67,9 @@ namespace ICSharpCode.Reports.Core.Project.BaseClasses
if (String.IsNullOrEmpty(type)) {
throw new ArgumentNullException("type");
}
// var x = Type.GetType(type,false,true);
// var s = Type.GetTypeCode( Type.GetType(type));
// Console.WriteLine ("typeCode for {0} - {1}",type,s);
return Type.GetTypeCode( Type.GetType(type));
}
}

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/DateAdd.cs

@ -31,7 +31,6 @@ $Log: /CoreServices/Hsi/ExpressionEvaluator/Parser/Functions/ToString.cs $ @@ -31,7 +31,6 @@ $Log: /CoreServices/Hsi/ExpressionEvaluator/Parser/Functions/ToString.cs $
using System;
using System.Text.RegularExpressions;
using SimpleExpressionEvaluator.Compilation.Functions;
using SimpleExpressionEvaluator.Utilities;
namespace SimpleExpressionEvaluator.Compilation.Functions

45
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/DateSubtract.cs

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 06.02.2013
* Time: 20:18
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using SimpleExpressionEvaluator.Utilities;
namespace SimpleExpressionEvaluator.Compilation.Functions
{
/// <summary>
/// DateSubtract (endDate,startDate)
/// </summary>
public class DateSubtract: Function<TimeSpan>
{
protected override int ExpectedArgumentCount
{
get{return 2;}
}
protected override TimeSpan EvaluateFunction(object[] args)
{
args[0] = args[0] == null ? DateTime.Today : TypeNormalizer.EnsureType(args[0], typeof (DateTime));
args[1] = args[1] == null ? DateTime.Today : TypeNormalizer.EnsureType(args[1], typeof (DateTime));
var endDate = (DateTime) args[0];
if (endDate == DateTime.MinValue) {
endDate = DateTime.Today;
}
var startDate = (DateTime) args[1];
if (startDate == DateTime.MinValue)
startDate = DateTime.Today;
return endDate.Subtract(startDate);
}
}
}

36
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Utilities/TypeNormalizer.cs

@ -107,29 +107,23 @@ namespace SimpleExpressionEvaluator.Utilities @@ -107,29 +107,23 @@ namespace SimpleExpressionEvaluator.Utilities
public static object EnsureType(object value,Type targetType,object nullValue)
{
if (value == null)
return nullValue;
if (targetType == typeof(object))
return value;
if (value == null)
return nullValue;
if (targetType == typeof(object))
return value;
if (value.GetType() == targetType)
return value;
if (value.GetType() == targetType)
return value;
/*
TypeConverter converter = TypeDescriptor.GetConverter(targetType);
if (converter != null && converter.CanConvertFrom(value.GetType()))
{
return converter.ConvertFrom(value);
}
*/
try
{
return Convert.ChangeType(value, targetType);
}
catch
{ }
return nullValue;
try {
return Convert.ChangeType(value, targetType);
} catch (Exception e) {
Console.WriteLine("TypeNormalizer {0} - {1}",value.ToString(),e.Message);
return value.ToString();
//throw new Exception()String.Format("TypeNormalizer for <{0}> - {1}",value.ToString(),e.Message));
}
}
}
}

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Globals/GlobalLists.cs

@ -64,6 +64,7 @@ namespace ICSharpCode.Reports.Core.Globals @@ -64,6 +64,7 @@ namespace ICSharpCode.Reports.Core.Globals
private static readonly string[] MyDataTypeList = new string[] {
"System.String",
"System.DateTime",
"System.TimeSpan",
"System.Decimal",
"System.Int"};
#endregion
@ -155,7 +156,9 @@ namespace ICSharpCode.Reports.Core.Globals @@ -155,7 +156,9 @@ namespace ICSharpCode.Reports.Core.Globals
"Ddd, dd MMM yyyy HH\':\'mm\'\"ss \'GMT\'",
"yyyy-MM-dd HH:mm:ss",
"yyyy-MM-dd HH:mm:ss GMT",
"HH:mm", "HH:mm:ss",
"HH:mm",
"HH:mm:ss",
"hh:mm:ss",
"yyyy-MM-dd HH:mm:ss", "html"};
#endregion

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj

@ -81,6 +81,7 @@ @@ -81,6 +81,7 @@
<Compile Include="DataManager\TableStragy\TableDataManagerFixture.cs" />
<Compile Include="DataManager\TableStragy\TableStrategyFixture.cs" />
<Compile Include="Globals\ServiceContainerFixture.cs" />
<Compile Include="Printing\FormattingFixture.cs" />
<Compile Include="Printing\SectionBoundFixture.cs" />
<Compile Include="Printing\Shapes\BaseLineFixture.cs" />
<Compile Include="Printing\Shapes\EllipseShapeFixture.cs" />
@ -89,7 +90,7 @@ @@ -89,7 +90,7 @@
<Compile Include="Printing\SinglePageFixture.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ReportingLanguage\ExpressionEvaluatorFixture.cs" />
<Compile Include="ReportingLanguage\FunctionsFixture.cs" />
<Compile Include="ReportingLanguage\DateTimeFunctionsFixture.cs" />
<Compile Include="ReportingLanguage\IntegrationTests\AggregateFunctionsFixture.cs" />
<Compile Include="ReportingLanguage\IntegrationTests\AggregateFunctionsFromIListFixture.cs" />
<Compile Include="ReportingLanguage\IntegrationTests\ConcatFieldsFixture.cs" />

138
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/FormattingFixture.cs

@ -0,0 +1,138 @@ @@ -0,0 +1,138 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 13.02.2013
* Time: 19:48
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Globalization;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using NUnit.Framework;
namespace ICSharpCode.Reports.Core.Test.Printing
{
[TestFixture]
public class FormattingFixture
{
private const string stringType = "System.String";
private const string dateTimetype = "System.DateTime";
private const string nullValue ="NullValue";
[Test]
public void String_Is_Not_Formatted()
{
string toFormat = "Hello World";
string format = "dd/MM/yy";
var result = StandardFormatter.FormatOutput(toFormat,format,stringType,nullValue);
Assert.That(result,Is.EqualTo(toFormat));
}
[Test]
public void Empty_Input_Returns_NullValue()
{
string toFormat = string.Empty;;
string format = "dd/MM/yy";
var result = StandardFormatter.FormatOutput(toFormat,format,stringType,nullValue);
Assert.That(result,Is.EqualTo(nullValue));
}
#region DateTime
[Test]
public void DateTime_dd_MM_YY ()
{
string toFormat = "2012/02/12";
string format = "dd.MM.yy";
var result = StandardFormatter.FormatOutput(toFormat,format,dateTimetype,nullValue);
Assert.That(result,Is.EqualTo("12.02.12"));
}
[Test]
public void TypeDateTimeOfResultIsString()
{
string toFormat = "2012/02/12";
string format = "dd.MM.yy";
var result = StandardFormatter.FormatOutput(toFormat,format,dateTimetype,nullValue);
Assert.That(result,Is.TypeOf(typeof(string)));
}
[Test]
public void ConvertResultToDateTime()
{
DateTime date;
string toFormat = "2012/02/12";
string format = "dd.MM.yy";
var result = StandardFormatter.FormatOutput(toFormat,format,dateTimetype,nullValue);
bool valid = DateTime.TryParse(toFormat, out date);
Assert.That(valid,Is.True);
Assert.That(date,Is.EqualTo(new DateTime(2012,02,12)));
}
#endregion
#region TimeSpan
[Test]
public void TimeSpan_HH_mm_ss ()
{
string toFormat = "5:50:10";
string format = "HH:mm:ss";
var result = StandardFormatter.FormatOutput(toFormat,format,dateTimetype,nullValue);
Assert.That(result,Is.EqualTo("05:50:10"));
}
[Test]
public void TimeSpan_H_mm_ss ()
{
string toFormat = "5:50:10";
string format = "H:mm:ss";
var result = StandardFormatter.FormatOutput(toFormat,format,dateTimetype,nullValue);
Assert.That(result,Is.EqualTo("5:50:10"));
}
[Test]
public void TimeSpan_D_H_mm_ss ()
{
string toFormat = "1,5:50:10";
string format = "H:mm:ss";
var result = StandardFormatter.FormatOutput(toFormat,format,dateTimetype,nullValue);
Assert.That(result,Is.EqualTo("1,5:50:10"));
}
[Test]
public void TypeOfTimeSpanResultIsString()
{
string toFormat = "5,50,10";
string format = "H:mm:ss";
var result = StandardFormatter.FormatOutput(toFormat,format,dateTimetype,nullValue);
Assert.That(result,Is.TypeOf(typeof(string)));
}
[Test]
public void ConvertResultToTimeSpan()
{
TimeSpan time;
string toFormat = "5:50:10";
string format = "H:mm:ss";
var result = StandardFormatter.FormatOutput(toFormat,format,dateTimetype,nullValue);
bool valid = TimeSpan.TryParseExact(result,
"c",
CultureInfo.CurrentCulture,
out time);
Assert.That(valid,Is.True);
Assert.That(time,Is.EqualTo(new TimeSpan(5,50,10)));
}
#endregion
}
}

82
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/DateTimeFunctionsFixture.cs

@ -0,0 +1,82 @@ @@ -0,0 +1,82 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
using NUnit.Framework;
using SimpleExpressionEvaluator;
namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests
{
[TestFixture]
public class DateTimeFunctionsFixture
{
[Test]
public void Can_Compile_Function()
{
const string expression = "today()";
IExpression expr = CreateExpression(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(DateTime.Today));
}
[Test]
public void Can_Compile_Expr_With_Generic_Return()
{
const string expression = "Today()";
IExpression expr = CreateExpression(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(DateTime.Today));
}
[Test]
public void Can_Compile_DateAdd()
{
const string expression = "dateAdd(today(),d,1)";
IExpression expr = CreateExpression(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(DateTime.Today.AddDays(1)));
}
[Test]
public void Can_Compile_DateDiff ()
{
const string expression = "dateSubtract('10.02.2013','09.02.2013')";
IExpression expr = CreateExpression(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(new TimeSpan(1,0,0,0).Duration()));
}
[Test]
public void Can_Compile_DateDiff_Start_Greater_End ()
{
const string expression = "dateSubtract('09.02.2013','10.02.2013')";
IExpression expr = CreateExpression(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(new TimeSpan(1,0,0,0)));
}
[Test]
public void Can_Compile_DateDiff_Include_Hours_Minutes()
{
// Example found at:
// http://msdn.microsoft.com/en-us/library/ae6246z1.aspx
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
// diff1 gets 185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);
const string expression = "dateSubtract('1996.12.6 13:2:0','1996.6.3 22:15:0')";
IExpression expr = CreateExpression(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(diff1));
}
private static IExpression CreateExpression (string expression)
{
var compiler = new ReportingLanguageCompiler();
return compiler.CompileExpression<object>(expression);
}
}
}

43
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/FunctionsFixture.cs

@ -1,43 +0,0 @@ @@ -1,43 +0,0 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
using NUnit.Framework;
using SimpleExpressionEvaluator;
namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.LanguageTests
{
[TestFixture]
public class FunctionsFixture
{
[Test]
public void Can_Compile_Function()
{
const string expression = "today()";
var compiler = new ReportingLanguageCompiler();
IExpression expr = compiler.CompileExpression<DateTime>(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(DateTime.Today));
}
[Test]
public void Can_Compile_Expr_With_Generic_Return()
{
const string expression = "Today()";
var compiler = new ReportingLanguageCompiler();
IExpression expr = compiler.CompileExpression<object>(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(DateTime.Today));
}
[Test]
public void Can_Compile_DateAdd()
{
const string expression = "dateAdd(today(),d,1)";
var compiler = new ReportingLanguageCompiler();
IExpression expr = compiler.CompileExpression<object>(expression);
Assert.That(expr.Evaluate(null), Is.EqualTo(DateTime.Today.AddDays(1)));
}
}
}

7
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs

@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
{
[TestFixture]
[SetCulture("en-US")]
// [SetCulture("en-US")]
public class AggregateFunctionsFromTableFixture
{
@ -107,7 +107,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -107,7 +107,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
const string expression = "=max(amount)";
//var s = this.evaluator.Evaluate(expression);
Assert.That(this.evaluator.Evaluate(expression),
Is.EqualTo("400.5"));
Is.EqualTo("400,5"));
}
@ -134,8 +134,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -134,8 +134,6 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
[TestFixtureSetUp]
public void Init()
{
this.singlePage = TestHelper.CreateSinglePage();
this.evaluator = new ExpressionEvaluatorFacade(this.singlePage);
@ -151,6 +149,5 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -151,6 +149,5 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
this.dataManager = ICSharpCode.Reports.Core.DataManager.CreateInstance(this.testTable, new ReportSettings());
this.singlePage.IDataNavigator = this.dataManager.GetNavigator;
}
}
}

4
src/AddIns/VersionControl/GitAddIn/GitAddIn.addin

@ -36,6 +36,10 @@ @@ -36,6 +36,10 @@
label = "Git ${res:AddIns.Subversion.Diff}..."
icon = "Svn.Diff"
class = "ICSharpCode.GitAddIn.GitDiffCommand"/>
<MenuItem id = "GitLog"
label = "Git ${res:AddIns.Subversion.ShowLog}..."
class = "ICSharpCode.GitAddIn.GitLogCommand"/>
</Condition>
</Path>

8
src/AddIns/VersionControl/GitAddIn/Src/Commands.cs

@ -93,4 +93,12 @@ namespace ICSharpCode.GitAddIn @@ -93,4 +93,12 @@ namespace ICSharpCode.GitAddIn
GitGuiWrapper.Diff(filename, callback);
}
}
public class GitLogCommand : GitCommand
{
protected override void Run(string filename, Action callback)
{
GitGuiWrapper.Log(filename, callback);
}
}
}

5
src/AddIns/VersionControl/GitAddIn/Src/GitGuiWrapper.cs

@ -99,5 +99,10 @@ namespace ICSharpCode.GitAddIn @@ -99,5 +99,10 @@ namespace ICSharpCode.GitAddIn
{
Proc("diff", fileName, callback);
}
public static void Log(string fileName, Action callback)
{
Proc("log", fileName, callback);
}
}
}

1
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Search/SearchPanel.cs

@ -183,7 +183,6 @@ namespace ICSharpCode.AvalonEdit.Search @@ -183,7 +183,6 @@ namespace ICSharpCode.AvalonEdit.Search
DataContext = this;
renderer = new SearchResultBackgroundRenderer();
textArea.TextView.BackgroundRenderers.Add(renderer);
currentDocument = textArea.Document;
currentDocument.TextChanged += textArea_Document_TextChanged;
textArea.DocumentChanged += textArea_DocumentChanged;

6
src/Libraries/ICSharpCode.Build.Tasks/Project/Resources.cs

@ -36,7 +36,11 @@ namespace ICSharpCode.Build.Tasks @@ -36,7 +36,11 @@ namespace ICSharpCode.Build.Tasks
}
if (resourceService != null) {
const BindingFlags flags = BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Static;
return (string)resourceService.InvokeMember("Parse", flags, null, null, new object[] { key });
string translation = (string)resourceService.InvokeMember("Parse", flags, null, null, new object[] { key });
if (translation != null && translation.StartsWith("${res")) {
return null;
}
return translation;
} else {
return null;
}

17
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ExternalToolPanel.xaml

@ -73,7 +73,7 @@ @@ -73,7 +73,7 @@
<TextBox Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3"
IsEnabled="{Binding EditEnable}"
Text="{Binding SelectedTool.MenuCommand}">
Text="{Binding SelectedTool.MenuCommand,UpdateSourceTrigger=PropertyChanged}">
</TextBox>
<Label Grid.Row="4" IsEnabled="{Binding EditEnable}"
@ -82,10 +82,10 @@ @@ -82,10 +82,10 @@
<TextBox x:Name="commandTextBox" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2"
IsEnabled="{Binding EditEnable}"
Text="{Binding SelectedTool.Command}">
Text="{Binding SelectedTool.Command,UpdateSourceTrigger=PropertyChanged}">
</TextBox>
<Button x:Name="browseButton" Grid.Row="4" Grid.Column="4" Margin="5,0,5,0"
<Button Grid.Row="4" Grid.Column="4" Margin="5,0,5,0"
IsEnabled="{Binding EditEnable}"
Click="BrowseButton_Click"
Content="...">
@ -97,7 +97,7 @@ @@ -97,7 +97,7 @@
<TextBox x:Name="argumentTextBox" Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="2"
IsEnabled="{Binding EditEnable}"
Text="{Binding SelectedTool.Arguments}">
Text="{Binding SelectedTool.Arguments,UpdateSourceTrigger=PropertyChanged}">
<TextBox.ContextMenu >
<ContextMenu ItemsSource="{Binding ArgumentContextMenu}"
MenuItem.Click="ArgumentTextBoxMenuItem_Click">
@ -106,12 +106,11 @@ @@ -106,12 +106,11 @@
<MenuItem Header="{Binding Key}"></MenuItem>
</DataTemplate>
</ContextMenu.ItemTemplate>
</ContextMenu>
</TextBox.ContextMenu>
</TextBox>
<Button x:Name="argumentQuickInsertButton" Grid.Row="5" Grid.Column="4" Margin="5,0,5,0"
<Button Grid.Row="5" Grid.Column="4" Margin="5,0,5,0"
IsEnabled="{Binding EditEnable}"
Content="&gt;"
Click="ArgumentQuickInsertButton_Click">
@ -124,8 +123,8 @@ @@ -124,8 +123,8 @@
<TextBox x:Name="workingDirTextBox" Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="2"
IsEnabled="{Binding EditEnable}"
Text="{Binding SelectedTool.InitialDirectory}">
<TextBox.ContextMenu>
Text="{Binding SelectedTool.InitialDirectory,UpdateSourceTrigger=PropertyChanged}">
<TextBox.ContextMenu>
<ContextMenu ItemsSource="{Binding WorkingDirContextMenu}"
MenuItem.Click="WorkingDirTextBoxMenuItem_Click">
@ -139,7 +138,7 @@ @@ -139,7 +138,7 @@
</TextBox.ContextMenu>
</TextBox>
<Button x:Name="workingDirQuickInsertButton" Grid.Row="6" Grid.Column="4" Margin="5,0,5,0"
<Button Grid.Row="6" Grid.Column="4" Margin="5,0,5,0"
IsEnabled="{Binding EditEnable}"
Click="WorkingDirQuickInsertButton_Click"
Content="&gt;">

1
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ApplicationSettings.xaml.cs

@ -136,6 +136,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -136,6 +136,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
} else {
applicationManifestComboBox.Text = this.ApplicationManifest.Value;
}
this.projectInformation.OutputTypeName = AssemblyName.Value + CompilableProject.GetExtension(OutputType.Value);
IsDirty = false;
}

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

@ -139,7 +139,8 @@ namespace ICSharpCode.SharpDevelop.Project @@ -139,7 +139,8 @@ namespace ICSharpCode.SharpDevelop.Project
return ((FileAttributes.ReadOnly & attributes) == FileAttributes.ReadOnly);
} catch (FileNotFoundException) {
return false;
} catch (DirectoryNotFoundException) {
} catch (IOException) {
// directory not found, network path not available, etc.
return true;
}
}

2
src/Main/GlobalAssemblyInfo.template

@ -30,7 +30,7 @@ internal static class RevisionClass @@ -30,7 +30,7 @@ internal static class RevisionClass
public const string Minor = "0";
public const string Build = "0";
public const string Revision = "$INSERTREVISION$";
public const string VersionName = "alpha";
public const string VersionName = "alpha"; // "" is not valid for no version name, you have to use null if you don't want a version name (eg "Beta 1")
public const string FullVersion = Major + "." + Minor + "." + Build + ".$INSERTREVISION$$INSERTBRANCHPOSTFIX$$INSERTVERSIONNAMEPOSTFIX$";
}

3
src/Main/SharpDevelop/Workbench/FileService.cs

@ -231,7 +231,8 @@ namespace ICSharpCode.SharpDevelop.Workbench @@ -231,7 +231,8 @@ namespace ICSharpCode.SharpDevelop.Workbench
if (openedFileDict.ContainsKey(newName)) {
OpenedFile oldFile = openedFileDict[newName];
if (oldFile.CurrentView != null) {
oldFile.CurrentView.WorkbenchWindow.CloseWindow(true);
if (oldFile.CurrentView.WorkbenchWindow != null)
oldFile.CurrentView.WorkbenchWindow.CloseWindow(true);
} else {
throw new ArgumentException("there already is a file with the newName");
}

Loading…
Cancel
Save