Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1264.mcz
==================== Summary ====================
Name: System-mt.1264
Author: mt
Time: 3 December 2021, 4:57:28.41885 pm
UUID: a00cc7d2-f63f-0e4e-9b57-78bfe4ef6edd
Ancestors: System-mt.1263
Minor cosmetic change. Sorry for the noise. Thanks to Jaromir (jar) for the tip! Change "</font><br>" to "<br></font>" to let the line break have the same font and thus a nice looking text layout.
=============== Diff against System-mt.1263 ===============
Item was changed:
----- Method: Utilities class>>setAuthorInitials (in category 'identification') -----
setAuthorInitials
"Put up a dialog allowing the user to specify the author's initials. Inform the user about collisions with known contributors. See SystemNavigation class >> #authors. "
| newInitials newName |
newInitials := Project uiManager
request: 'Please type your initials:' translated
initialAnswer: AuthorInitials.
newInitials ifEmpty: [^ self "No Change"].
(SystemNavigation authorsInverted at: newInitials ifPresent: [:existingNames |
newName := existingNames sorted joinSeparatedBy: '/'.
+ (self confirm: ('Hello, <b>{1}</b>!! :-)<br><br><font face="{4}" size="{5}">Our <a href="code://{3}">list of known contributors</{6}> associates the initials you<br>have entered with this name. If this is not you, please<br>consider alternative initials, preferably more than just <br>a few characters, to avoid collisions.<br></font><br>Do you want to use these author initials?<br><br> <b>{2}</b>' translated format: {
- (self confirm: ('Hello, <b>{1}</b>!! :-)<br><br><font face="{4}" size="{5}">Our <a href="code://{3}">list of known contributors</{6}> associates the initials you<br>have entered with this name. If this is not you, please<br>consider alternative initials, preferably more than just <br>a few characters, to avoid collisions.</font><br><br>Do you want to use these author initials?<br><br> <b>{2}</b>' translated format: {
newName ifNil: [newInitials].
newInitials.
'SystemReporter open model categoryAt: 1 put: true'.
Preferences standardButtonFont familyName.
Preferences standardButtonFont pointSize.
"mt: Avoid triggering the Windows Defender. See http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-December/217346…"
'a' }) asTextFromHtml) ] ifAbsent: [true])
ifTrue: [self authorInitials: newInitials].!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1811.mcz
==================== Summary ====================
Name: Morphic-mt.1811
Author: mt
Time: 3 December 2021, 4:51:11.88585 pm
UUID: 7dabb569-a037-7048-abe7-9eccf7032c45
Ancestors: Morphic-mt.1810
Fixes a nasty text undo bug, that (I think) occurred when interleaving normal edits with paste-from-clipboard.
Also makes #cancelSafely (i.e. CMD+L) more robust.
=============== Diff against Morphic-mt.1810 ===============
Item was changed:
----- Method: PluggableTextMorph>>cancelSafely (in category 'menu commands') -----
cancelSafely
"Cancel all edits by replacing the content with the original contents. Retain the undo history."
self handleEdit: [
+ textMorph editor replaceAllWith: self getText.
+ self selectInterval: self getSelection.
- textMorph editor
- selectAll;
- replaceSelectionWith: self getText;
- selectAt: 1.
self hasUnacceptedEdits: false].!
Item was changed:
----- Method: TextEditor>>closeTypeIn (in category 'typing support') -----
closeTypeIn
"See comment in openTypeIn. It is important to call closeTypeIn before executing
any non-typing key, making a new selection, etc. It is called automatically for
menu commands."
+ | begin start stop |
- | begin stop |
beginTypeInIndex ifNotNil:
[begin := beginTypeInIndex.
stop := self stopIndex.
+ start := self startIndex.
self history ifNotNil:
[:myHistory|
myHistory current
contentsAfter: (stop <= begin
ifTrue: [self nullText]
ifFalse: [paragraph text copyFrom: begin to: stop-1]);
+ intervalAfter: (start to: stop-1);
- intervalAfter: (stop to: stop-1);
intervalBetween: (stop < begin
ifTrue: [stop to: stop-1]
ifFalse: [begin to: stop-1]);
messageToUndo: (Message selector: #undoAndReselect);
messageToRedo: (Message selector: #redoAndReselect).
myHistory finishRemember].
beginTypeInIndex := nil]!
Item was changed:
----- Method: TextEditor>>replace:with:and: (in category 'undo') -----
replace: xoldInterval with: newText and: selectingBlock
"Replace the text in oldInterval with newText and execute selectingBlock to establish the new selection. Create an undoAndReselect:redoAndReselect: undoer to allow perfect undoing."
| undoInterval |
undoInterval := self selectionInterval.
+ undoInterval = xoldInterval ifFalse: [
+ self selectInvisiblyFrom: xoldInterval start to: xoldInterval stop].
- undoInterval = xoldInterval ifFalse: [self selectInterval: xoldInterval].
self zapSelectionWith: newText.
selectingBlock value.
otherInterval := self selectionInterval.!
Item was added:
+ ----- Method: TextEditor>>replaceAllWith: (in category 'undo') -----
+ replaceAllWith: aText
+ "Like #paste but replacing all contents with aText."
+
+ self closeTypeIn.
+
+ self selectInvisiblyFrom: 1 to: self text size.
+ self openTypeIn.
+ self zapSelectionWith: aText.
+ self closeTypeIn.!
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1810.mcz
==================== Summary ====================
Name: Morphic-mt.1810
Author: mt
Time: 3 December 2021, 2:37:31.007016 pm
UUID: 8cea0c6e-b1d5-5342-9864-7c7b2b8cb209
Ancestors: Morphic-mt.1809
Revise recent addition of that extra confirmation dialog for CMD+L (for cancel). Instead of that dialog, just make it a shortcut for "select all + replace with original contents + mark as unchanged". So, you can still hit CMD+Z to undo that operation if performed by mistake.
=============== Diff against Morphic-mt.1809 ===============
Item was added:
+ ----- Method: PluggableTextMorph>>cancelSafely (in category 'menu commands') -----
+ cancelSafely
+ "Cancel all edits by replacing the content with the original contents. Retain the undo history."
+
+ self handleEdit: [
+ textMorph editor
+ selectAll;
+ replaceSelectionWith: self getText;
+ selectAt: 1.
+ self hasUnacceptedEdits: false].!
Item was changed:
----- Method: TextEditor>>cancel (in category 'menu messages') -----
cancel
+ "Cancel the changes made so far to this text in a safe way, so that the user can undo this operation."
+
+ morph cancelEditsSafely.!
- "Cancel the changes made so far to this text"
-
- model okToChange
- ifTrue: [morph cancelEdits].!
Item was added:
+ ----- Method: TextMorphForEditView>>cancelEditsSafely (in category 'editing') -----
+ cancelEditsSafely
+ "Safe variation of #cancelEdits, where the undo history is not discarded and can thus be used to undo the cancel operation."
+
+ editView cancelSafely.!
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1263.mcz
==================== Summary ====================
Name: System-mt.1263
Author: mt
Time: 3 December 2021, 11:36:33.507016 am
UUID: 4ab14722-538d-3a4b-81a5-84ddac50ce97
Ancestors: System-mt.1262
Next iteration on information the user of conflicts with known author initials:
- Avoid suggesting "firstname.lastname" but just "a little longer" because we cannot guarantee the absence of name collisions.
- Only show the new dialog if there is any conflict.
- Do not clear the initials if you cancel the dialog.
=============== Diff against System-mt.1262 ===============
Item was changed:
----- Method: Utilities class>>setAuthorInitials (in category 'identification') -----
setAuthorInitials
"Put up a dialog allowing the user to specify the author's initials. Inform the user about collisions with known contributors. See SystemNavigation class >> #authors. "
| newInitials newName |
newInitials := Project uiManager
request: 'Please type your initials:' translated
initialAnswer: AuthorInitials.
+ newInitials ifEmpty: [^ self "No Change"].
+ (SystemNavigation authorsInverted at: newInitials ifPresent: [:existingNames |
+ newName := existingNames sorted joinSeparatedBy: '/'.
- SystemNavigation authorsInverted at: newInitials ifPresent: [:existingNames |
- newName := existingNames sorted joinSeparatedBy: '/'].
+ (self confirm: ('Hello, <b>{1}</b>!! :-)<br><br><font face="{4}" size="{5}">Our <a href="code://{3}">list of known contributors</{6}> associates the initials you<br>have entered with this name. If this is not you, please<br>consider alternative initials, preferably more than just <br>a few characters, to avoid collisions.</font><br><br>Do you want to use these author initials?<br><br> <b>{2}</b>' translated format: {
- (self confirm: ('Hello, <b>{1}</b>!! :-)<br><br><font face="{4}" size="{5}">Our <a href="code://{3}">list of known contributors</{6}> associates the initials you<br>have entered with this name. If this is not you, please<br>consider entering alternative initials, preferably in the<br>format <b>firstName.lastName</b> to avoid collisions.</font><br><br>Are these your author initials?<br><br> <b>{2}</b>' translated format: {
newName ifNil: [newInitials].
newInitials.
'SystemReporter open model categoryAt: 1 put: true'.
Preferences standardButtonFont familyName.
Preferences standardButtonFont pointSize.
"mt: Avoid triggering the Windows Defender. See http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-December/217346…"
+ 'a' }) asTextFromHtml) ] ifAbsent: [true])
+ ifTrue: [self authorInitials: newInitials].!
- 'a' }) asTextFromHtml)
-
- ifTrue: [self authorInitials: newInitials].!
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1262.mcz
==================== Summary ====================
Name: System-mt.1262
Author: mt
Time: 2 December 2021, 4:13:05.311715 pm
UUID: 777eacd2-3987-4b40-9431-85e1eb125748
Ancestors: System-dtl.1261
When the system asks you for your author intials, cross-check against the list of known contributors. If there is a match, greet the user and ask if the match is correct. Encourage the user to enter "firstname.lastname" as author initials to avoid conflicts with older initials.
Thanks to Christoph (ct) for the idea!
Try to derive #authorName from #authorInitials and vice versa using the list of known contributors.
Minor tweak of the text layout for the version's alpha-warning text.
=============== Diff against System-dtl.1261 ===============
Item was changed:
----- Method: SystemVersion>>description (in category 'printing') -----
description
+ self isAlpha ifTrue: [^ 'ALPHA. New features which are not stable yet may come in\with each update. Also, existing features might not work\reliably due to updates and related changes.' translated withCRs].
- self isAlpha ifTrue: [^ 'ALPHA. New features which are not stable yet may come in\with each update. Also, existing features might not work reliably\due to updates and related changes.' translated withCRs].
(self isFeatureFreeze and: [self isCodeFreeze not]) ifTrue: [^ 'FEATURE FREEZE. A new release is being prepared.\There will be only bugfixes, but no new features.' translated withCRs].
self isCodeFreeze ifTrue: [^ 'RELEASE CANDIDATE. The new release is almost ready.\There will be only bugfixes, if any.' translated withCRs].
self isRelease ifTrue: [^ ''].!
Item was changed:
----- Method: Utilities class>>authorInitials (in category 'identification') -----
authorInitials
+ "Maybe interactive. Answer the initials to be used to identify the current code author. Ask the user if the initials are empty. Try to derive the initials from the existing author name."
- "Answer the initials to be used to identify the current code author. "
+ (AuthorInitials isEmpty and: [AuthorName notEmpty])
+ ifTrue: [
+ SystemNavigation authors
+ at: AuthorName
+ ifPresent: [:authorInitials |
+ AuthorInitials := authorInitials anyOne. "Can be multiple matches"
+ self setAuthorInitials "Let the user confirm"]].
+
[AuthorInitials isEmpty] whileTrue: [self setAuthorInitials].
^ AuthorInitials!
Item was changed:
----- Method: Utilities class>>authorName (in category 'identification') -----
authorName
+ "Maybe interactive. Answer the full name to be used in various tools to identify the user/author. Ask the user if the name is empty. Try to derive the name from existing initials."
+
+ ^ AuthorName ifEmpty: [
+ AuthorInitials
+ ifEmpty: [self setAuthorName. AuthorName]
+ ifNotEmpty: [:initials |
+ SystemNavigation authorsInverted
+ at: initials
+ ifPresent: [:authorNames |
+ AuthorName := authorNames sorted joinSeparatedBy: '/'.
+ self setAuthorName. "Let the user confirm"]
+ ifAbsent: [self setAuthorName. AuthorName]]]!
- AuthorName ifEmpty: [self setAuthorName].
- ^ AuthorName!
Item was changed:
----- Method: Utilities class>>setAuthorInitials (in category 'identification') -----
setAuthorInitials
+ "Put up a dialog allowing the user to specify the author's initials. Inform the user about collisions with known contributors. See SystemNavigation class >> #authors. "
- "Put up a dialog allowing the user to specify the author's initials. "
+ | newInitials newName |
+ newInitials := Project uiManager
+ request: 'Please type your initials:' translated
+ initialAnswer: AuthorInitials.
+
+ SystemNavigation authorsInverted at: newInitials ifPresent: [:existingNames |
+ newName := existingNames sorted joinSeparatedBy: '/'].
+
+ (self confirm: ('Hello, <b>{1}</b>!! :-)<br><br><font face="{4}" size="{5}">Our <a href="code://{3}">list of known contributors</{6}> associates the initials you<br>have entered with this name. If this is not you, please<br>consider entering alternative initials, preferably in the<br>format <b>firstName.lastName</b> to avoid collisions.</font><br><br>Are these your author initials?<br><br> <b>{2}</b>' translated format: {
+ newName ifNil: [newInitials].
+ newInitials.
+ 'SystemReporter open model categoryAt: 1 put: true'.
+ Preferences standardButtonFont familyName.
+ Preferences standardButtonFont pointSize.
+ "mt: Avoid triggering the Windows Defender. See http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-December/217346…"
+ 'a' }) asTextFromHtml)
+
+ ifTrue: [self authorInitials: newInitials].!
- self authorInitials:
- (UIManager default request: 'Please type your initials: ' translated
- initialAnswer: AuthorInitials)!
Item was changed:
----- Method: Utilities class>>setAuthorName (in category 'identification') -----
setAuthorName
+
+ AuthorName := Project uiManager
+ request: 'Please type your name:' translated
+ initialAnswer: (AuthorName ifEmpty: ['Your Name' translated]).!
- AuthorName := UIManager default
- request: 'Please type your name:' translated
- initialAnswer: 'Your Name' translated!
Marcel Taeumel uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-mt.170.mcz
==================== Summary ====================
Name: MonticelloConfigurations-mt.170
Author: mt
Time: 2 December 2021, 4:09:23.873715 pm
UUID: c5da41de-7a1d-dc43-a5c7-47ac7387de1a
Ancestors: MonticelloConfigurations-mt.169
Minor cosmetic tweak in the update dialog.
Now that we can set the font size (and color) in dialogs, make the font for that ALPHA/BETA/RC-Warning smaller.
=============== Diff against MonticelloConfigurations-mt.169 ===============
Item was changed:
----- Method: MCMcmUpdater>>updateMessageFor: (in category 'private') -----
updateMessageFor: previousUpdateLevel
^ ('Update completed.<br><br>Version: {1}<br>Update: {3}<b>{2}</b><br><br>Url: <a href="{4}">{4}</{10}><br>Map: ''{5}''<br>CI status: <a href="{8}"><img src="{7}" /> {9}</{10}>{6}' translated format: {
SystemVersion current version.
SystemVersion current highestUpdate.
previousUpdateLevel = SystemVersion current highestUpdate
ifTrue: ['']
ifFalse: [previousUpdateLevel asString, ' -> '].
self repository.
MCMcmUpdater updateMapName.
SystemVersion current description ifEmpty: [''] ifNotEmpty: [:d |
+ '<br><br><font face="{2}" size="{3}">{1}</font>'
+ format: {
+ d copyReplaceAll: String cr with: '<br>'.
+ Preferences standardButtonFont familyName.
+ Preferences standardButtonFont pointSize.
+ }].
- '<br><br>', (d copyReplaceAll: String cr with: '<br>')].
SystemVersion current ciStatusBadgeUrl.
SystemVersion current ciStatusPageUrl.
SystemVersion current ciStatusTimestamp ifNil: ['(build inaccessible!!)' translated].
"mt: Avoid triggering the Windows Defender. See http://lists.squeakfoundation.org/pipermail/squeak-dev/2021-December/217346…"
'a'.
}) asTextFromHtml!