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