@@ -48,7 +48,11 @@ public partial class FileSyncListViewModel : ObservableObject
4848 [ NotifyPropertyChangedFor ( nameof ( ShowSessions ) ) ]
4949 public partial string ? Error { get ; set ; } = null ;
5050
51- [ ObservableProperty ] public partial bool OperationInProgress { get ; set ; } = false ;
51+ [ ObservableProperty ]
52+ [ NotifyPropertyChangedFor ( nameof ( CanOpenLocalPath ) ) ]
53+ [ NotifyPropertyChangedFor ( nameof ( NewSessionRemoteHostEnabled ) ) ]
54+ [ NotifyPropertyChangedFor ( nameof ( NewSessionRemotePathDialogEnabled ) ) ]
55+ public partial bool OperationInProgress { get ; set ; } = false ;
5256
5357 [ ObservableProperty ] public partial IReadOnlyList < SyncSessionViewModel > Sessions { get ; set ; } = [ ] ;
5458
@@ -60,6 +64,7 @@ public partial class FileSyncListViewModel : ObservableObject
6064
6165 [ ObservableProperty ]
6266 [ NotifyPropertyChangedFor ( nameof ( NewSessionCreateEnabled ) ) ]
67+ [ NotifyPropertyChangedFor ( nameof ( CanOpenLocalPath ) ) ]
6368 public partial bool NewSessionLocalPathDialogOpen { get ; set ; } = false ;
6469
6570 [ ObservableProperty ]
@@ -80,10 +85,12 @@ public partial class FileSyncListViewModel : ObservableObject
8085 [ NotifyPropertyChangedFor ( nameof ( NewSessionRemotePathDialogEnabled ) ) ]
8186 public partial bool NewSessionRemotePathDialogOpen { get ; set ; } = false ;
8287
83- public bool NewSessionRemoteHostEnabled => AvailableHosts . Count > 0 ;
88+ public bool CanOpenLocalPath => ! NewSessionLocalPathDialogOpen && ! OperationInProgress ;
89+
90+ public bool NewSessionRemoteHostEnabled => AvailableHosts . Count > 0 && ! OperationInProgress ;
8491
8592 public bool NewSessionRemotePathDialogEnabled =>
86- ! string . IsNullOrWhiteSpace ( NewSessionRemoteHost ) && ! NewSessionRemotePathDialogOpen ;
93+ ! string . IsNullOrWhiteSpace ( NewSessionRemoteHost ) && ! NewSessionRemotePathDialogOpen && ! OperationInProgress ;
8794
8895 [ ObservableProperty ] public partial string NewSessionStatus { get ; set ; } = "" ;
8996
0 commit comments