public void EditButton_OnMouseClick(object sender, MouseEventArgs e) { Panel panel = (Panel)((Button)sender).Parent; GUIEntryCreator guiEntryCreator = userPasswordDictionary.Keys.First(x => x.entryPanel == panel); EditEntryDialog editEntryDialog = new EditEntryDialog(); editEntryDialog.UserCredential = userPasswordDictionary[guiEntryCreator]; if (editEntryDialog.ShowDialog() == DialogResult.OK) { Credential credential = new Credential(editEntryDialog.UserCredential); userPasswordDictionary.Remove(guiEntryCreator); entryFlowLayoutPanel.Controls.Remove(guiEntryCreator.entryPanel); userPasswordDictionary.Add(new GUIEntryCreator( entryFlowLayoutPanel, credential, new MouseEventHandler(DeleteButton_OnMouseClick), new MouseEventHandler(EditButton_OnMouseClick)), credential); int entryId = int.Parse(credential.GetData(Credential.UserDataType.Id)); byte[] command = new byte[180]; command[0] = (byte)SerialCommandLimiter.COMM_BEGIN; command[1] = (byte)SerialCommand.COMM_EDIT_ACC; command[2] = (byte)((entryId & 0xFF00) >> 8); command[3] = (byte)(entryId & 0xFF); command[4] = (byte)SerialCommandLimiter.US; int commandIdx = 5; CopyArray(credential.GetData(Credential.UserDataType.Title), ref command, ref commandIdx, 16); command[commandIdx++] = (byte)SerialCommandLimiter.US; CopyArray(credential.GetData(Credential.UserDataType.Username), ref command, ref commandIdx, 32); command[commandIdx++] = (byte)SerialCommandLimiter.US; CopyArray(credential.GetData(Credential.UserDataType.Email), ref command, ref commandIdx, 64); command[commandIdx++] = (byte)SerialCommandLimiter.US; CopyArray(credential.GetData(Credential.UserDataType.Password), ref command, ref commandIdx, 32); command[commandIdx++] = (byte)SerialCommandLimiter.US; CopyArray(credential.GetData(Credential.UserDataType.Website), ref command, ref commandIdx, 24); command[commandIdx++] = (byte)SerialCommandLimiter.COMM_END; SerialSafeWrite(command, commandIdx); } }
private void buttonAddEntry_Click(object sender, EventArgs e) { EditEntryDialog editEntryDialog = new EditEntryDialog(); if (editEntryDialog.ShowDialog() == DialogResult.OK) { credentialQueue.Enqueue(new Credential(editEntryDialog.UserCredential)); } byte[] command = { (byte)SerialCommandLimiter.COMM_BEGIN, (byte)SerialCommand.COMM_GET_UNIQUE_ID, (byte)SerialCommandLimiter.COMM_END }; SerialSafeWrite(command, 3); if (userPasswordDictionary.Count != 0) { lblPlaceholder.Visible = false; } }