private void UpdateProcessList() { CompileProcessesListBox.BeginAnimation(OpacityProperty, new DoubleAnimation(0, 1, new Duration(TimeSpan.FromMilliseconds(50)))); int currentIndex = CompileProcessesListBox.SelectedIndex; CompileProcessesSubList.Clear(); CompileProcessesListBox.Items.SortDescriptions.Add(new SortDescription("Ordering", ListSortDirection.Ascending)); foreach (CompileProcess p in ConfigurationManager.CompileProcesses) { if (ConfigurationManager.CurrentPreset != null) { if (p.PresetDictionary.ContainsKey(ConfigurationManager.CurrentPreset)) { CompileProcessesSubList.Add(p); } } } if (currentIndex < CompileProcessesListBox.Items.Count && currentIndex >= 0) { CompileProcessesListBox.SelectedIndex = currentIndex; } }
private void UpdateProcessList() { CompileProcessesListBox.BeginAnimation(OpacityProperty, new DoubleAnimation(0, 1, new Duration(TimeSpan.FromMilliseconds(50)))); int currentIndex = CompileProcessesListBox.SelectedIndex; if (!string.IsNullOrWhiteSpace(ConfigurationManager.CurrentPresetMap) && CompileProcessesSubList.Keys.Any(x => x == ConfigurationManager.CurrentPresetMap)) { CompileProcessesSubList[ConfigurationManager.CurrentPresetMap].Clear(); } CompileProcessesListBox.Items.SortDescriptions.Add(new SortDescription("Ordering", ListSortDirection.Ascending)); if (!CompileProcessesSubList.Keys.Any(x => x == ConfigurationManager.CurrentPresetMap)) { CompileProcessesSubList.Add(ConfigurationManager.CurrentPresetMap, new ObservableCollection <CompileProcess>()); } var compileProcessesList = !string.IsNullOrWhiteSpace(ConfigurationManager.CurrentPresetMap) && ConfigurationManager.CompileProcesses.Any() && ConfigurationManager.CompileProcesses.Keys.Any(x => x == ConfigurationManager.CurrentPresetMap) ? ConfigurationManager.CompileProcesses[ConfigurationManager.CurrentPresetMap] : new ObservableCollection <CompileProcess>(); foreach (CompileProcess p in compileProcessesList) { if (!string.IsNullOrWhiteSpace(ConfigurationManager.CurrentPresetMap)) { if (ConfigurationManager.PresetMapDictionary.Keys.Any(x => x == ConfigurationManager.CurrentPresetMap) && ConfigurationManager.PresetMapDictionary[ConfigurationManager.CurrentPresetMap].Keys.Any(x => x == p.Name)) { CompileProcessesSubList[ConfigurationManager.CurrentPresetMap].Add(p); } } } if (currentIndex < CompileProcessesListBox.Items.Count && currentIndex >= 0) { CompileProcessesListBox.SelectedIndex = currentIndex; } // CompilePalMulti v003.1 changes brought differences to the mapfiles.json file. We need to automatically update that file for PresetsMaps created on previous versions if (!string.IsNullOrWhiteSpace(ConfigurationManager.CurrentPresetMap) && CompilingManager.MapFiles[ConfigurationManager.CurrentPresetMap] != null) { if (CompilingManager.MapFiles[ConfigurationManager.CurrentPresetMap].Processes == null) { CompilingManager.MapFiles[ConfigurationManager.CurrentPresetMap].Processes = new Dictionary <string, MapProcess>(); } foreach (var process in CompileProcessesSubList[ConfigurationManager.CurrentPresetMap]) { if (!CompilingManager.MapFiles[ConfigurationManager.CurrentPresetMap].Processes.Any(x => x.Key == process.Name)) { CompilingManager.MapFiles[ConfigurationManager.CurrentPresetMap].Processes.Add(process.Name, new MapProcess()); } } PersistenceManager.ForceMapFilesWrite(); } // }