@@ -325,19 +325,24 @@ private void LoadSettings()
325
325
Globals . Instance . LoadSettings ( ) ;
326
326
FixAssignments ( ) ;
327
327
Globals . Instance . SaveSettings ( ) ;
328
+
328
329
Settings . ApplicationProfileAssignments . Sort ( a => a . Position , ListSortDirection . Ascending ) ;
329
330
Settings . ApplicationProfileAssignments . CollectionChanged += ApplicationProfileAssigments_CollectionChanged ;
330
331
Settings . ApplicationProfiles . CollectionChanged += ApplicationProfiles_CollectionChanged ;
331
332
Settings . ActionShortcuts . CollectionChanged += ActionShortcuts_CollectionChanged ;
332
333
Settings . Displays . CollectionChanged += Monitors_CollectionChanged ;
333
334
335
+
336
+
334
337
Settings . PropertyChanged += Settings_PropertyChanged ;
335
338
336
339
ApplicationProfileAssigments_CollectionChanged (
337
340
Settings . ApplicationProfileAssignments , new NotifyCollectionChangedEventArgs ( NotifyCollectionChangedAction . Add , Settings . ApplicationProfileAssignments . ToList ( ) ) ) ;
338
341
339
342
ApplicationProfiles_CollectionChanged ( Settings . ApplicationProfiles , new NotifyCollectionChangedEventArgs ( NotifyCollectionChangedAction . Add , Settings . ApplicationProfiles . ToList ( ) ) ) ;
340
343
344
+
345
+
341
346
Monitors_CollectionChanged ( Settings . Displays , new NotifyCollectionChangedEventArgs ( NotifyCollectionChangedAction . Add , Settings . Displays . ToList ( ) ) ) ;
342
347
343
348
@@ -616,6 +621,10 @@ private void ApplicationProfiles_CollectionChanged(object sender, NotifyCollecti
616
621
profile . ApplicationStarted . CollectionChanged += ProfileActions_CollectionChanged ;
617
622
profile . ApplicationLostFocus . CollectionChanged += ProfileActions_CollectionChanged ;
618
623
profile . ApplicationGotFocus . CollectionChanged += ProfileActions_CollectionChanged ;
624
+ ProfileActions_CollectionChanged ( profile . ApplicationClosed , new NotifyCollectionChangedEventArgs ( NotifyCollectionChangedAction . Add , profile . ApplicationClosed . ToList ( ) ) ) ;
625
+ ProfileActions_CollectionChanged ( profile . ApplicationStarted , new NotifyCollectionChangedEventArgs ( NotifyCollectionChangedAction . Add , profile . ApplicationStarted . ToList ( ) ) ) ;
626
+ ProfileActions_CollectionChanged ( profile . ApplicationLostFocus , new NotifyCollectionChangedEventArgs ( NotifyCollectionChangedAction . Add , profile . ApplicationLostFocus . ToList ( ) ) ) ;
627
+ ProfileActions_CollectionChanged ( profile . ApplicationGotFocus , new NotifyCollectionChangedEventArgs ( NotifyCollectionChangedAction . Add , profile . ApplicationGotFocus . ToList ( ) ) ) ;
619
628
profile . PropertyChanged += SaveSettingsOnPropertyChanged ;
620
629
}
621
630
break ;
@@ -631,6 +640,8 @@ private void ApplicationProfiles_CollectionChanged(object sender, NotifyCollecti
631
640
}
632
641
break ;
633
642
}
643
+
644
+
634
645
Globals . Instance . SaveSettings ( ) ;
635
646
636
647
}
@@ -663,6 +674,24 @@ private void ActionShortcuts_CollectionChanged(object sender, NotifyCollectionCh
663
674
664
675
private void ProfileActions_CollectionChanged ( object sender , NotifyCollectionChangedEventArgs e )
665
676
{
677
+ switch ( e . Action )
678
+ {
679
+
680
+ case NotifyCollectionChangedAction . Add :
681
+ foreach ( IProfileAction action in e . NewItems )
682
+ {
683
+ Globals . Logs . Add ( $ "Action added: { action . ActionDescription } ", false ) ;
684
+ ( ( BaseViewModel ) action ) . PropertyChanged += SaveSettingsOnPropertyChanged ;
685
+ }
686
+ break ;
687
+ case NotifyCollectionChangedAction . Remove :
688
+ foreach ( IProfileAction action in e . OldItems )
689
+ {
690
+ Globals . Logs . Add ( $ "Action removed: { action . ActionDescription } ", false ) ;
691
+ ( ( BaseViewModel ) action ) . PropertyChanged -= SaveSettingsOnPropertyChanged ;
692
+ }
693
+ break ;
694
+ }
666
695
Globals . Instance . SaveSettings ( ) ;
667
696
}
668
697
0 commit comments