private void AgentKeyListChangeHandler(object sender, Agent.KeyListChangeEventArgs e) { // if (IsDisposed) { // return; // } switch (e.Action) { case Agent.KeyListChangeEventAction.Add: Gtk.Application.Invoke(delegate(object sender1, EventArgs e1) { mKeyCollection.AddNode(new KeyNode(e.Key)); UpdateVisibility(); }); break; case Agent.KeyListChangeEventAction.Remove: Gtk.Application.Invoke(delegate(object sender1, EventArgs e1) { var matchFingerprint = e.Key.GetMD5Fingerprint().ToHexString(); var matches = mKeyCollection.Cast <KeyNode>() .Where(k => k.Fingerprint == matchFingerprint); foreach (var keyNode in matches) { mKeyCollection.RemoveNode(keyNode); } UpdateVisibility(); }); break; } }
void mAgent_KeyListChanged(object sender, Agent.KeyListChangeEventArgs e) { // TODO figure out how to invoke Qt UI thread ReloadData(); }
private void mAgent_KeyListChanged(object sender, Agent.KeyListChangeEventArgs e) { ReloadData(); }