Compare commits

...

4 commits

Author SHA1 Message Date
2dust
cb5069bcfc Optimize and improve GlobalUsings
Some checks are pending
release Linux / build (Release) (push) Waiting to run
release macOS / build (Release) (push) Waiting to run
release Windows desktop (Avalonia UI) / build (Release) (push) Waiting to run
release Windows / build (Release) (push) Waiting to run
2025-10-19 14:13:26 +08:00
2dust
eb1339f2f5 Optimize and improve GlobalUsings 2025-10-19 13:54:40 +08:00
2dust
b66bfabd21 Optimize and improve GlobalUsings 2025-10-19 11:42:32 +08:00
2dust
3555d861ae Optimization and improvement 2025-10-19 11:05:28 +08:00
140 changed files with 105 additions and 533 deletions

View file

@ -1,5 +1,3 @@
using ReactiveUI;
namespace ServiceLib.Base;
public class MyReactiveObject : ReactiveObject

View file

@ -1,6 +1,3 @@
using System.Collections.Concurrent;
using System.Reflection;
namespace ServiceLib.Common;
public static class EmbedUtils

View file

@ -1,6 +1,5 @@
using System.Formats.Tar;
using System.IO.Compression;
using System.Text;
namespace ServiceLib.Common;

View file

@ -1,8 +1,3 @@
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
namespace ServiceLib.Common;
public class JsonUtils

View file

@ -1,5 +1,3 @@
using System.Diagnostics;
namespace ServiceLib.Common;
public static class ProcUtils

View file

@ -1,13 +1,5 @@
using System.Collections.Specialized;
using System.Diagnostics;
using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Security.Principal;
using System.Text;
using CliWrap;
using CliWrap.Buffered;

View file

@ -1,5 +1,3 @@
using System.Security.Cryptography;
using System.Text;
using Microsoft.Win32;
namespace ServiceLib.Common;

View file

@ -1,5 +1,3 @@
using System.Reactive;
namespace ServiceLib.Events;
public static class AppEvents

View file

@ -1,5 +1,3 @@
using System.Reactive;
using System.Reactive.Linq;
using System.Reactive.Subjects;
namespace ServiceLib.Events;

View file

@ -316,7 +316,7 @@ public class Global
];
public static readonly HashSet<EConfigType> SingboxOnlyConfigType = SingboxSupportConfigType.Except(XraySupportConfigType).ToHashSet();
public static readonly List<string> DomainStrategies =
[
AsIs,

View file

@ -1,14 +1,36 @@
global using System.Collections.Concurrent;
global using System.Diagnostics;
global using System.Net;
global using System.Net.NetworkInformation;
global using System.Net.Sockets;
global using System.Reactive;
global using System.Reactive.Disposables;
global using System.Reactive.Linq;
global using System.Reflection;
global using System.Runtime.InteropServices;
global using System.Security.Cryptography;
global using System.Text;
global using System.Text.Encodings.Web;
global using System.Text.Json;
global using System.Text.Json.Nodes;
global using System.Text.Json.Serialization;
global using System.Text.RegularExpressions;
global using DynamicData;
global using DynamicData.Binding;
global using ReactiveUI;
global using ReactiveUI.Fody.Helpers;
global using ServiceLib.Base;
global using ServiceLib.Common;
global using ServiceLib.Enums;
global using ServiceLib.Events;
global using ServiceLib.Handler;
global using ServiceLib.Handler.Fmt;
global using ServiceLib.Handler.SysProxy;
global using ServiceLib.Helper;
global using ServiceLib.Manager;
global using ServiceLib.Handler.Fmt;
global using ServiceLib.Services;
global using ServiceLib.Services.Statistics;
global using ServiceLib.Services.CoreConfig;
global using ServiceLib.Models;
global using ServiceLib.Resx;
global using ServiceLib.Handler.SysProxy;
global using ServiceLib.Services;
global using ServiceLib.Services.CoreConfig;
global using ServiceLib.Services.Statistics;
global using SQLite;

View file

@ -1,5 +1,4 @@
using System.Security.Principal;
using System.Text.RegularExpressions;
namespace ServiceLib.Handler;

View file

@ -1,5 +1,4 @@
using System.Data;
using System.Text.RegularExpressions;
namespace ServiceLib.Handler;
@ -1484,7 +1483,7 @@ public static class ConfigHandler
if (profileItem is null)
{
profileItem = Hysteria2Fmt.ResolveFull2(strData, subRemarks);
}
}
if (profileItem is null || profileItem.Address.IsNullOrEmpty())
{
return -1;

View file

@ -1,5 +1,3 @@
using System.Net;
namespace ServiceLib.Handler;
public static class ConnectionHandler

View file

@ -1,5 +1,3 @@
using System.Text.RegularExpressions;
namespace ServiceLib.Handler.Fmt;
public class ShadowsocksFmt : BaseFmt

View file

@ -1,4 +1,3 @@
using System.Runtime.InteropServices;
using static ServiceLib.Handler.SysProxy.ProxySettingWindows.InternetConnectionOption;
namespace ServiceLib.Handler.SysProxy;

View file

@ -1,4 +1,3 @@
using System.Net;
using Downloader;
namespace ServiceLib.Helper;

View file

@ -1,8 +1,5 @@
using System.Diagnostics;
using System.Net;
using System.Net.Http.Headers;
using System.Net.Mime;
using System.Text;
namespace ServiceLib.Helper;

View file

@ -1,5 +1,4 @@
using System.Collections;
using SQLite;
namespace ServiceLib.Helper;

View file

@ -1,4 +1,3 @@
using System.Text;
using CliWrap;
using CliWrap.Buffered;

View file

@ -1,6 +1,3 @@
using System.Net.Sockets;
using System.Text;
namespace ServiceLib.Manager;
public class PacManager

View file

@ -1,5 +1,3 @@
using System.Collections.Concurrent;
//using System.Reactive.Linq;
namespace ServiceLib.Manager;

View file

@ -1,5 +1,3 @@
using System.Collections.Concurrent;
namespace ServiceLib.Manager;
public class ProfileGroupItemManager

View file

@ -26,15 +26,29 @@ public class TaskManager
await Task.Delay(1000 * 60);
//Execute once 1 minute
await UpdateTaskRunSubscription();
try
{
await UpdateTaskRunSubscription();
}
catch (Exception ex)
{
Logging.SaveLog("ScheduledTasks - UpdateTaskRunSubscription", ex);
}
//Execute once 20 minute
if (numOfExecuted % 20 == 0)
{
//Logging.SaveLog("Execute save config");
await ConfigHandler.SaveConfig(_config);
await ProfileExManager.Instance.SaveTo();
try
{
await ConfigHandler.SaveConfig(_config);
await ProfileExManager.Instance.SaveTo();
}
catch (Exception ex)
{
Logging.SaveLog("ScheduledTasks - SaveConfig", ex);
}
}
//Execute once 1 hour
@ -46,8 +60,14 @@ public class TaskManager
FileManager.DeleteExpiredFiles(Utils.GetLogPath(), DateTime.Now.AddMonths(-1));
FileManager.DeleteExpiredFiles(Utils.GetTempPath(), DateTime.Now.AddMonths(-1));
//Check once 1 hour
await UpdateTaskRunGeo(numOfExecuted / 60);
try
{
await UpdateTaskRunGeo(numOfExecuted / 60);
}
catch (Exception ex)
{
Logging.SaveLog("ScheduledTasks - UpdateTaskRunGeo", ex);
}
}
numOfExecuted++;

View file

@ -1,4 +1,3 @@
using System.Net;
using WebDav;
namespace ServiceLib.Manager;

View file

@ -1,6 +1,3 @@
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.Models;
public class CheckUpdateModel : ReactiveObject

View file

@ -1,6 +1,3 @@
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using SQLite;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using SQLite;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using System.Text.Json.Serialization;
namespace ServiceLib.Models;
public class GitHubReleaseAsset

View file

@ -1,5 +1,3 @@
using SQLite;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using SQLite;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,6 +1,3 @@
using ReactiveUI;
using SQLite;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using SQLite;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using SQLite;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using System.Text.Json.Serialization;
namespace ServiceLib.Models;
public class SingboxConfig

View file

@ -1,5 +1,3 @@
using SQLite;
namespace ServiceLib.Models;
[Serializable]

View file

@ -1,5 +1,3 @@
using System.Text.Json.Serialization;
namespace ServiceLib.Models;
public class V2rayConfig

View file

@ -1,5 +1,3 @@
using System.Text.Json.Serialization;
namespace ServiceLib.Models;
/// <summary>

View file

@ -1,7 +1,3 @@
using System.Net;
using System.Net.NetworkInformation;
using ServiceLib.Common;
namespace ServiceLib.Services.CoreConfig;
public partial class CoreConfigSingboxService(Config config)

View file

@ -1,5 +1,3 @@
using System.Text.Json.Nodes;
namespace ServiceLib.Services.CoreConfig;
public partial class CoreConfigSingboxService

View file

@ -1,6 +1,3 @@
using System.Net;
using System.Net.NetworkInformation;
namespace ServiceLib.Services.CoreConfig;
public partial class CoreConfigV2rayService(Config config)

View file

@ -1,5 +1,3 @@
using System.Text.Json.Nodes;
namespace ServiceLib.Services.CoreConfig;
public partial class CoreConfigV2rayService

View file

@ -1,7 +1,3 @@
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
namespace ServiceLib.Services.CoreConfig;
public partial class CoreConfigV2rayService

View file

@ -1,6 +1,4 @@
using System.Net;
using System.Net.Http.Headers;
using System.Net.Sockets;
namespace ServiceLib.Services;

View file

@ -1,6 +1,3 @@
using System.Diagnostics;
using System.Text;
namespace ServiceLib.Services;
public class ProcessService : IDisposable

View file

@ -1,8 +1,3 @@
using System.Collections.Concurrent;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
namespace ServiceLib.Services;
public class SpeedtestService(Config config, Func<SpeedTestResult, Task> updateFunc)

View file

@ -1,5 +1,4 @@
using System.Net.WebSockets;
using System.Text;
namespace ServiceLib.Services.Statistics;

View file

@ -1,6 +1,3 @@
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
namespace ServiceLib.Services;
public class UpdateService

View file

@ -1,8 +1,3 @@
using System.Reactive;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class AddGroupServerViewModel : MyReactiveObject

View file

@ -1,7 +1,3 @@
using System.Reactive;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class AddServer2ViewModel : MyReactiveObject

View file

@ -1,7 +1,3 @@
using System.Reactive;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class AddServerViewModel : MyReactiveObject

View file

@ -1,7 +1,3 @@
using System.Reactive;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class BackupAndRestoreViewModel : MyReactiveObject

View file

@ -1,11 +1,3 @@
using System.Reactive;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Runtime.InteropServices;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class CheckUpdateViewModel : MyReactiveObject

View file

@ -1,11 +1,3 @@
using System.Reactive;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using DynamicData;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class ClashConnectionsViewModel : MyReactiveObject

View file

@ -1,11 +1,4 @@
using System.Reactive;
using System.Reactive.Concurrency;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using DynamicData;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
using static ServiceLib.Models.ClashProviders;
using static ServiceLib.Models.ClashProxies;

View file

@ -1,8 +1,3 @@
using System.Reactive;
using System.Reactive.Linq;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class DNSSettingViewModel : MyReactiveObject

View file

@ -1,7 +1,3 @@
using System.Reactive;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class FullConfigTemplateViewModel : MyReactiveObject

View file

@ -1,6 +1,3 @@
using System.Reactive;
using ReactiveUI;
namespace ServiceLib.ViewModels;
public class GlobalHotkeySettingViewModel : MyReactiveObject

View file

@ -1,8 +1,4 @@
using System.Reactive;
using System.Reactive.Concurrency;
using System.Reactive.Linq;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;

View file

@ -1,10 +1,3 @@
using System.Collections.Concurrent;
using System.Reactive.Linq;
using System.Text;
using System.Text.RegularExpressions;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class MsgViewModel : MyReactiveObject

View file

@ -1,7 +1,3 @@
using System.Reactive;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class OptionSettingViewModel : MyReactiveObject

View file

@ -1,9 +1,3 @@
using System.Reactive.Linq;
using DynamicData;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class ProfilesSelectViewModel : MyReactiveObject

View file

@ -1,12 +1,3 @@
using System.Reactive;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Text;
using DynamicData;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class ProfilesViewModel : MyReactiveObject

View file

@ -1,7 +1,3 @@
using System.Reactive;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class RoutingRuleDetailsViewModel : MyReactiveObject

View file

@ -1,10 +1,3 @@
using System.Reactive;
using System.Text.Json;
using System.Text.Json.Serialization;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class RoutingRuleSettingViewModel : MyReactiveObject

View file

@ -1,8 +1,3 @@
using System.Reactive;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class RoutingSettingViewModel : MyReactiveObject

View file

@ -1,11 +1,3 @@
using System.Reactive;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Text;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class StatusBarViewModel : MyReactiveObject

View file

@ -1,7 +1,3 @@
using System.Reactive;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class SubEditViewModel : MyReactiveObject

View file

@ -1,9 +1,3 @@
using System.Reactive;
using DynamicData;
using DynamicData.Binding;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
namespace ServiceLib.ViewModels;
public class SubSettingViewModel : MyReactiveObject

View file

@ -1,6 +1,3 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using v2rayN.Desktop.Views;
namespace v2rayN.Desktop;

View file

@ -1,7 +1,3 @@
using Avalonia;
using Avalonia.Interactivity;
using Avalonia.ReactiveUI;
namespace v2rayN.Desktop.Base;
public class WindowBase<TViewModel> : ReactiveWindow<TViewModel> where TViewModel : class

View file

@ -1,6 +1,3 @@
using Avalonia;
using Avalonia.Media;
namespace v2rayN.Desktop.Common;
public static class AppBuilderExtension

View file

@ -1,9 +1,4 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Input.Platform;
using Avalonia.Media.Imaging;
using Avalonia.Platform;
namespace v2rayN.Desktop.Common;

View file

@ -1,4 +1,3 @@
using Avalonia.Media;
using AvaloniaEdit;
using AvaloniaEdit.Document;
using AvaloniaEdit.Rendering;

View file

@ -1,7 +1,5 @@
using Avalonia.Controls;
using Avalonia.Platform.Storage;
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;
namespace v2rayN.Desktop.Common;

View file

@ -1,6 +1,4 @@
using System.Globalization;
using Avalonia.Data.Converters;
using Avalonia.Media;
namespace v2rayN.Desktop.Converters;

View file

@ -1,3 +1,29 @@
global using System;
global using System.Collections.Generic;
global using System.Globalization;
global using System.IO;
global using System.Linq;
global using System.Reactive.Disposables;
global using System.Reactive.Linq;
global using System.Text;
global using System.Threading;
global using System.Threading.Tasks;
global using Avalonia;
global using Avalonia.Controls;
global using Avalonia.Controls.ApplicationLifetimes;
global using Avalonia.Input;
global using Avalonia.Interactivity;
global using Avalonia.Markup.Xaml;
global using Avalonia.Media;
global using Avalonia.Media.Imaging;
global using Avalonia.Platform;
global using Avalonia.ReactiveUI;
global using Avalonia.Styling;
global using Avalonia.Threading;
global using ReactiveUI;
global using ReactiveUI.Fody.Helpers;
global using DynamicData;
global using MsBox.Avalonia.Enums;
global using ServiceLib;
global using ServiceLib.Base;
global using ServiceLib.Common;

View file

@ -1,6 +1,3 @@
using System.Reactive.Linq;
using Avalonia.Input;
using Avalonia.ReactiveUI;
using Avalonia.Win32.Input;
using GlobalHotKeys;
@ -11,7 +8,7 @@ public sealed class HotkeyManager
private static readonly Lazy<HotkeyManager> _instance = new(() => new());
public static HotkeyManager Instance = _instance.Value;
private readonly Dictionary<int, EGlobalHotkey> _hotkeyTriggerDic = new();
private HotKeyManager? _hotKeyManager;
private GlobalHotKeys.HotKeyManager? _hotKeyManager;
private Config? _config;

View file

@ -1,5 +1,3 @@
using Avalonia;
using Avalonia.ReactiveUI;
using v2rayN.Desktop.Common;
namespace v2rayN.Desktop;

View file

@ -1,13 +1,6 @@
using System.Reactive.Linq;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.Notifications;
using Avalonia.Controls.Primitives;
using Avalonia.Media;
using Avalonia.Styling;
using AvaloniaEdit;
using ReactiveUI;
using ReactiveUI.Fody.Helpers;
using Semi.Avalonia;
namespace v2rayN.Desktop.ViewModels;

View file

@ -1,9 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using DynamicData;
using ReactiveUI;
using v2rayN.Desktop.Base;
namespace v2rayN.Desktop.Views;

View file

@ -1,6 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Interactivity;
using ReactiveUI;
using v2rayN.Desktop.Base;
using v2rayN.Desktop.Common;

View file

@ -1,7 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Interactivity;
using ReactiveUI;
using v2rayN.Desktop.Base;
namespace v2rayN.Desktop.Views;

View file

@ -1,8 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.ReactiveUI;
using ReactiveUI;
using v2rayN.Desktop.Common;
namespace v2rayN.Desktop.Views;

View file

@ -1,7 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.ReactiveUI;
using ReactiveUI;
namespace v2rayN.Desktop.Views;
public partial class CheckUpdateView : ReactiveUserControl<CheckUpdateViewModel>

View file

@ -1,9 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.ReactiveUI;
using ReactiveUI;
namespace v2rayN.Desktop.Views;
public partial class ClashConnectionsView : ReactiveUserControl<ClashConnectionsViewModel>

View file

@ -1,9 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Input;
using Avalonia.ReactiveUI;
using DynamicData;
using ReactiveUI;
namespace v2rayN.Desktop.Views;
public partial class ClashProxiesView : ReactiveUserControl<ClashProxiesViewModel>

View file

@ -1,8 +1,3 @@
using System.Reactive.Disposables;
using System.Reactive.Linq;
using Avalonia.Controls;
using Avalonia.Interactivity;
using ReactiveUI;
using v2rayN.Desktop.Base;
namespace v2rayN.Desktop.Views;

View file

@ -1,6 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Interactivity;
using ReactiveUI;
using v2rayN.Desktop.Base;
namespace v2rayN.Desktop.Views;

View file

@ -1,9 +1,3 @@
using System.Reactive.Disposables;
using System.Text;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using ReactiveUI;
using v2rayN.Desktop.Base;
using v2rayN.Desktop.Manager;

View file

@ -1,15 +1,5 @@
using System.Reactive.Disposables;
using System.Reactive.Linq;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Controls.Notifications;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Threading;
using DialogHostAvalonia;
using MsBox.Avalonia.Enums;
using ReactiveUI;
using v2rayN.Desktop.Base;
using v2rayN.Desktop.Common;
using v2rayN.Desktop.Manager;

View file

@ -1,9 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Interactivity;
using Avalonia.Media;
using Avalonia.ReactiveUI;
using Avalonia.Threading;
using ReactiveUI;
using v2rayN.Desktop.Common;
namespace v2rayN.Desktop.Views;

View file

@ -1,7 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Interactivity;
using ReactiveUI;
using v2rayN.Desktop.Base;
namespace v2rayN.Desktop.Views;

View file

@ -1,10 +1,4 @@
using System.Reactive.Disposables;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.VisualTree;
using ReactiveUI;
using v2rayN.Desktop.Base;
namespace v2rayN.Desktop.Views;

View file

@ -1,13 +1,4 @@
using System.Reactive.Disposables;
using System.Reactive.Linq;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.ReactiveUI;
using Avalonia.Threading;
using DialogHostAvalonia;
using MsBox.Avalonia.Enums;
using ReactiveUI;
using v2rayN.Desktop.Common;
namespace v2rayN.Desktop.Views;

View file

@ -1,7 +1,3 @@
using Avalonia.Controls;
using Avalonia.Media.Imaging;
using Avalonia.Threading;
namespace v2rayN.Desktop.Views;
public partial class QrcodeView : UserControl

View file

@ -1,7 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Interactivity;
using ReactiveUI;
using v2rayN.Desktop.Base;
namespace v2rayN.Desktop.Views;

View file

@ -1,9 +1,3 @@
using System.Reactive.Disposables;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using MsBox.Avalonia.Enums;
using ReactiveUI;
using v2rayN.Desktop.Base;
using v2rayN.Desktop.Common;

Some files were not shown because too many files have changed in this diff Show more