Example #1
0
 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;
     }
 }
Example #2
0
        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();
            }
        }