void OnKeyPress(object sender, Gtk.KeyPressEventArgs eee) { var e = eee.Event; //base.OnKeyDown(e); TEKeyArgs ee = e.ToTEKeyArgs(); TheOverlayModel.CurrentTool.KeyDown(ee); //e.Handled = ee.Handled; // turn off raster on Alt Rasterizer.View.OverrideWithZeroGridWidth = Control.ModifierKeys.HasFlag(Keys.Alt) && !Control.ModifierKeys.HasFlag(Keys.Shift); Rasterizer.View.OverrideWithHalfGridWidth = Control.ModifierKeys.HasFlag(Keys.Alt) && Control.ModifierKeys.HasFlag(Keys.Shift); if (e.Key == Gdk.Key.Alt_L || e.Key == Gdk.Key.Alt_R) { ee.Handled = true; } if (!ee.Handled) { var ModMask = Gtk.Accelerator.DefaultModMask; var nState = e.State & ModMask; // escape cancels current operation if (e.Key == Gdk.Key.Escape) { TheOverlayModel.ActivateDefaultTool(); } if (e.Key == Gdk.Key.C && nState == Gdk.ModifierType.ControlMask) { TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Copy); } else if (e.Key == Gdk.Key.X && nState == Gdk.ModifierType.ControlMask) { TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Cut); } else if (e.Key == Gdk.Key.V && nState == Gdk.ModifierType.ControlMask) { GlobalUI.UI.ShowMessageBox("Currently pasting directly in the WYSIWYG area is not possible. However, you can paste into the code (text) field.", "Paste not possible", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (e.Key == Gdk.Key.Delete) { TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Delete); } } //return true; }
protected override void OnKeyDown(KeyEventArgs e) { //base.OnKeyDown(e); TEKeyArgs ee = e.ToTEKeyArgs(); TheOverlayModel.CurrentTool.KeyDown(ee); e.Handled = ee.Handled; // turn off raster on Alt Rasterizer.View.OverrideWithZeroGridWidth = Control.ModifierKeys.HasFlag(Keys.Alt) && !Control.ModifierKeys.HasFlag(Keys.Shift); Rasterizer.View.OverrideWithHalfGridWidth = Control.ModifierKeys.HasFlag(Keys.Alt) && Control.ModifierKeys.HasFlag(Keys.Shift); if (e.KeyCode == Keys.Alt) { e.Handled = true; } if (!e.Handled) { // escape cancels current operation if (e.KeyCode == Keys.Escape) { TheOverlayModel.ActivateDefaultTool(); } if (e.KeyCode == Keys.C && e.Control) { TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Copy); } else if (e.KeyCode == Keys.X && e.Control) { TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Cut); } else if (e.KeyCode == Keys.V && e.Control) { GlobalUI.UI.ShowMessageBox("Currently pasting directly in the WYSIWYG area is not possible. However, you can paste into the code (text) field.", "Paste not possible", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (e.KeyCode == Keys.Delete) { TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Delete); } } }