Skip to content

Commit 359a23e

Browse files
committed
refactor: Code Review 次要问题修复
- CR#9: 移除 Formats 项目重复的 SharpZipLib/UTF.Unknown NuGet 引用(传递依赖足够) - CR#11: 将 ChineseConversionMode 枚举从 ConversionOptions.cs 移到独立文件 Enums/ChineseConversionMode.cs - CR#12: 修复 CLI 进度消息短文本无法覆盖长消息残留字符问题 - CR#14: 将 RelayCommand 从 MainWindowViewModel.cs 拆分到独立文件 RelayCommand.cs
1 parent 15511bf commit 359a23e

9 files changed

Lines changed: 44 additions & 37 deletions

File tree

src/IME WL Converter Win/Forms/ChineseConverterSelectForm.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
using System;
1919
using System.ComponentModel;
2020
using System.Windows.Forms;
21+
using ImeWlConverter.Abstractions.Enums;
2122
using ImeWlConverter.Abstractions.Options;
2223

2324
namespace Studyzy.IMEWLConverter;

src/IME WL Converter Win/Forms/MainForm.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
using System.Threading;
2525
using System.Windows.Forms;
2626
using ImeWlConverter.Abstractions.Contracts;
27+
using ImeWlConverter.Abstractions.Enums;
2728
using ImeWlConverter.Abstractions.Models;
2829
using ImeWlConverter.Abstractions.Options;
2930
using ImeWlConverter.Core.Helpers;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace ImeWlConverter.Abstractions.Enums;
2+
3+
/// <summary>Chinese conversion modes.</summary>
4+
public enum ChineseConversionMode
5+
{
6+
/// <summary>No conversion.</summary>
7+
None = 0,
8+
9+
/// <summary>Convert simplified Chinese to traditional.</summary>
10+
SimplifiedToTraditional,
11+
12+
/// <summary>Convert traditional Chinese to simplified.</summary>
13+
TraditionalToSimplified
14+
}

src/ImeWlConverter.Abstractions/Options/ConversionOptions.cs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,3 @@ public sealed class ConversionOptions
2020
/// <summary>Chinese simplified/traditional conversion mode.</summary>
2121
public ChineseConversionMode ChineseConversion { get; init; } = ChineseConversionMode.None;
2222
}
23-
24-
/// <summary>Chinese conversion modes.</summary>
25-
public enum ChineseConversionMode
26-
{
27-
/// <summary>No conversion.</summary>
28-
None = 0,
29-
30-
/// <summary>Convert simplified Chinese to traditional.</summary>
31-
SimplifiedToTraditional,
32-
33-
/// <summary>Convert traditional Chinese to simplified.</summary>
34-
TraditionalToSimplified
35-
}

src/ImeWlConverter.Formats/ImeWlConverter.Formats.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,5 @@
1616
</ItemGroup>
1717
<ItemGroup>
1818
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.7"/>
19-
<PackageReference Include="SharpZipLib" Version="1.4.2"/>
20-
<PackageReference Include="UTF.Unknown" Version="2.5.1"/>
2119
</ItemGroup>
2220
</Project>

src/ImeWlConverterCmd/CommandBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ private sealed class ConsoleProgress : IProgress<ProgressInfo>
332332
public void Report(ProgressInfo value)
333333
{
334334
if (!string.IsNullOrEmpty(value.Message))
335-
Console.Error.Write($"\r{value.Message}");
335+
Console.Error.Write($"\r{value.Message,-80}");
336336
}
337337
}
338338
}

src/ImeWlConverterMac/ViewModels/MainWindowViewModel.cs

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using Avalonia.Controls;
1111
using Avalonia.Platform.Storage;
1212
using ImeWlConverter.Abstractions.Contracts;
13+
using ImeWlConverter.Abstractions.Enums;
1314
using ImeWlConverter.Abstractions.Models;
1415
using ImeWlConverter.Abstractions.Options;
1516
using Microsoft.Extensions.DependencyInjection;
@@ -614,24 +615,3 @@ private void RaiseCanExecuteChanged()
614615

615616
#endregion
616617
}
617-
618-
// 简单的命令实现
619-
public class RelayCommand : ICommand
620-
{
621-
private readonly Action _execute;
622-
private readonly Func<bool>? _canExecute;
623-
624-
public RelayCommand(Action execute, Func<bool>? canExecute = null)
625-
{
626-
_execute = execute ?? throw new ArgumentNullException(nameof(execute));
627-
_canExecute = canExecute;
628-
}
629-
630-
public event EventHandler? CanExecuteChanged;
631-
632-
public bool CanExecute(object? parameter) => _canExecute?.Invoke() ?? true;
633-
634-
public void Execute(object? parameter) => _execute();
635-
636-
public void RaiseCanExecuteChanged() => CanExecuteChanged?.Invoke(this, EventArgs.Empty);
637-
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using System;
2+
using System.Windows.Input;
3+
4+
namespace ImeWlConverterMac.ViewModels;
5+
6+
/// <summary>Simple ICommand implementation for MVVM binding.</summary>
7+
public class RelayCommand : ICommand
8+
{
9+
private readonly Action _execute;
10+
private readonly Func<bool>? _canExecute;
11+
12+
public RelayCommand(Action execute, Func<bool>? canExecute = null)
13+
{
14+
_execute = execute ?? throw new ArgumentNullException(nameof(execute));
15+
_canExecute = canExecute;
16+
}
17+
18+
public event EventHandler? CanExecuteChanged;
19+
20+
public bool CanExecute(object? parameter) => _canExecute?.Invoke() ?? true;
21+
22+
public void Execute(object? parameter) => _execute();
23+
24+
public void RaiseCanExecuteChanged() => CanExecuteChanged?.Invoke(this, EventArgs.Empty);
25+
}

src/ImeWlConverterMac/Views/ChineseConverterSelectWindow.axaml.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Avalonia.Controls;
22
using Avalonia.Interactivity;
3+
using ImeWlConverter.Abstractions.Enums;
34
using ImeWlConverter.Abstractions.Options;
45

56
namespace ImeWlConverterMac.Views;

0 commit comments

Comments
 (0)