From 478280625dc94b5069ae8dc1f935aa5a29ffc5de Mon Sep 17 00:00:00 2001 From: qiufeng <172344058@qq.com> Date: Sat, 12 Apr 2025 14:08:53 +0800 Subject: [PATCH] using the new syntax --- src/App.Commands.cs | 19 ++++--- src/App.axaml.cs | 14 +++--- src/Converters/DoubleConverters.cs | 12 ++--- src/Converters/FilterModeConverters.cs | 15 +++--- src/Converters/IntConverters.cs | 26 ++++------ .../InteractiveRebaseActionConverters.cs | 50 +++++++------------ src/Converters/ListConverters.cs | 10 ++-- src/Converters/PathConverters.cs | 2 +- src/Converters/StringConverters.cs | 16 +++--- 9 files changed, 69 insertions(+), 95 deletions(-) diff --git a/src/App.Commands.cs b/src/App.Commands.cs index 85a75829..3733587a 100644 --- a/src/App.Commands.cs +++ b/src/App.Commands.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Windows.Input; using Avalonia.Controls; @@ -37,16 +37,15 @@ namespace SourceGit } } - public static readonly Command OpenPreferencesCommand = new Command(_ => OpenDialog(new Views.Preferences())); - public static readonly Command OpenHotkeysCommand = new Command(_ => OpenDialog(new Views.Hotkeys())); - public static readonly Command OpenAppDataDirCommand = new Command(_ => Native.OS.OpenInFileManager(Native.OS.DataDir)); - public static readonly Command OpenAboutCommand = new Command(_ => OpenDialog(new Views.About())); - public static readonly Command CheckForUpdateCommand = new Command(_ => (Current as App)?.Check4Update(true)); - public static readonly Command QuitCommand = new Command(_ => Quit(0)); - public static readonly Command CopyTextBlockCommand = new Command(p => + public static readonly Command OpenPreferencesCommand = new(_ => OpenDialog(new Views.Preferences())); + public static readonly Command OpenHotkeysCommand = new(_ => OpenDialog(new Views.Hotkeys())); + public static readonly Command OpenAppDataDirCommand = new(_ => Native.OS.OpenInFileManager(Native.OS.DataDir)); + public static readonly Command OpenAboutCommand = new(_ => OpenDialog(new Views.About())); + public static readonly Command CheckForUpdateCommand = new(_ => (Current as App)?.Check4Update(true)); + public static readonly Command QuitCommand = new(_ => Quit(0)); + public static readonly Command CopyTextBlockCommand = new(p => { - var textBlock = p as TextBlock; - if (textBlock == null) + if (p is not TextBlock textBlock) return; if (textBlock.Inlines is { Count: > 0 } inlines) diff --git a/src/App.axaml.cs b/src/App.axaml.cs index 0448a247..f6a5fb22 100644 --- a/src/App.axaml.cs +++ b/src/App.axaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; @@ -283,10 +283,12 @@ namespace SourceGit public static Avalonia.Controls.Shapes.Path CreateMenuIcon(string key) { - var icon = new Avalonia.Controls.Shapes.Path(); - icon.Width = 12; - icon.Height = 12; - icon.Stretch = Stretch.Uniform; + var icon = new Avalonia.Controls.Shapes.Path + { + Width = 12, + Height = 12, + Stretch = Stretch.Uniform + }; var geo = Current?.FindResource(key) as StreamGeometry; if (geo != null) @@ -429,7 +431,7 @@ namespace SourceGit if (!File.Exists(doneFile)) return true; - var done = File.ReadAllText(doneFile).Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); + var done = File.ReadAllText(doneFile).Split(['\n', '\r'], StringSplitOptions.RemoveEmptyEntries); if (done.Length > collection.Jobs.Count) return true; diff --git a/src/Converters/DoubleConverters.cs b/src/Converters/DoubleConverters.cs index 5b7c0a03..c9bd9890 100644 --- a/src/Converters/DoubleConverters.cs +++ b/src/Converters/DoubleConverters.cs @@ -4,16 +4,12 @@ namespace SourceGit.Converters { public static class DoubleConverters { - public static readonly FuncValueConverter Increase = - new FuncValueConverter(v => v + 1.0); + public static readonly FuncValueConverter Increase = new(v => v + 1.0); - public static readonly FuncValueConverter Decrease = - new FuncValueConverter(v => v - 1.0); + public static readonly FuncValueConverter Decrease = new(v => v - 1.0); - public static readonly FuncValueConverter ToPercentage = - new FuncValueConverter(v => (v * 100).ToString("F3") + "%"); + public static readonly FuncValueConverter ToPercentage = new(v => $"{v * 100:F3}%"); - public static readonly FuncValueConverter OneMinusToPercentage = - new FuncValueConverter(v => ((1.0 - v) * 100).ToString("F3") + "%"); + public static readonly FuncValueConverter OneMinusToPercentage = new(v => $"{(1.0 - v) * 100:F3}%"); } } diff --git a/src/Converters/FilterModeConverters.cs b/src/Converters/FilterModeConverters.cs index c486af5e..12ca1c9b 100644 --- a/src/Converters/FilterModeConverters.cs +++ b/src/Converters/FilterModeConverters.cs @@ -6,17 +6,14 @@ namespace SourceGit.Converters public static class FilterModeConverters { public static readonly FuncValueConverter ToBorderBrush = - new FuncValueConverter(v => + new(v => { - switch (v) + return v switch { - case Models.FilterMode.Included: - return Brushes.Green; - case Models.FilterMode.Excluded: - return Brushes.Red; - default: - return Brushes.Transparent; - } + Models.FilterMode.Included => Brushes.Green, + Models.FilterMode.Excluded => Brushes.Red, + _ => Brushes.Transparent, + }; }); } } diff --git a/src/Converters/IntConverters.cs b/src/Converters/IntConverters.cs index f21c5d24..c2542b2a 100644 --- a/src/Converters/IntConverters.cs +++ b/src/Converters/IntConverters.cs @@ -7,32 +7,24 @@ namespace SourceGit.Converters { public static class IntConverters { - public static readonly FuncValueConverter IsGreaterThanZero = - new FuncValueConverter(v => v > 0); + public static readonly FuncValueConverter IsGreaterThanZero = new(v => v > 0); - public static readonly FuncValueConverter IsGreaterThanFour = - new FuncValueConverter(v => v > 4); + public static readonly FuncValueConverter IsGreaterThanFour = new(v => v > 4); - public static readonly FuncValueConverter IsZero = - new FuncValueConverter(v => v == 0); + public static readonly FuncValueConverter IsZero = new(v => v == 0); - public static readonly FuncValueConverter IsOne = - new FuncValueConverter(v => v == 1); + public static readonly FuncValueConverter IsOne = new(v => v == 1); - public static readonly FuncValueConverter IsNotOne = - new FuncValueConverter(v => v != 1); + public static readonly FuncValueConverter IsNotOne = new(v => v != 1); - public static readonly FuncValueConverter IsSubjectLengthBad = - new FuncValueConverter(v => v > ViewModels.Preferences.Instance.SubjectGuideLength); + public static readonly FuncValueConverter IsSubjectLengthBad = new(v => v > ViewModels.Preferences.Instance.SubjectGuideLength); - public static readonly FuncValueConverter IsSubjectLengthGood = - new FuncValueConverter(v => v <= ViewModels.Preferences.Instance.SubjectGuideLength); + public static readonly FuncValueConverter IsSubjectLengthGood = new(v => v <= ViewModels.Preferences.Instance.SubjectGuideLength); - public static readonly FuncValueConverter ToTreeMargin = - new FuncValueConverter(v => new Thickness(v * 16, 0, 0, 0)); + public static readonly FuncValueConverter ToTreeMargin = new(v => new Thickness(v * 16, 0, 0, 0)); public static readonly FuncValueConverter ToBookmarkBrush = - new FuncValueConverter(bookmark => + new(bookmark => { if (bookmark == 0) return Application.Current?.FindResource("Brush.FG1") as IBrush; diff --git a/src/Converters/InteractiveRebaseActionConverters.cs b/src/Converters/InteractiveRebaseActionConverters.cs index dbd183bd..7478e3d0 100644 --- a/src/Converters/InteractiveRebaseActionConverters.cs +++ b/src/Converters/InteractiveRebaseActionConverters.cs @@ -6,46 +6,34 @@ namespace SourceGit.Converters public static class InteractiveRebaseActionConverters { public static readonly FuncValueConverter ToIconBrush = - new FuncValueConverter(v => + new(v => { - switch (v) + return v switch { - case Models.InteractiveRebaseAction.Pick: - return Brushes.Green; - case Models.InteractiveRebaseAction.Edit: - return Brushes.Orange; - case Models.InteractiveRebaseAction.Reword: - return Brushes.Orange; - case Models.InteractiveRebaseAction.Squash: - return Brushes.LightGray; - case Models.InteractiveRebaseAction.Fixup: - return Brushes.LightGray; - default: - return Brushes.Red; - } + Models.InteractiveRebaseAction.Pick => Brushes.Green, + Models.InteractiveRebaseAction.Edit => Brushes.Orange, + Models.InteractiveRebaseAction.Reword => Brushes.Orange, + Models.InteractiveRebaseAction.Squash => Brushes.LightGray, + Models.InteractiveRebaseAction.Fixup => Brushes.LightGray, + _ => Brushes.Red, + }; }); public static readonly FuncValueConverter ToName = - new FuncValueConverter(v => + new(v => { - switch (v) + return v switch { - case Models.InteractiveRebaseAction.Pick: - return "Pick"; - case Models.InteractiveRebaseAction.Edit: - return "Edit"; - case Models.InteractiveRebaseAction.Reword: - return "Reword"; - case Models.InteractiveRebaseAction.Squash: - return "Squash"; - case Models.InteractiveRebaseAction.Fixup: - return "Fixup"; - default: - return "Drop"; - } + Models.InteractiveRebaseAction.Pick => "Pick", + Models.InteractiveRebaseAction.Edit => "Edit", + Models.InteractiveRebaseAction.Reword => "Reword", + Models.InteractiveRebaseAction.Squash => "Squash", + Models.InteractiveRebaseAction.Fixup => "Fixup", + _ => "Drop", + }; }); public static readonly FuncValueConverter CanEditMessage = - new FuncValueConverter(v => v == Models.InteractiveRebaseAction.Reword || v == Models.InteractiveRebaseAction.Squash); + new(v => v == Models.InteractiveRebaseAction.Reword || v == Models.InteractiveRebaseAction.Squash); } } diff --git a/src/Converters/ListConverters.cs b/src/Converters/ListConverters.cs index 81cac8b7..9c379e6b 100644 --- a/src/Converters/ListConverters.cs +++ b/src/Converters/ListConverters.cs @@ -8,18 +8,18 @@ namespace SourceGit.Converters public static class ListConverters { public static readonly FuncValueConverter ToCount = - new FuncValueConverter(v => v == null ? " (0)" : $" ({v.Count})"); + new(v => v == null ? " (0)" : $" ({v.Count})"); public static readonly FuncValueConverter IsNullOrEmpty = - new FuncValueConverter(v => v == null || v.Count == 0); + new(v => v == null || v.Count == 0); public static readonly FuncValueConverter IsNotNullOrEmpty = - new FuncValueConverter(v => v != null && v.Count > 0); + new(v => v != null && v.Count > 0); public static readonly FuncValueConverter, List> Top100Changes = - new FuncValueConverter, List>(v => (v == null || v.Count < 100) ? v : v.GetRange(0, 100)); + new(v => (v == null || v.Count < 100) ? v : v.GetRange(0, 100)); public static readonly FuncValueConverter IsOnlyTop100Shows = - new FuncValueConverter(v => v != null && v.Count > 100); + new(v => v != null && v.Count > 100); } } diff --git a/src/Converters/PathConverters.cs b/src/Converters/PathConverters.cs index dd7cfa49..bd945304 100644 --- a/src/Converters/PathConverters.cs +++ b/src/Converters/PathConverters.cs @@ -22,7 +22,7 @@ namespace SourceGit.Converters var home = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); var prefixLen = home.EndsWith('/') ? home.Length - 1 : home.Length; if (v.StartsWith(home, StringComparison.Ordinal)) - return "~" + v.Substring(prefixLen); + return $"~{v.AsSpan()[prefixLen..]}"; return v; }); diff --git a/src/Converters/StringConverters.cs b/src/Converters/StringConverters.cs index 5e4608c5..f90e18a4 100644 --- a/src/Converters/StringConverters.cs +++ b/src/Converters/StringConverters.cs @@ -21,7 +21,7 @@ namespace SourceGit.Converters } } - public static readonly ToLocaleConverter ToLocale = new ToLocaleConverter(); + public static readonly ToLocaleConverter ToLocale = new(); public class ToThemeConverter : IValueConverter { @@ -46,7 +46,7 @@ namespace SourceGit.Converters } } - public static readonly ToThemeConverter ToTheme = new ToThemeConverter(); + public static readonly ToThemeConverter ToTheme = new(); public class FormatByResourceKeyConverter : IValueConverter { @@ -62,24 +62,24 @@ namespace SourceGit.Converters } } - public static readonly FormatByResourceKeyConverter FormatByResourceKey = new FormatByResourceKeyConverter(); + public static readonly FormatByResourceKeyConverter FormatByResourceKey = new(); public static readonly FuncValueConverter ToShortSHA = - new FuncValueConverter(v => v == null ? string.Empty : (v.Length > 10 ? v.Substring(0, 10) : v)); + new(v => v == null ? string.Empty : (v.Length > 10 ? v.Substring(0, 10) : v)); public static readonly FuncValueConverter TrimRefsPrefix = - new FuncValueConverter(v => + new(v => { if (v == null) return string.Empty; if (v.StartsWith("refs/heads/", StringComparison.Ordinal)) - return v.Substring(11); + return v[11..]; if (v.StartsWith("refs/remotes/", StringComparison.Ordinal)) - return v.Substring(13); + return v[13..]; return v; }); public static readonly FuncValueConverter ContainsSpaces = - new FuncValueConverter(v => v != null && v.Contains(' ')); + new(v => v != null && v.Contains(' ')); } }