public void SaveRequested() { BaseDatabase db = CreateDatabase(DatabaseName); // if we did not create the panel then do not waste time trying to save if (false == PanelWasMade) { return; } for (int i = 0; i < configPanel.Controls.Count; i++) { if (configPanel.Controls[i] is VisualKey) { VisualKey key = (VisualKey)configPanel.Controls [i]; if (true == key.IsModified && key.keyOut != null) { // we have a modified key and it should be stored into the database if (db.Exists(TableName, columnGUID, key.keyOut.GetGUID())) { // modified existing db.UpdateSpecificColumnData(TableName, new string[columnCount - 1] { columnGUID, columnKeyModifier, columnKey }, new object[columnCount - 1] { key.keyOut.GetGUID(), key.keyOut.ModifyingKey.ToString(), key.keyOut.Key.ToString() }, columnGUID, key.keyOut.GetGUID()); } else { // add new db.InsertData(TableName, new string[columnCount - 1] { columnGUID, columnKeyModifier, columnKey }, new object[columnCount - 1] { key.keyOut.GetGUID(), key.keyOut.ModifyingKey.ToString(), key.keyOut.Key.ToString() }); } } } } db.Dispose(); }
private void RebuildListOfKeys() { configPanel.Controls.Clear(); HotKeys.Sort(); List <KeyData> ModifiedKeys = GetListOfModifiedKeys(DatabaseName); //NewMessage.Show (HotKeys.Count.ToString()); foreach (KeyData keysy in HotKeys) { KeyData keyModified = ModifiedKeys.Find(KeyData => KeyData.GetGUID() == keysy.GetGUID()); if (keyModified != null) { // we have an overriden key keysy.Key = keyModified.Key; keysy.ModifyingKey = keyModified.ModifyingKey; } VisualKey keyPanel = new VisualKey(keysy, MainFormBase.MainFormIcon, AfterKeyEdit); // apply any overrides from database storage configPanel.Controls.Add(keyPanel); keyPanel.Dock = DockStyle.Top; } Button Reset = new Button(); Reset.Text = Loc.Instance.GetString("Reset"); Reset.Dock = DockStyle.Top; Reset.Click += HandleResetClick; configPanel.Controls.Add(Reset); Reset.BringToFront(); CheckForErrors(); }