Skip to content

Commit

Permalink
PreserveExtension #5
Browse files Browse the repository at this point in the history
  • Loading branch information
alexleen committed May 15, 2018
1 parent 2786f39 commit 4b4ac4d
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 2 deletions.
1 change: 1 addition & 0 deletions Source/Editor/Editor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@
<Compile Include="Windows\Appenders\Properties\MaximumFileSize.cs" />
<Compile Include="Windows\Appenders\Properties\MaxSizeRollBackups.cs" />
<Compile Include="Windows\Appenders\Properties\Name.cs" />
<Compile Include="Windows\Appenders\Properties\PreserveExtension.cs" />
<Compile Include="Windows\Appenders\Properties\Refs.cs" />
<Compile Include="Windows\Appenders\Properties\RollingStyle.cs" />
<Compile Include="Windows\Appenders\Properties\StaticLogFileName.cs" />
Expand Down
38 changes: 38 additions & 0 deletions Source/Editor/Windows/Appenders/Properties/PreserveExtension.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Copyright © 2018 Alex Leendertsen

using System.Collections.ObjectModel;
using System.Windows;
using System.Xml;
using Editor.Utilities;

namespace Editor.Windows.Appenders.Properties
{
public class PreserveExtension : AppenderPropertyBase
{
private const string PreserveExtensionName = "preserveLogFileNameExtension";

public PreserveExtension(ObservableCollection<IAppenderProperty> container)
: base(container, GridLength.Auto)
{
}

public bool Preserve { get; set; }

public override void Load(XmlNode originalAppenderNode)
{
string preserveStr = originalAppenderNode.GetValueAttributeValueFromChildElement(PreserveExtensionName);
if (!string.IsNullOrEmpty(preserveStr) && bool.TryParse(preserveStr, out bool preserve))
{
Preserve = preserve;
}
}

public override void Save(XmlDocument xmlDoc, XmlNode newAppenderNode)
{
if (Preserve)
{
xmlDoc.CreateElementWithAttribute(PreserveExtensionName, "value", Preserve.ToString().ToLower()).AppendTo(newAppenderNode);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,19 @@
<CheckBox Grid.Column="1" IsChecked="{Binding Value}" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>


<DataTemplate DataType="{x:Type Properties:PreserveExtension}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="FirstColumn"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>

<Label>Preserve Extension:</Label>
<CheckBox Grid.Column="1" IsChecked="{Binding Preserve}" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>

<DataTemplate DataType="{x:Type Properties:CountDirection}">
<Grid>
<Grid.ColumnDefinitions>
Expand Down
4 changes: 3 additions & 1 deletion Source/Editor/Windows/Appenders/RollingFileAppenderWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ public RollingFileAppenderWindow(Window owner, XmlDocument configXml, XmlNode lo
: base(owner, configXml, log4NetNode, appenderNode)
{
Title = "Rolling File Appender";
Height = 650;
Height = 700;
MinHeight = 700;
mDatePattern = new DatePattern(AppenderProperties);
mStaticLogFileName = new StaticLogFileName(AppenderProperties);
}
Expand All @@ -38,6 +39,7 @@ protected override void AddOtherFileAppenderProperties()
mDatePatternIndex = AppenderProperties.Count;
AddRemoveBasedOnMode(rollingStyle.SelectedMode, mDatePatternIndex, mDatePattern);

AppenderProperties.Add(new PreserveExtension(AppenderProperties));
AppenderProperties.Add(new MaximumFileSize(AppenderProperties));
AppenderProperties.Add(new MaxSizeRollBackups(AppenderProperties));
AppenderProperties.Add(new CountDirection(AppenderProperties));
Expand Down

0 comments on commit 4b4ac4d

Please sign in to comment.