|
1 |
| - {r}←n OnKeyPressInMarkdown msg;hasFocus;row;key;cl;buff |
| 1 | + {r}←n OnKeyPressInMarkdown msg;hasFocus;row;key;cl;buff;keyAndState |
2 | 2 | r←1
|
3 | 3 | key←,2⊃msg
|
4 | 4 | hasFocus←2 ⎕NQ #'GetFocusObj'
|
5 | 5 | :If 3<≢msg
|
6 |
| - :If 9 1≡msg[4 5] ⍝ Shift+Tab?! |
| 6 | + keyAndState←msg[4 5] |
| 7 | + :If 9 1≡keyAndState ⍝ Shift+Tab?! |
7 | 8 | n.Markdown.SelText←2⍴n.Markdown.SelText[1]
|
8 | 9 | ⍝{}1 ⎕NQ n.Toc'ItemUp'(n.Toc.SelItems⍳1)0 0 8
|
9 | 10 | 0 ScrollToInMarkdown n(n.Toc.SelItems⍳1)
|
10 | 11 | {}⎕NQ n.Toc'GotFocus'
|
11 | 12 | n.(Row Col).Text←⊂''
|
12 | 13 | r←0
|
13 | 14 | :Return
|
14 |
| - :ElseIf 107 2≡msg[4 5] ⍝ Ctrl++?! |
| 15 | + :ElseIf 107 2≡keyAndState ⍝ Ctrl++?! |
15 | 16 | n ChangeFontSize 1
|
16 |
| - :ElseIf 109 2≡msg[4 5] ⍝ Ctrl+-?! |
| 17 | + :ElseIf 109 2≡keyAndState ⍝ Ctrl+-?! |
17 | 18 | n ChangeFontSize ¯1
|
18 |
| - :ElseIf 9 2≡msg[4 5] ⍝ Ctrl+Tab |
| 19 | + :ElseIf 9 2≡keyAndState ⍝ Ctrl+Tab |
19 | 20 | r←'Right'Tables.JumpOneColumn n
|
20 |
| - :ElseIf 9 3≡msg[4 5] ⍝ Ctrl+Shift+Tab |
| 21 | + :ElseIf 9 3≡keyAndState ⍝ Ctrl+Shift+Tab |
21 | 22 | r←'Left'Tables.JumpOneColumn n
|
22 |
| - :ElseIf 120 2≡msg[4 5] ⍝ Ctrl+F9 (insert column) |
| 23 | + :ElseIf 120 2≡keyAndState ⍝ Ctrl+F9 (insert column) |
23 | 24 | r←'Right'Tables.InsertColumn n
|
24 |
| - :ElseIf 120 3≡msg[4 5] ⍝ Ctrl+Shift+F9 (insert column) |
| 25 | + :ElseIf 120 3≡keyAndState ⍝ Ctrl+Shift+F9 (insert column) |
25 | 26 | r←'Left'Tables.InsertColumn n
|
26 |
| - :ElseIf 38 3≡msg[4 5] ⍝ Ctrl+Shift+<up> |
| 27 | + :ElseIf 38 3≡keyAndState ⍝ Ctrl+Shift+<up> |
27 | 28 | r←'Up'Tables.MoveRow n
|
28 |
| - :ElseIf 40 3≡msg[4 5] ⍝ Ctrl+Shift+<down> |
| 29 | + :ElseIf 40 3≡keyAndState ⍝ Ctrl+Shift+<down> |
29 | 30 | r←'Down'Tables.MoveRow n
|
30 |
| - :ElseIf 116 2≡msg[4 5] ⍝ Ctrl+F5 |
| 31 | + :ElseIf 116 2≡keyAndState ⍝ Ctrl+F5 |
31 | 32 | r←'Right'Tables.MoveCol n
|
32 |
| - :ElseIf 115 2≡msg[4 5] ⍝ Ctrl+F4 |
| 33 | + :ElseIf 115 2≡keyAndState ⍝ Ctrl+F4 |
33 | 34 | r←'Left'Tables.MoveCol n
|
34 |
| - :ElseIf 86 3≡msg[4 5] ⍝ Ctrl+Shift+V |
| 35 | + :ElseIf 86 3≡keyAndState ⍝ Ctrl+Shift+V |
35 | 36 | r←Tables.PasteTable n
|
36 |
| - :ElseIf 69 3≡msg[4 5] ⍝ Ctrl+Shift+E |
| 37 | + :ElseIf 69 3≡keyAndState ⍝ Ctrl+Shift+E |
37 | 38 | r←Tables.ExtendCurrentLine n
|
| 39 | + :ElseIf 46 2≡keyAndState ⍝ Ctrl+Delete |
| 40 | + r←Tables.DeleteCol n |
38 | 41 | :ElseIf 2=≢key
|
39 | 42 | :Select key
|
40 | 43 | :Case 'HT'
|
|
48 | 51 | PolishClipboard ⍬
|
49 | 52 | :EndSelect
|
50 | 53 | :ElseIf 0=≢key
|
51 |
| - r←4=msg[5] ⍝ "Alt" key?! |
| 54 | + r←4=msg[5] ⍝ "Alt" key?! |
52 | 55 | :EndIf
|
53 | 56 | n.StatusField1.Text←''
|
54 | 57 | n.StatusField1.BCol←0
|
55 | 58 | :EndIf
|
56 | 59 | :If 3=≢msg
|
57 |
| - :OrIf 4≠5⊃msg ⍝ Ony when no ALT key is pressed |
| 60 | + :OrIf 4≠5⊃msg ⍝ Ony when no ALT key is pressed |
58 | 61 | :Trap 0 ⋄ ⎕NQ hasFocus'GotFocus' ⋄ :EndTrap
|
59 |
| - ⎕NQ n.∆Form 9999 ⍝ Sets Row and Col in Statusbar, preserve data for undo/redo |
| 62 | + ⎕NQ n.∆Form 9999 ⍝ Sets Row and Col in Statusbar, preserve data for undo/redo |
60 | 63 | :EndIf
|
61 | 64 | ⍝Done
|
0 commit comments