public MainForm()
        {
            InitializeComponent();

            model = new MainFormModel();
            model.Load();
        }
        public void Load()
        {
            if (!File.Exists(path))
            {
                createDefaultConfig();
                return;
            }

            XDocument doc = XDocument.Load(path);
            IEnumerable <MainFormModel> configs =
                from m in doc.Descendants("Configuration")
                let startStopKeyAttr = m.Attribute("StartStopKey")
                                       let recordAttr = m.Attribute("RecordKey")
                                                        select new MainFormModel
            {
                StartStopKey =
                    new HotkeyBox.HotkeyValue(startStopKeyAttr == null
                                                             ? ""
                                                             : startStopKeyAttr.Value),
                RecordKey =
                    new HotkeyBox.HotkeyValue(recordAttr == null
                                                             ? ""
                                                             : recordAttr.Value),
                Actions = (from al in m.Elements("ActionList")
                           let action = al.Element("Action")
                                        let enable = al.Attribute("Enable")
                                                     select new Tuple <ActionItem, bool>(
                               element2Action(action),
                               enable != null &&
                               enable.Value.ToLower().Equals("true")
                               ))
                          .ToList()
            };

            MainFormModel config = configs.FirstOrDefault();

            if (config == null)
            {
                return;
            }
            StartStopKey = config.StartStopKey;
            RecordKey    = config.RecordKey;
            Actions      = config.Actions;
        }