@@ -367,14 +367,32 @@ private void AfterContentRendered()
367367 if ( SettingsManager . Current . Update_CheckForUpdatesAtStartup )
368368 CheckForUpdates ( ) ;
369369 }
370-
370+
371371 private void LoadApplicationList ( )
372372 {
373373 isApplicationListLoading = true ;
374374
375- // Need to add items here... if in SettingsInfo/Constructor --> same item will appear multiple times...
375+ // Create a new list if empty
376376 if ( SettingsManager . Current . General_ApplicationList . Count == 0 )
377+ {
377378 SettingsManager . Current . General_ApplicationList = new ObservableSetCollection < ApplicationViewInfo > ( ApplicationViewManager . GetList ( ) ) ;
379+ }
380+ else // Check for missing applications and add them
381+ {
382+ foreach ( ApplicationViewInfo info in ApplicationViewManager . GetList ( ) )
383+ {
384+ bool isInList = false ;
385+
386+ foreach ( ApplicationViewInfo info2 in SettingsManager . Current . General_ApplicationList )
387+ {
388+ if ( info . Name == info2 . Name )
389+ isInList = true ;
390+ }
391+
392+ if ( ! isInList )
393+ SettingsManager . Current . General_ApplicationList . Add ( info ) ;
394+ }
395+ }
378396
379397 Applications = new CollectionViewSource { Source = SettingsManager . Current . General_ApplicationList } . View ;
380398
@@ -391,8 +409,8 @@ private void LoadApplicationList()
391409
392410 var search = regex . Replace ( Search , "" ) ;
393411
394- // Search by TranslatedName and Name
395- return info . IsVisible && ( regex . Replace ( ApplicationViewManager . GetTranslatedNameByName ( info . Name ) , "" ) . IndexOf ( search , StringComparison . OrdinalIgnoreCase ) > - 1 || regex . Replace ( info . Name . ToString ( ) , "" ) . IndexOf ( search , StringComparison . OrdinalIgnoreCase ) >= 0 ) ;
412+ // Search by TranslatedName and Name
413+ return info . IsVisible && ( regex . Replace ( ApplicationViewManager . GetTranslatedNameByName ( info . Name ) , "" ) . IndexOf ( search , StringComparison . OrdinalIgnoreCase ) > - 1 || regex . Replace ( info . Name . ToString ( ) , "" ) . IndexOf ( search , StringComparison . OrdinalIgnoreCase ) >= 0 ) ;
396414 } ;
397415
398416 SettingsManager . Current . General_ApplicationList . CollectionChanged += ( sender , args ) => Applications . Refresh ( ) ;
@@ -1139,7 +1157,7 @@ public ICommand OpenDocumentationCommand
11391157 private void OpenDocumentationAction ( )
11401158 {
11411159 // ToDo: if(settingsView) --> Show help for settings ?!
1142- DocumentationManager . OpenDocumentation ( DocumentationManager . GetIdentifierByAppliactionName ( SelectedApplication . Name ) ) ;
1160+ DocumentationManager . OpenDocumentation ( DocumentationManager . GetIdentifierByAppliactionName ( SelectedApplication . Name ) ) ;
11431161 }
11441162
11451163 public ICommand OpenApplicationListCommand
0 commit comments