void OnKeysTreeViewSelectionChange(object sender, EventArgs e) { TreeSelection sel = sender as TreeSelection; TreeModel model; TreeIter iter; Command selCommand = null; if (sel.GetSelected(out model, out iter) && model.GetValue(iter, commandCol) != null) { selCommand = model.GetValue(iter, commandCol) as Command; if (CurrentSelectedBinding?.Command == selCommand) // command is already selected { return; } accelComplete = false; var binding = model.GetValue(iter, bindingCol) as string; iter = filterModel.ConvertIterToChildIter(iter); CurrentSelectedBinding = new KeyBindingSelectedEventArgs(binding.Split(new char [] { ' ' }, StringSplitOptions.RemoveEmptyEntries), 0, selCommand, iter); accelIncomplete = false; accelComplete = true; accelEntry.Sensitive = true; } else { accelEntry.Sensitive = updateButton.Sensitive = addButton.Sensitive = false; CurrentSelectedBinding = null; } }
void BindingRenderer_KeyBindingSelected(object sender, KeyBindingSelectedEventArgs e) { accelComplete = false; accelEntry.Sensitive = true; CurrentSelectedBinding = e; //grab focus AFTER the event, or focus gets screwy GLib.Timeout.Add(10, delegate { accelEntry.GrabFocus(); return(false); }); accelIncomplete = false; accelComplete = true; }
void HandleKeyTreeButtonPressEvent(object o, ButtonPressEventArgs args) { if (KeyBindingSelected == null) { return; } var hit = HitTest(args.Event.X, args.Event.Y); if (hit.Command == null) { return; } var a = new KeyBindingSelectedEventArgs(hit.AllKeys, hit.SelectedKey, hit.Command, hit.Iter); KeyBindingSelected(this, a); }
void HandleKeyTreeButtonPressEvent (object o, ButtonPressEventArgs args) { if (KeyBindingSelected == null) return; var hit = HitTest (args.Event.X, args.Event.Y); if (hit.Command == null) return; var a = new KeyBindingSelectedEventArgs (hit.AllKeys, hit.SelectedKey, hit.Command, hit.Iter); KeyBindingSelected (this, a); }
void OnKeysTreeViewSelectionChange (object sender, EventArgs e) { TreeSelection sel = sender as TreeSelection; TreeModel model; TreeIter iter; Command selCommand = null; if (sel.GetSelected (out model, out iter) && model.GetValue (iter, commandCol) != null) { selCommand = model.GetValue (iter, commandCol) as Command; if (CurrentSelectedBinding?.Command == selCommand) // command is already selected return; accelComplete = false; var binding = model.GetValue (iter, bindingCol) as string; iter = filterModel.ConvertIterToChildIter (iter); CurrentSelectedBinding = new KeyBindingSelectedEventArgs (binding.Split (new char [] { ' ' }, StringSplitOptions.RemoveEmptyEntries), 0, selCommand, iter); accelIncomplete = false; accelComplete = true; accelEntry.Sensitive = true; } else { accelEntry.Sensitive = updateButton.Sensitive = addButton.Sensitive = false; CurrentSelectedBinding = null; } }
void BindingRenderer_KeyBindingSelected (object sender, KeyBindingSelectedEventArgs e) { accelComplete = false; accelEntry.Sensitive = true; CurrentSelectedBinding = e; //grab focus AFTER the event, or focus gets screwy GLib.Timeout.Add (10, delegate { accelEntry.GrabFocus (); return false; }); accelIncomplete = false; accelComplete = true; }