Use Rx event subscription to replace MessageBus refresh configuration file function

This commit is contained in:
2dust
2025-08-29 14:46:08 +08:00
parent a108eaf34b
commit ea1d438e40
9 changed files with 59 additions and 75 deletions
@@ -1,4 +1,5 @@
using System.Reactive;
using System.Reactive.Linq;
using System.Text;
using DynamicData.Binding;
using ReactiveUI;
@@ -216,15 +217,13 @@ public class StatusBarViewModel : MyReactiveObject
_updateView = updateView;
if (_updateView != null)
{
MessageBus.Current.Listen<string>(EMsgCommand.RefreshProfiles.ToString()).Subscribe(OnNext);
AppEvents.ProfilesRefreshRequested
.AsObservable()
.ObserveOn(RxApp.MainThreadScheduler)
.Subscribe(async _ => await RefreshServersBiz()); //.DisposeWith(_disposables);
}
}
private async void OnNext(string x)
{
await _updateView?.Invoke(EViewAction.DispatcherRefreshServersBiz, null);
}
private async Task CopyProxyCmdToClipboard()
{
var cmd = Utils.IsWindows() ? "set" : "export";
@@ -263,7 +262,7 @@ public class StatusBarViewModel : MyReactiveObject
await service.UpdateSubscriptionProcess("", blProxy);
}
public async Task RefreshServersBiz()
private async Task RefreshServersBiz()
{
await RefreshServersMenu();