[squeak-dev] The Inbox: Morphic-cmm.1461.mcz
Chris Muller
asqueaker at gmail.com
Fri Aug 31 22:53:32 UTC 2018
For some reason, I thought there was a hot-key at one time for TRUE
indentation (not tabbing), but found no trace of it. But rather than
consuming anymore hot-keys for such a rarely-used function, this
adds it to the alignment menu.
I know we're in a feature-freeze Edgar but, technically, this could be
considered a bug fix since it seems like this function was either
there at one point or at least should be now. It's very low-risk
and shows off Squeak's existing Word Processor capabilities, which I
actually use and are suprisingly good.
- Chris
- Chris
On Fri, Aug 31, 2018 at 5:44 PM <commits at source.squeak.org> wrote:
>
> Chris Muller uploaded a new version of Morphic to project The Inbox:
> http://source.squeak.org/inbox/Morphic-cmm.1461.mcz
>
> ==================== Summary ====================
>
> Name: Morphic-cmm.1461
> Author: cmm
> Time: 31 August 2018, 5:43:21.798326 pm
> UUID: 6dc60589-e0cb-48b5-b7ef-45d11b88aca1
> Ancestors: Morphic-kfr.1460
>
> Provide access to the TextIndent attribute on the alignment menu.
>
> =============== Diff against Morphic-kfr.1460 ===============
>
> Item was changed:
> ----- Method: TextEditor>>changeAlignment (in category 'menu messages') -----
> changeAlignment
> + | options reply |
> + options := self existingIndentation
> + caseOf:
> + {[0]-> [ #('leftFlush' 'indented' 'centered' 'justified' 'rightFlush') ].
> + [1] -> [ #('leftFlush' 'indented more' 'centered' 'justified' 'rightFlush') ]}
> + otherwise: [ #('leftFlush' 'indented less' 'indented more' 'centered' 'justified' 'rightFlush') ].
> + reply := UIManager default chooseFrom: options values: options.
> + reply ifNil: [ ^ self ].
> - | aList reply |
> - aList := #(leftFlush centered justified rightFlush).
> - reply := UIManager default chooseFrom: aList values: aList.
> - reply ifNil:[^self].
> self setAlignment: reply.
> paragraph composeAll.
> self recomputeSelection.
> ^ true!
>
> Item was added:
> + ----- Method: TextEditor>>existingIndentation (in category 'private') -----
> + existingIndentation
> + ^ paragraph text indentationAmountAt: (self encompassLine: self selectionInterval)!
>
> Item was changed:
> ----- Method: TextEditor>>setAlignment: (in category 'menu messages') -----
> + setAlignment: selectionString
> + | attr interval |
> + attr := selectionString
> + caseOf:
> + { [ 'indented' ] -> [ TextIndent amount: 1 ].
> + [ 'indented more' ] -> [ TextIndent amount: self existingIndentation+1 ].
> + [ 'indented less' ] -> [ TextIndent amount: (self existingIndentation-1 max: 0) ]}
> + otherwise:
> + [ TextAlignment perform: selectionString asSymbol ].
> - setAlignment: aSymbol
> - | attr interval |
> - attr := TextAlignment perform: aSymbol.
> interval := self encompassLine: self selectionInterval.
> + paragraph
> - paragraph
> replaceFrom: interval first
> to: interval last
> with: ((paragraph text copyFrom: interval first to: interval last) addAttribute: attr)!
>
>
More information about the Squeak-dev
mailing list
|