Patrick Rein uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-pre.347.mcz
==================== Summary ====================
Name: MorphicExtras-pre.347
Author: pre
Time: 2 August 2023, 12:22:24.143105 pm
UUID: f1c0db45-d2f7-1a4c-b433-7f71b4a01688
Ancestors: MorphicExtras-mt.346
Fixes GH #80: 'preserver trash' preference ceased to work
The preference continued to work but the trash book morph pages were layouted incorrectly, as layouting new requires a fullBounds computation. Setting the position does not suffice anymore.
This might be a candidate for backporting to 6.0 as it breaks working interactively with morphs.
=============== Diff against MorphicExtras-mt.346 ===============
Item was changed:
----- Method: BookMorph>>insertPageLabel:morphs: (in category 'insert and delete') -----
insertPageLabel: labelString morphs: morphList
| m c labelAllowance |
self insertPage.
+ labelString
+ ifNotNil: [
+ m := labelString asMorph.
+ m
+ lock;
+ position: currentPage position + (((currentPage width - m width) // 2) @ 5).
+ currentPage addMorph: m.
+ labelAllowance := 40]
+ ifNil: [labelAllowance := 0].
- labelString ifNotNil:
- [m := labelString asMorph.
- m lock.
- m position: currentPage position + (((currentPage width - m width) // 2) @ 5).
- currentPage addMorph: m.
- labelAllowance := 40]
- ifNil:
- [labelAllowance := 0].
"use a column to align the given morphs, then add them to the page"
c := AlignmentMorph newColumn wrapCentering: #center; cellPositioning: #topCenter.
c addAllMorphs: morphList.
c position: currentPage position + (0 @ labelAllowance).
+ c fullBounds. "enforce layouting"
currentPage addAllMorphs: morphList.
^ currentPage
!