@@ -48,7 +48,11 @@ public partial class FileSyncListViewModel : ObservableObject
4848[ NotifyPropertyChangedFor ( nameof ( ShowSessions ) ) ]
4949public 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 ) ) ]
6368public partial bool NewSessionLocalPathDialogOpen { get ; set ; } = false ;
6469
6570[ ObservableProperty ]
@@ -80,10 +85,12 @@ public partial class FileSyncListViewModel : ObservableObject
8085[ NotifyPropertyChangedFor ( nameof ( NewSessionRemotePathDialogEnabled ) ) ]
8186public 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
8592public bool NewSessionRemotePathDialogEnabled =>
86- ! string . IsNullOrWhiteSpace ( NewSessionRemoteHost ) && ! NewSessionRemotePathDialogOpen ;
93+ ! string . IsNullOrWhiteSpace ( NewSessionRemoteHost ) && ! NewSessionRemotePathDialogOpen && ! OperationInProgress ;
8794
8895[ ObservableProperty ] public partial string NewSessionStatus { get ; set ; } = "" ;
8996