private void hotKey_PropertyChanging(object sender, PropertyChangingEventArgs e) { switch (e.PropertyName) { case "Global": case "Modifiers": case "Key": var kvPair = hotKeys.FirstOrDefault(h => h.Value == sender); if (kvPair.Value != null) { UnregisterHotKey(kvPair.Key); } break; } }
public static void NewPresetMap(string nameUnchecked, ConfigItem chosenItem) { string presetName = chosenItem.Name; string folderUnchecked = Path.Combine(PresetsMapsFolder, nameUnchecked); var increment = GetIncrementValueByCheckingForFilenameMatches(folderUnchecked); string name = increment == 0 ? nameUnchecked : string.Concat(nameUnchecked, $"({increment})"); string folder = increment == 0 ? folderUnchecked : string.Concat(folderUnchecked, $"({increment})"); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); CurrentPresetMap = name; var preset = PresetDictionary.FirstOrDefault(x => x.Key == presetName); if (preset.Key != null && preset.Value != null) { var processes = preset.Value; foreach (var process in processes) { if (process.Key != null) { string path = Path.ChangeExtension(Path.Combine(folder, process.Key), "csv"); string presetPath = Path.ChangeExtension(Path.Combine(PresetsFolder, preset.Key, process.Key), "csv"); File.Copy(presetPath, path); // processes in mapfiles.json if (CompilingManager.MapFiles.Count() == 0 || !CompilingManager.MapFiles.Any(x => x.Key == CurrentPresetMap) ) { CompilingManager.MapFiles.Add(CurrentPresetMap, new Map()); } if (CompilingManager.MapFiles[CurrentPresetMap].Processes == null) { CompilingManager.MapFiles[CurrentPresetMap].Processes = new Dictionary <string, MapProcess>(); } CompilingManager.MapFiles[CurrentPresetMap].Processes.Add(process.Key, new MapProcess()); PersistenceManager.ForceMapFilesWrite(); } } } AssembleParameters(); } }