Levente Uzonyi uploaded a new version of WebClient-Core to project The Trunk:
http://source.squeak.org/trunk/WebClient-Core-ul.102.mcz
==================== Summary ====================
Name: WebClient-Core-ul.102
Author: ul
Time: 28 July 2016, 6:11:24.053224 pm
UUID: 41aff69b-9c82-4685-a1de-9d2b7b3dd30e
Ancestors: WebClient-Core-topa.101
Send #destroy to stream instead of its socket in WebClient >> #destroy, so that SecureSocketStream can properly release its SqueakSSL instance instead of leaking it.
=============== Diff against WebClient-Core-topa.101 ===============
Item was changed:
----- Method: WebClient>>destroy (in category 'initialize') -----
destroy
"Destroys the client"
stream ifNotNil:[
+ stream destroy.
- stream socket ifNotNil:[:s| s destroy].
stream := nil.
].
!
Levente Uzonyi uploaded a new version of GetText to project The Trunk:
http://source.squeak.org/trunk/GetText-ul.38.mcz
==================== Summary ====================
Name: GetText-ul.38
Author: ul
Time: 28 July 2016, 6:04:51.67039 pm
UUID: 391f6add-8779-418e-aca7-8b3f282fd463
Ancestors: GetText-mt.37
- fixed two erroneous underscore conversions
=============== Diff against GetText-mt.37 ===============
Item was changed:
----- Method: GetTextExporter>>dirNameCategory:translator: (in category 'exporting') -----
dirNameCategory: category translator: translator
"Answer a file name for the category. Make one if it is not exist yet.
Make template file name if translator is nil"
"self new dirNameCategory: 'Morphic-Scripting Support' translator:
NaturalLanguageTranslator current"
"self new dirNameCategory: 'Morphic-Scripting Support' translator: nil"
| safeCategory fileName dirName pathName |
+ safeCategory := category copyReplaceAll: ' ' with: '_'.
- safeCategory := category copyReplaceAll: ' ' with: ':='.
fileName := translator
ifNil: [safeCategory , '.pot']
ifNotNil: [translator localeID posixName , '.po'].
dirName := (safeCategory findTokens: '-')
inject: 'po'
into: [:aString :next | aString , FileDirectory slash , next].
pathName := dirName , FileDirectory slash , fileName.
(FileDirectory default directoryNamed: dirName) assureExistence.
^ pathName!
Item was changed:
----- Method: GetTextExporter>>exportBody:translator: (in category 'file out') -----
exportBody: literals translator: translator
"Export a gettext file body. literals is a dictionary of keyword ->
#(MethodReference...) in the textDomain."
"Build {sortKey. comment. msgid } to optimize sorting (getting category is
too slow).
If there are two or more methods for a mgsid, only first method
(alphabetical) is used for sorting."
| sorted msgid sortedMethods category sortKey comment triplets commentUnderLined |
triplets := literals associations
collect: [:assoc |
msgid := assoc key.
sortedMethods := assoc value asArray sort.
category := (Smalltalk at: sortedMethods first classSymbol) category asString.
sortKey := category , ',' , sortedMethods first printString , ',' , msgid.
comment := (sortedMethods
collect: [:each | each actualClass asString , '>>' , each methodSymbol asString])
inject: category
into: [:result :methodName | result , ',' , methodName].
+ "Replace white spaces to _ because gettext tool might
- "Replace white spaces to := because gettext tool might
replace a space to a new line some times, and it makes
difficult to take a diff."
+ commentUnderLined := comment copyReplaceAll: ' ' with: '_'.
- commentUnderLined := comment copyReplaceAll: ' ' with: ':='.
Array
with: sortKey
with: commentUnderLined
with: msgid].
"Sort and output the words"
sorted := triplets
sort: [:a :b | a first <= b first].
sorted
do: [:triplet |
comment := triplet second.
msgid := triplet third.
self exportRecordHeader: comment.
self
exportPhrase: msgid
translation: (self translationFor: msgid in: translator)]!
Tim Felgentreff uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-tfel.847.mcz
==================== Summary ====================
Name: System-tfel.847
Author: tfel
Time: 28 July 2016, 5:44:07.697262 pm
UUID: f9564962-6572-0f40-80ce-109dcd9dc1fb
Ancestors: System-tfel.846
avoid infinite recursion in Locale class>>localeChanged
only inform the current project of a locale change if that project is of the same class as the one we're currently in
=============== Diff against System-tfel.846 ===============
Item was changed:
----- Method: Locale class>>localeChanged (in category 'notification') -----
localeChanged
+ SystemNavigation default allBehaviorsDo: [:b |
+ b == self ifFalse: [b localeChanged]].!
- self class environment allBehaviorsDo: [:b | b localeChanged].!
Item was changed:
----- Method: Project class>>localeChanged (in category 'class initialization') -----
localeChanged
+ self current class == self
+ ifTrue: [self current localeChanged].!
- self current localeChanged!
Tim Felgentreff uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-tfel.215.mcz
==================== Summary ====================
Name: Multilingual-tfel.215
Author: tfel
Time: 28 July 2016, 5:42:27.421262 pm
UUID: eb0c9954-a8c7-1247-ad77-d0e95c015e9a
Ancestors: Multilingual-tpr.214
only run the language environment startup code for the current language platform when the locale changes. no need to run it for all platforms.
=============== Diff against Multilingual-tpr.214 ===============
Item was changed:
----- Method: LanguageEnvironment class>>localeChanged (in category 'class initialization') -----
localeChanged
+
+ (self currentPlatform class == self)
+ ifTrue: [self startUp].!
- self startUp!
Tim Felgentreff uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-tfel.178.mcz
==================== Summary ====================
Name: MorphicExtras-tfel.178
Author: tfel
Time: 28 July 2016, 5:40:57.037262 pm
UUID: 7f1a4b18-8035-ab4c-a0e6-f61404b53cd9
Ancestors: MorphicExtras-mt.177
use a default value for flaptabs if we don't have a referent
=============== Diff against MorphicExtras-mt.177 ===============
Item was changed:
----- Method: FlapTab>>referentThickness (in category 'access') -----
referentThickness
+ referent ifNil: [^ 32].
^ (self orientation == #horizontal)
ifTrue:
[referent height]
ifFalse:
[referent width]!
Tim Felgentreff uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-tfel.1206.mcz
==================== Summary ====================
Name: Morphic-tfel.1206
Author: tfel
Time: 28 July 2016, 5:39:34.138262 pm
UUID: 5576675a-2dc1-5a44-af3d-adccb4b2649e
Ancestors: Morphic-mt.1205
Use all translators to offer languages
=============== Diff against Morphic-mt.1205 ===============
Item was changed:
----- Method: MorphicProject>>chooseNaturalLanguage (in category 'language') -----
chooseNaturalLanguage
"Put up a menu allowing the user to choose the natural language for the project"
| aMenu availableLanguages |
aMenu := MenuMorph new defaultTarget: self.
aMenu addTitle: 'choose language' translated.
aMenu lastItem setBalloonText: 'This controls the human language in which tiles should be viewed. It is potentially extensible to be a true localization mechanism, but initially it only works in the classic tile scripting system. Each project has its own private language choice' translated.
Preferences noviceMode
ifFalse:[aMenu addStayUpItem].
+ availableLanguages := NaturalLanguageTranslator availableLanguageLocaleIDs
- availableLanguages := InternalTranslator availableLanguageLocaleIDs
asSortedCollection:[:x :y | x displayName < y displayName].
availableLanguages do:
[:localeID |
aMenu addUpdating: #stringForLanguageNameIs: target: Locale selector: #switchAndInstallFontToID: argumentList: {localeID}].
aMenu popUpInWorld
"Project current chooseNaturalLanguage"!
Tim Felgentreff uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-tfel.356.mcz
==================== Summary ====================
Name: Graphics-tfel.356
Author: tfel
Time: 28 July 2016, 5:07:03.284263 pm
UUID: 563a9dfa-5c42-b44a-8122-dbb5f553f5c4
Ancestors: Graphics-tfel.355
add a preference for bigger cursors (from etoys) and fix fallback for CursorWithAlpha for systems that do not support 32-bit cursors with alpha
=============== Diff against Graphics-tfel.355 ===============
Item was changed:
Form subclass: #Cursor
instanceVariableNames: ''
+ classVariableNames: 'BlankCursor BottomLeftCursor BottomRightCursor CornerCursor CrossHairCursor CurrentCursor DownCursor MarkerCursor MenuCursor MoveCursor NormalCursor OriginCursor ReadCursor ResizeLeftCursor ResizeTopCursor ResizeTopLeftCursor ResizeTopRightCursor RightArrowCursor SquareCursor TargetCursor TopLeftCursor TopRightCursor UpCursor UseBiggerCursors WaitCursor WebLinkCursor WriteCursor XeqCursor'
- classVariableNames: 'BlankCursor BottomLeftCursor BottomRightCursor CornerCursor CrossHairCursor CurrentCursor DownCursor MarkerCursor MenuCursor MoveCursor NormalCursor OriginCursor ReadCursor ResizeLeftCursor ResizeTopCursor ResizeTopLeftCursor ResizeTopRightCursor RightArrowCursor SquareCursor TargetCursor TopLeftCursor TopRightCursor UpCursor WaitCursor WebLinkCursor WriteCursor XeqCursor'
poolDictionaries: ''
category: 'Graphics-Display Objects'!
!Cursor commentStamp: '<historical>' prior: 0!
I am a Form that is a possible appearance for a mouse cursor. My size is always 16x16, ever since the original implementation on the Alto.
There are many examples available in the "current cursor" category of class methods. For example, "Cursor normal" and "Cursor wait". For example:
Cursor wait show
!
Item was changed:
----- Method: Cursor class>>currentCursor: (in category 'current cursor') -----
currentCursor: aCursor
"Make the instance of cursor, aCursor, be the current cursor. Display it.
Create an error if the argument is not a Cursor."
(aCursor isKindOf: self)
ifTrue: [CurrentCursor := aCursor.
+ self useBiggerCursors
+ ifTrue: [[^ aCursor asBigCursor beCursor]
+ on: Error do: ["fall through"]].
aCursor beCursor]
ifFalse: [self error: 'The new cursor must be an instance of class Cursor']!
Item was added:
+ ----- Method: Cursor class>>useBiggerCursors (in category 'preferences') -----
+ useBiggerCursors
+
+ <preference: 'Use bigger mouse cursors'
+ category: 'mouse'
+ description: 'If true, mouse cursors are scaled up'
+ type: #Boolean>
+ ^ UseBiggerCursors ifNil: [false]!
Item was added:
+ ----- Method: Cursor class>>useBiggerCursors: (in category 'preferences') -----
+ useBiggerCursors: aBool
+
+ UseBiggerCursors := aBool!
Item was added:
+ ----- Method: Cursor>>asBigCursor (in category 'converting') -----
+ asBigCursor
+ "Big cursors are 32 bits deep (ARGB premultiplied)"
+ depth = 32
+ ifFalse: [^self enlargedBy: 2].
+ ^self!
Item was added:
+ ----- Method: Cursor>>enlargedBy: (in category 'converting') -----
+ enlargedBy: scale
+ "Big cursors are 32 bits deep (ARGB premultiplied)"
+ | big |
+ scale = 1 ifTrue: [^self].
+ big := CursorWithAlpha extent: self extent * scale depth: 32.
+ (self asCursorForm magnifyBy: scale) displayOn: big.
+ big offset: (self offset - 0.5 * scale min: 0@0 max: big extent negated) asIntegerPoint.
+ big fallback: self.
+ ^big!
Item was added:
+ ----- Method: CursorWithAlpha>>beCursor (in category 'primitives') -----
+ beCursor
+ <primitive: 101>
+ self fallback beCursor!
Item was removed:
- ----- Method: CursorWithAlpha>>primBeCursor (in category 'primitives') -----
- primBeCursor
- <primitive: 101>
- self fallback primBeCursor!