private void SaveKeyboardSaveFile() { if (!Directory.Exists(MainDirectory + @"\saves")) { Directory.CreateDirectory(MainDirectory + @"\saves"); } foreach (Keyboard keyboard in _keyboards) { JKeyboard jk = keyboard.SaveKeyboard(Properties.Resources.Version); string output = JsonConvert.SerializeObject(jk, Formatting.Indented); File.WriteAllText(MainDirectory + @"\saves\" + jk.Id + ".mkb", output, Encoding.UTF8); } }
private void LoadKeyboardConfig(string path) { if (File.Exists(path)) { string text = File.ReadAllText(path, Encoding.UTF8); JKeyboard deserializedKeyboard = JsonConvert.DeserializeObject <JKeyboard>(text); Keyboard kb = new Keyboard(deserializedKeyboard, Properties.Resources.KeyboardScanner__staticId); kb.ConnectTimeoutDelay = Properties.Settings.Default.TimeOutDelay; Debug.WriteLine("loading keyboard " + kb.KeyboardUuid); string com = GetPortFromId(kb.KeyboardUuid); if (com == null) { AddError(true, kb.KeyboardName + " --> not found!"); Debug.WriteLine(kb.KeyboardName + " --> not found!"); } else { kb.KeyboardComPort = com; kb.Connect(); } _keyboards.Add(kb); KeyBoardGUI obj = new KeyBoardGUI(kb); obj.Visible = false; MAIN_PANEL.Controls.Add(obj); obj.Dock = DockStyle.Fill; obj.SaveFile = path; obj.LoadKeys(); _listkeyboardElement.addItem(kb.KeyboardName, kb.KeyboardUuid, kb.KeyboardComPort, obj); _keyboardGUIList.Add(obj); } }