Add PropertyChanged detection for Dictionary type settings
This commit is contained in:
parent
1f7000c2c9
commit
5c73beff4b
11 changed files with 211 additions and 179 deletions
|
|
@ -7,7 +7,7 @@ using System.Linq;
|
|||
|
||||
namespace FileManager
|
||||
{
|
||||
public class Replacement : ICloneable
|
||||
public record Replacement
|
||||
{
|
||||
public const int FIXED_COUNT = 6;
|
||||
|
||||
|
|
@ -30,8 +30,6 @@ namespace FileManager
|
|||
Mandatory = mandatory;
|
||||
}
|
||||
|
||||
public object Clone() => new Replacement(CharacterToReplace, ReplacementString, Description, Mandatory);
|
||||
|
||||
public void Update(char charToReplace, string replacementString, string description)
|
||||
{
|
||||
ReplacementString = replacementString;
|
||||
|
|
@ -61,10 +59,20 @@ namespace FileManager
|
|||
[JsonConverter(typeof(ReplacementCharactersConverter))]
|
||||
public class ReplacementCharacters
|
||||
{
|
||||
static ReplacementCharacters()
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj is ReplacementCharacters second && Replacements.Count == second.Replacements.Count)
|
||||
{
|
||||
for (int i = 0; i < Replacements.Count; i++)
|
||||
if (Replacements[i] != second.Replacements[i])
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override int GetHashCode() => Replacements.GetHashCode();
|
||||
|
||||
public static readonly ReplacementCharacters Default
|
||||
= IsWindows
|
||||
? new()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue