Skip to content

Commit e76bcad

Browse files
Cologlerbitbeans
authored andcommitted
fixes rules always be empty. (#396)
* fixes rules always be empty. fixes #395 * fixes ArgumentOutOfRangeException @Cologler ty
1 parent 75ae9ca commit e76bcad

1 file changed

Lines changed: 6 additions & 16 deletions

File tree

SimpleDnsCrypt/ViewModels/CloakAndForwardViewModel.cs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ public class CloakAndForwardViewModel : Screen
2727
private readonly IEventAggregator _events;
2828
private BindableCollection<Rule> _cloakingRules;
2929
private BindableCollection<Rule> _forwardingRules;
30-
private int _longestCloakingKey;
31-
private int _longestForwardingKey;
3230

3331
private bool _isCloakingEnabled;
3432
private bool _isForwardingEnabled;
@@ -51,8 +49,6 @@ public CloakAndForwardViewModel(IWindowManager windowManager, IEventAggregator e
5149
_events.Subscribe(this);
5250
_cloakingRules = new BindableCollection<Rule>();
5351
_forwardingRules = new BindableCollection<Rule>();
54-
_longestCloakingKey = 0;
55-
_longestForwardingKey = 0;
5652

5753
if (!string.IsNullOrEmpty(Properties.Settings.Default.CloakingRulesFile))
5854
{
@@ -114,10 +110,6 @@ private async Task ReadForwardingRulesFromFile(string readFromPath = "")
114110
Key = lineParts[0].Trim(),
115111
Value = lineParts[1].Trim()
116112
};
117-
if (rule.Key.Length > _longestForwardingKey)
118-
{
119-
_longestForwardingKey = rule.Key.Length;
120-
}
121113

122114
tmpRules.Add(rule);
123115
}
@@ -282,7 +274,6 @@ public async void AddForwardingRule()
282274
Value = addRuleWindowResult.RuleValue
283275
};
284276
_forwardingRules.Add(tmp);
285-
ForwardingRules.Clear();
286277
var orderedTmpRules = _forwardingRules.OrderBy(r => r.Key);
287278
ForwardingRules = new BindableCollection<Rule>(orderedTmpRules);
288279
SaveForwardingRulesToFile();
@@ -359,6 +350,8 @@ public void ChangeForwardingRulesFile()
359350
}
360351
}
361352

353+
private int LongestForwardingKey => this._forwardingRules.Max(z => z.Key.Length);
354+
362355
public void SaveForwardingRulesToFile(string saveToPath = "")
363356
{
364357
try
@@ -374,7 +367,7 @@ public void SaveForwardingRulesToFile(string saveToPath = "")
374367
var lines = new List<string>();
375368
foreach (var rule in _forwardingRules)
376369
{
377-
var spaceCount = _longestForwardingKey - rule.Key.Length;
370+
var spaceCount = LongestForwardingKey - rule.Key.Length;
378371
var sb = new StringBuilder();
379372
sb.Append(rule.Key);
380373
sb.Append(' ', spaceCount + extraSpace);
@@ -424,10 +417,6 @@ private async Task ReadCloakingRulesFromFile(string readFromPath = "")
424417
Key = lineParts[0].Trim(),
425418
Value = lineParts[1].Trim()
426419
};
427-
if (rule.Key.Length > _longestCloakingKey)
428-
{
429-
_longestCloakingKey = rule.Key.Length;
430-
}
431420

432421
tmpRules.Add(rule);
433422
}
@@ -443,6 +432,8 @@ private async Task ReadCloakingRulesFromFile(string readFromPath = "")
443432
}
444433
}
445434

435+
private int LongestCloakingKey => this._cloakingRules.Max(z => z.Key.Length);
436+
446437
public void SaveCloakingRulesToFile(string saveToPath = "")
447438
{
448439
try
@@ -458,7 +449,7 @@ public void SaveCloakingRulesToFile(string saveToPath = "")
458449
var lines = new List<string>();
459450
foreach (var rule in _cloakingRules)
460451
{
461-
var spaceCount = _longestCloakingKey - rule.Key.Length;
452+
var spaceCount = LongestCloakingKey - rule.Key.Length;
462453
var sb = new StringBuilder();
463454
sb.Append(rule.Key);
464455
sb.Append(' ', spaceCount + extraSpace);
@@ -577,7 +568,6 @@ public async void AddCloakingRule()
577568
Value = addRuleWindowResult.RuleValue
578569
};
579570
_cloakingRules.Add(tmp);
580-
CloakingRules.Clear();
581571
var orderedTmpRules = _cloakingRules.OrderBy(r => r.Key);
582572
CloakingRules = new BindableCollection<Rule>(orderedTmpRules);
583573
SaveCloakingRulesToFile();

0 commit comments

Comments
 (0)