protected override bool OnKeyUp(Document document, ToolKeyEventArgs e) { if (e.Key.IsControlKey()) { SetCursor(DefaultCursor); } return(false); }
protected override bool OnKeyUp(Document document, ToolKeyEventArgs e) { if (IsActive && !using_mouse) { OnFinishTransform(document, transform); } return(base.OnKeyUp(document, e)); }
protected override bool OnKeyUp(Document document, ToolKeyEventArgs e) { if (EditEngine.HandleKeyUp(document, e)) { return(true); } return(base.OnKeyUp(document, e)); }
protected override bool OnKeyUp(Document document, ToolKeyEventArgs e) { if (e.Key.IsControlKey() || e.IsControlPressed) { ctrlKey = false; UpdateMouseCursor(document); } return(false); }
protected override bool OnKeyDown(Document document, ToolKeyEventArgs e) { // Note that this WON'T work if user presses control key and THEN selects the tool! if (e.Key.IsControlKey()) { var icon = Resources.GetIcon("Cursor.CloneStampSetSource.png"); var setSourceCursor = new Cursor(Display.Default, icon, 16, 26); SetCursor(setSourceCursor); } return(false); }
protected override bool OnKeyDown(Document document, ToolKeyEventArgs e) { // Don't handle the arrow keys while already interacting via the mouse. if (using_mouse) { return(base.OnKeyDown(document, e)); } var dx = 0.0; var dy = 0.0; switch (e.Key) { case Gdk.Key.Left: dx = -1; break; case Gdk.Key.Right: dx = 1; break; case Gdk.Key.Up: dy = -1; break; case Gdk.Key.Down: dy = 1; break; default: // Otherwise, let the key be handled elsewhere. return(base.OnKeyDown(document, e)); } if (!IsActive) { is_dragging = true; OnStartTransform(document); } transform.Translate(dx, dy); OnUpdateTransform(document, transform); return(true); }
protected override bool OnKeyDown(Document document, ToolKeyEventArgs e) { if (!PintaCore.Workspace.HasOpenDocuments) { return(false); } // If we are dragging the text, we // aren't going to handle key presses if (tracking) { return(false); } // Ignore anything with Alt pressed if (e.IsAltPressed) { return(false); } ctrlKey = e.Key.IsControlKey(); UpdateMouseCursor(document); // Assume that we are going to handle the key bool keyHandled = true; if (is_editing) { switch (e.Key) { case Gdk.Key.BackSpace: CurrentTextEngine.PerformBackspace(); break; case Gdk.Key.Delete: CurrentTextEngine.PerformDelete(); break; case Gdk.Key.KP_Enter: case Gdk.Key.Return: CurrentTextEngine.PerformEnter(); break; case Gdk.Key.Left: CurrentTextEngine.PerformLeft(e.IsControlPressed, e.IsShiftPressed); break; case Gdk.Key.Right: CurrentTextEngine.PerformRight(e.IsControlPressed, e.IsShiftPressed); break; case Gdk.Key.Up: CurrentTextEngine.PerformUp(e.IsShiftPressed); break; case Gdk.Key.Down: CurrentTextEngine.PerformDown(e.IsShiftPressed); break; case Gdk.Key.Home: CurrentTextEngine.PerformHome(e.IsControlPressed, e.IsShiftPressed); break; case Gdk.Key.End: CurrentTextEngine.PerformEnd(e.IsControlPressed, e.IsShiftPressed); break; case Gdk.Key.Next: case Gdk.Key.Prior: break; case Gdk.Key.Escape: StopEditing(false); return(true); case Gdk.Key.Insert: if (e.IsShiftPressed) { Gtk.Clipboard cb = Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false)); CurrentTextEngine.PerformPaste(cb); } else if (e.IsControlPressed) { Gtk.Clipboard cb = Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false)); CurrentTextEngine.PerformCopy(cb); } break; default: if (e.IsControlPressed) { if (e.Key == Gdk.Key.z) { //Ctrl + Z for undo while editing. OnHandleUndo(document); if (PintaCore.Workspace.ActiveDocument.History.CanUndo) { PintaCore.Workspace.ActiveDocument.History.Undo(); } return(true); } else if (e.Key == Gdk.Key.i) { italic_btn.Toggle(); UpdateFont(); } else if (e.Key == Gdk.Key.b) { bold_btn.Toggle(); UpdateFont(); } else if (e.Key == Gdk.Key.u) { underscore_btn.Toggle(); UpdateFont(); } else if (e.Key == Gdk.Key.a) { // Select all of the text. CurrentTextEngine.PerformHome(false, false); CurrentTextEngine.PerformEnd(true, true); } else { //Ignore command shortcut. return(false); } } else { if (e.Event is not null) { keyHandled = TryHandleChar(e.Event); } } break; } if (keyHandled) { imContext.FocusOut(); RedrawText(true, true); imContext.FocusIn(); } } else { // If we're not editing, allow the key press to be handled elsewhere (e.g. for selecting another tool). keyHandled = false; } return(keyHandled); }