[squeak-dev] The Trunk: ST80-cmm.190.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Nov 5 23:03:19 UTC 2015
Chris Muller uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-cmm.190.mcz
==================== Summary ====================
Name: ST80-cmm.190
Author: cmm
Time: 5 November 2015, 5:03:03.029 pm
UUID: 572cb97d-0dd6-44de-9ced-d92b6a524345
Ancestors: ST80-topa.189
- Keep hot keys consistent between TextEditor and ParagraphEditor.
=============== Diff against ST80-topa.189 ===============
Item was changed:
----- Method: ParagraphEditor class>>initializeShiftCmdKeyShortcuts (in category 'keyboard shortcut tables') -----
initializeShiftCmdKeyShortcuts
"Initialize the shift-command-key (or control-key) shortcut table."
"NOTE: if you don't know what your keyboard generates, use Sensor kbdTest"
"wod 11/3/1998: Fix setting of cmdMap for shifted keys to actually use the
capitalized versions of the letters.
TPR 2/18/99: add the plain ascii values back in for those VMs that don't return the shifted values."
| cmdMap |
"shift-command and control shortcuts"
cmdMap := Array new: 256 withAll: #noop:. "use temp in case of a crash"
cmdMap at: ( 1 + 1) put: #cursorHome:. "home key"
cmdMap at: ( 4 + 1) put: #cursorEnd:. "end key"
cmdMap at: ( 8 + 1) put: #forwardDelete:. "ctrl-H or delete key"
cmdMap at: (11 + 1) put: #cursorPageUp:. "page up key"
cmdMap at: (12 + 1) put: #cursorPageDown:. "page down key"
cmdMap at: (13 + 1) put: #crWithIndent:. "ctrl-Return"
cmdMap at: (27 + 1) put: #offerMenuFromEsc:. "escape key"
cmdMap at: (28 + 1) put: #cursorLeft:. "left arrow key"
cmdMap at: (29 + 1) put: #cursorRight:. "right arrow key"
cmdMap at: (30 + 1) put: #cursorUp:. "up arrow key"
cmdMap at: (31 + 1) put: #cursorDown:. "down arrow key"
cmdMap at: (32 + 1) put: #selectWord:. "space bar key"
cmdMap at: (45 + 1) put: #changeEmphasis:. "cmd-sh-minus"
cmdMap at: (61 + 1) put: #changeEmphasis:. "cmd-sh-plus"
cmdMap at: (127 + 1) put: #forwardDelete:. "del key"
"On some keyboards, these characters require a shift"
'([<{|"''' do: [:char | cmdMap at: char asciiValue + 1 put: #enclose:].
"NB: sw 12/9/2001 commented out the idiosyncratic line just below, which was grabbing shift-esc in the text editor and hence which argued with the wish to have shift-esc be a universal gesture for escaping the local context and calling up the desktop menu."
"cmdMap at: (27 + 1) put: #shiftEnclose:." "ctrl-["
"'""''(' do: [ :char | cmdMap at: (char asciiValue + 1) put: #enclose:]."
"triplet = {character. comment selector. novice appropiated}"
#(
($a argAdvance: false)
($b browseItHere: false)
($c compareToClipboard: false)
- ($d debugIt: false)
($e methodStringsContainingIt: false)
($f displayIfFalse: false)
($g fileItIn: false)
($h cursorTopHome: true)
($i exploreIt: false)
($j doAgainMany: true)
($k changeStyle: true)
+ ($m selectCurrentTypeIn: true)
- ($l outdent: true)
- ($m selectCurrentTypeIn: true)
($n referencesToIt: false)
($p makeProjectLink: true)
- ($r indent: true)
($s search: true)
($t displayIfTrue: false)
($u changeLfToCr: false)
($v pasteInitials: false)
($w methodNamesContainingIt: false)
($x makeLowercase: true)
($y makeUppercase: true)
($z makeCapitalized: true)
)
select:[:triplet | Preferences noviceMode not or:[triplet third]]
thenDo:[:triplet |
cmdMap at: (triplet first asciiValue + 1) put: triplet second. "plain keys"
cmdMap at: (triplet first asciiValue - 32 + 1) put: triplet second. "shifted keys"
cmdMap at: (triplet first asciiValue - 96 + 1) put: triplet second. "ctrl keys"
].
ShiftCmdActions := cmdMap!
Item was changed:
----- Method: ParagraphEditor>>dispatchOnCharacter:with: (in category 'parenblinking') -----
dispatchOnCharacter: char with: typeAheadStream
"Carry out the action associated with this character, if any.
Type-ahead is passed so some routines can flush or use it."
| honorCommandKeys result |
self clearParens.
"mikki 1/3/2005 21:31 Preference for auto-indent on return added."
char asciiValue = 13 ifTrue: [
^Preferences autoIndent
ifTrue: [
sensor controlKeyPressed
ifTrue: [self normalCharacter: typeAheadStream]
ifFalse: [self crWithIndent: typeAheadStream]]
ifFalse: [
sensor controlKeyPressed
ifTrue: [self crWithIndent: typeAheadStream]
ifFalse: [self normalCharacter: typeAheadStream]]].
((honorCommandKeys := Preferences cmdKeysInText) and: [char = Character enter])
ifTrue: [^ self dispatchOnEnterWith: typeAheadStream].
+
+ (char = Character tab and: [ self selection notEmpty ]) ifTrue: [ self tabOrIndent: typeAheadStream ].
+
-
"Special keys overwrite crtl+key combinations - at least on Windows. To resolve this
conflict, assume that keys other than cursor keys aren't used together with Crtl."
((self class specialShiftCmdKeys includes: char asciiValue) and: [char asciiValue < 27])
ifTrue: [^ sensor controlKeyPressed
ifTrue: [self perform: (ShiftCmdActions at: char asciiValue + 1) with: typeAheadStream]
ifFalse: [self perform: (CmdActions at: char asciiValue + 1) with: typeAheadStream]].
"backspace, and escape keys (ascii 8 and 27) are command keys"
((honorCommandKeys and: [sensor commandKeyPressed]) or: [self class specialShiftCmdKeys includes: char asciiValue]) ifTrue:
[^ sensor leftShiftDown
ifTrue:
[self perform: (ShiftCmdActions at: char asciiValue + 1 ifAbsent: [#noop:]) with: typeAheadStream]
ifFalse:
[self perform: (CmdActions at: char asciiValue + 1 ifAbsent: [#noop:]) with: typeAheadStream]].
"the control key can be used to invoke shift-cmd shortcuts"
(honorCommandKeys and: [sensor controlKeyPressed])
ifTrue:
[^ self perform: (ShiftCmdActions at: char asciiValue + 1 ifAbsent: [#noop:]) with: typeAheadStream].
result := self normalCharacter: typeAheadStream.
(')]}' includes: char)
ifTrue: [self blinkPrevParen: char ].
^result!
Item was removed:
- ----- Method: ParagraphEditor>>duplicate: (in category 'editing keys') -----
- duplicate: characterStream
- "Paste the current selection over the prior selection, if it is non-overlapping and
- legal. Flushes typeahead. Undoer & Redoer: undoAndReselect."
-
- sensor keyboard.
- self closeTypeIn.
- (self hasSelection and: [self isDisjointFrom: otherInterval])
- ifTrue: "Something to duplicate"
- [self replace: otherInterval with: self selection and:
- [self selectAt: self pointIndex]]
- ifFalse:
- [view flash].
- ^true!
Item was added:
+ ----- Method: ParagraphEditor>>tabOrIndent: (in category 'typing/selecting keys') -----
+ tabOrIndent: characterStream
+ self selection
+ ifEmpty: [ self normalCharacter: characterStream ]
+ ifNotEmpty:
+ [ Sensor shiftPressed
+ ifTrue: [ self outdent: characterStream ]
+ ifFalse: [ self indent: characterStream ] ].
+ ^ false!
More information about the Squeak-dev
mailing list
|