private void DetailedEdit_RequestSave(object sender, EventArgs e)
 {
     var contact = listView.SelectedItem as Contact;
     UndoRedo.PerformAction("edit " + m_ContactEdit.Contact.Name, new[] { contact }, new[] { m_ContactEdit.Contact });
     SelectContact(m_ContactEdit.Contact);
     m_ContactEdit.Close();
     m_ContactEdit = null;
     listView.Focus();
 }
 private void listView_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     if(m_ContactEdit == null)
     {
         m_ContactEdit = new ContactEditForm();
         m_ContactEdit.Owner = this;
         m_ContactEdit.RequestSave += DetailedEdit_RequestSave;
         m_ContactEdit.RequestCancel += DetailedEdit_RequestCancel;
     }
     m_ContactEdit.Contact = (listView.SelectedItem as Contact).DeepClone();
     m_ContactEdit.ShowDialog();
 }
 private void DetailedEdit_RequestCancel(object sender, EventArgs e)
 {
     m_ContactEdit.Close();
     m_ContactEdit = null;
     listView.Focus();
 }