@@ -306,7 +306,8 @@ private void TrayMenuHelper_CloseApplicationRequested(object sender, EventArgs e
306
306
private void LoadSettings ( )
307
307
{
308
308
Globals . Instance . LoadSettings ( ) ;
309
-
309
+ FixAssignments ( ) ;
310
+ Settings . ApplicationProfileAssignments . Sort ( a => a . Position , ListSortDirection . Ascending ) ;
310
311
Settings . ApplicationProfileAssignments . CollectionChanged += ApplicationProfileAssigments_CollectionChanged ;
311
312
Settings . ApplicationProfiles . CollectionChanged += ApplicationProfiles_CollectionChanged ;
312
313
Settings . Monitors . CollectionChanged += Monitors_CollectionChanged ;
@@ -325,6 +326,37 @@ private void LoadSettings()
325
326
Globals . Logs . Add ( "Settings loaded" , false ) ;
326
327
}
327
328
329
+ private void FixAssignments ( )
330
+ {
331
+ int count = Settings . ApplicationProfileAssignments . Count ;
332
+ for ( int i = 0 ; i < count ; i ++ )
333
+ {
334
+ int positionCount = Settings . ApplicationProfileAssignments . Count ( a => a . Position == i ) ;
335
+ if ( positionCount == 0 )
336
+ {
337
+ int u = i ;
338
+ while ( Settings . ApplicationProfileAssignments . Count ( a => a . Position == i ) == 0 )
339
+ {
340
+ var assignemnt = Settings . ApplicationProfileAssignments . FirstOrDefault ( a => a . Position == u ) ;
341
+ if ( assignemnt != null )
342
+ assignemnt . Position = i ;
343
+ u ++ ;
344
+ }
345
+ }
346
+ if ( positionCount > 1 )
347
+ Settings . ApplicationProfileAssignments . First ( a => a . Position == i ) . Position = i + 1 ;
348
+ }
349
+ while ( Settings . ApplicationProfileAssignments . Any ( a => a . Position >= count ) )
350
+ {
351
+ foreach ( var assignment in Settings . ApplicationProfileAssignments )
352
+ if ( assignment . Position >= count )
353
+ do
354
+ {
355
+ assignment . Position = assignment . Position - 1 ;
356
+ } while ( Settings . ApplicationProfileAssignments . Count ( a => a . Position == assignment . Position ) > 1 ) ;
357
+ }
358
+ }
359
+
328
360
329
361
private void TrayMenu_TrayLeftMouseDown ( object sender , RoutedEventArgs e )
330
362
{
0 commit comments