[squeak-dev] The Trunk: EToys-tfel.214.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Aug 30 14:12:32 UTC 2016


Tim Felgentreff uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-tfel.214.mcz

==================== Summary ====================

Name: EToys-tfel.214
Author: tfel
Time: 30 August 2016, 4:11:08.66265 pm
UUID: 82953579-44cf-1e48-8d45-aebe7863dc63
Ancestors: EToys-tfel.213

update release builder and theme to use Squeak hierarchy

=============== Diff against EToys-tfel.213 ===============

Item was changed:
  SystemOrganization addCategory: #'Etoys-Buttons'!
  SystemOrganization addCategory: #'Etoys-CustomEvents'!
  SystemOrganization addCategory: #'Etoys-Experimental'!
  SystemOrganization addCategory: #'Etoys-Outliner'!
  SystemOrganization addCategory: #'Etoys-Protocols'!
  SystemOrganization addCategory: #'Etoys-Protocols-Type Vocabularies'!
  SystemOrganization addCategory: #'Etoys-Scripting'!
  SystemOrganization addCategory: #'Etoys-Scripting Support'!
  SystemOrganization addCategory: #'Etoys-Scripting Tiles'!
  SystemOrganization addCategory: #'Etoys-Squeakland-BroomMorphs-Base'!
  SystemOrganization addCategory: #'Etoys-Squeakland-BroomMorphs-Connectors'!
  SystemOrganization addCategory: #'Etoys-Squeakland-EToys-Kedama'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Buttons'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Calendar'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Debugger'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Help'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Input'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Scripting'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Scripting Support'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Scripting Tiles'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-SpeechBubbles'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Tile Scriptors'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-External'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-Text'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-Tools-Intersection'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-Tools-Simplification'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-Tools-Triangulation'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-AdditionalMorphs'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-Charts'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-Postscript Filters'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-WebCam'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-Widgets'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Basic'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Books'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Components'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Demo'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Experimental'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Games'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Games-Chess'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-GeeMail'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Kernel'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Mentoring'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Navigators'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-PartsBin'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-PDA'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Support'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Widgets'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Windows'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Worlds'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Multilingual-Languages'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Multilingual-Scanning'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Multilingual-TextConversion'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Formatter'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Forms'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Parser'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Parser Entities'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Tokenizer'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-MIME'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-TelNet WordNet'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-UI'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-Url'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Protocols-Type Vocabularies'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Sound-Interface'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Sound-Ogg'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Sound-Scores'!
  SystemOrganization addCategory: #'Etoys-Squeakland-ST80-Morphic'!
  SystemOrganization addCategory: #'Etoys-Squeakland-SUnit'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Sugar'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Applications'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Clipboard-Extended'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Compiler'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Exceptions Kernel'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Support'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tools-Changes'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tools-Explorer'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tools-File Contents Browser'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tools-Process Browser'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tweak-Kedama-ObjectVectors'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tweak-Kedama-ParseTreeTransformer'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tweak-Kedama-ParseTree-AttributeDefinition'!
  SystemOrganization addCategory: #'Etoys-Stacks'!
  SystemOrganization addCategory: #'Etoys-StarSqueak'!
  SystemOrganization addCategory: #'Etoys-Support'!
  SystemOrganization addCategory: #'Etoys-Tests'!
  SystemOrganization addCategory: #'Etoys-Tile Scriptors'!
  SystemOrganization addCategory: #'Etoys-Widgets'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Support'!
  SystemOrganization addCategory: #'Etoys-Squeakland-SISS-Serialization'!
  SystemOrganization addCategory: #'Etoys-OLPC-Display'!
  SystemOrganization addCategory: #'Etoys-ReleaseBuilder'!
+ SystemOrganization addCategory: #'Etoys-UserInterfaceTheme'!

Item was changed:
  ----- Method: Debugger>>buttonRowForPreDebugWindow: (in category '*Etoys-Squeakland-initialize') -----
  buttonRowForPreDebugWindow: aDebugWindow
  	"Answer a morph that will serve as the button row in a pre-debug window."
  
  	| aRow aButton quads aFont |
  	aRow := AlignmentMorph newRow hResizing: #spaceFill.
  	aRow beSticky.
  	aRow on: #mouseDown send: #yourself to: self.  "Avoid dragging window."
  	aRow addMorphBack: AlignmentMorph newVariableTransparentSpacer.
  	quads := OrderedCollection withAll: self preDebugButtonQuads.
  	((self interruptedContext selector == #doesNotUnderstand:) and:
  		[Preferences eToyFriendly not]) ifTrue:
  		[quads add: { 'Create'. #createMethod. #magenta. 'create the missing method' }].
  	aFont := Preferences eToyFriendly
  		ifFalse:
  			[Preferences standardButtonFont]
  		ifTrue:
  			[Preferences standardEToysButtonFont].
  	quads do:
  			[:quad |
  				aButton := SimpleButtonMorph new target: aDebugWindow.
  				aButton color: Color transparent; borderWidth: 1.
  				aButton actionSelector: quad second.
  				aButton label: quad first font: aFont.
  				aButton submorphs first color: (Color colorFrom: quad third).
  				aButton setBalloonText: quad fourth.
- 				Preferences alternativeWindowLook 
- 					ifTrue:[aButton borderWidth: 2; borderColor: #raised].
  				aRow addMorphBack: aButton.
  				aRow addMorphBack: AlignmentMorph newVariableTransparentSpacer].
  	^ aRow!

Item was added:
+ UserInterfaceTheme subclass: #EtoysTheme
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'Etoys-UserInterfaceTheme'!

Item was added:
+ ----- Method: EtoysTheme class>>create (in category 'instance creation') -----
+ create
+ 	"doIt: [self createDark apply.]"
+ 
+ 	| themeName |
+ 	themeName := 'Etoys'.
+ 	^ (self named: themeName) in: [:theme |
+ 		theme merge: (self named: 'Squeak') overwrite: true.
+ 		theme name: themeName.
+ 
+ 		theme set: #background for: #MorphicProject to: (SolidFillStyle color: (Color r: 0.9 g: 0.9 b: 1)).
+ 
+ 
+ 		theme
+ 			set: #standardListFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0);
+ 			set: #standardFlapFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: TextEmphasis bold emphasisCode);
+ 
+ 			set: #eToysButtonFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0);
+ 			set: #eToysFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: TextEmphasis bold emphasisCode);
+ 			set: #eToysCodeFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0);
+ 			set: #eToysTitleFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 32 emphasis: 0);
+ 			set: #paintBoxButtonFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 9 emphasis: 0);
+ 			set: #standardMenuFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0);
+ 			set: #windowTitleFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0);
+ 			set: #balloonHelpFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0);
+ 			set: #connectorsLabelFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0);
+ 			set: #standardCodeFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0);
+ 			set: #standardSystemFont to: (TTCFont familyName: 'BitstreamVeraSans' pointSize: 15 emphasis: 0).
+ 		theme]!

Item was changed:
  ----- Method: PDA>>openAsMorphIn: (in category 'initialization') -----
  openAsMorphIn: window  "PDA new openAsMorph openInWorld"
  	"Create a pluggable version of all the morphs for a Browser in Morphic"
  	| dragNDropFlag paneColor chooser |
  	window color: Color black.
  	paneColor := (Color r: 0.6 g: 1.0 b: 0.0).
  	window model: self.
- 	Preferences alternativeWindowLook ifTrue:[
- 		window color: Color white.
- 		window paneColor: paneColor].
  	dragNDropFlag := Preferences browseWithDragNDrop.
  	window addMorph: ((PluggableListMorph on: self list: #peopleListItems
  			selected: #peopleListIndex changeSelected: #peopleListIndex:
  			menu: #peopleMenu: keystroke: #peopleListKey:from:) enableDragNDrop: dragNDropFlag)
  		frame: (0 at 0 corner: 0.3 at 0.25).
  	window addMorph: ((chooser := PDAChoiceMorph new color: paneColor) contentsClipped: 'all';
  			target: self; actionSelector: #chooseFrom:categoryItem:; arguments: {chooser};
  			getItemsSelector: #categoryChoices)
  		frame: (0 at 0.25 corner: 0.3 at 0.3).
  	window addMorph: ((MonthMorph newWithModel: self) color: paneColor; extent: 148 at 109)
  		frame: (0.3 at 0 corner: 0.7 at 0.3).
  	window addMorph: (PDAClockMorph new color: paneColor;
  						faceColor: (Color r: 0.4 g: 0.8 b: 0.6))  "To match monthMorph"
  		frame: (0.7 at 0 corner: 1.0 at 0.3).
  
  	window addMorph: ((PluggableListMorph on: self list: #toDoListItems
  			selected: #toDoListIndex changeSelected: #toDoListIndex:
  			menu: #toDoMenu: keystroke: #toDoListKey:from:) enableDragNDrop: dragNDropFlag)
  		frame: (0 at 0.3 corner: 0.3 at 0.7).
  	window addMorph: ((PluggableListMorph on: self list: #scheduleListItems
  			selected: #scheduleListIndex changeSelected: #scheduleListIndex:
  			menu: #scheduleMenu: keystroke: #scheduleListKey:from:) enableDragNDrop: dragNDropFlag)
  		frame: (0.3 at 0.3 corner: 0.7 at 0.7).
  	window addMorph: ((PluggableListMorph on: self list: #notesListItems
  			selected: #notesListIndex changeSelected: #notesListIndex:
  			menu: #notesMenu: keystroke: #notesListKey:from:) enableDragNDrop: dragNDropFlag)
  		frame: (0.7 at 0.3 corner: 1 at 0.7).
  
  	window addMorph: (PluggableTextMorph on: self
  			text: #currentItemText accept: #acceptCurrentItemText:
  			readSelection: #currentItemSelection menu: #currentItemMenu:)
  		frame: (0 at 0.7 corner: 1 at 1).
+ 	window firstSubmorph color: paneColor.
- 	Preferences alternativeWindowLook ifFalse:[
- 		window firstSubmorph color: paneColor.
- 	].
  	window updatePaneColors.
  	window step.
  	^ window!

Item was added:
+ ----- Method: Preferences class>>chooseConnectorsLabelFont (in category '*Etoys-Squeakland-fonts') -----
+ chooseConnectorsLabelFont
+ 	"present a menu with the possible fonts for etoy textual code"
+ 
+ 	self
+ 		chooseFontWithPrompt: 'Choose the connectors label font' translated
+ 		andSendTo: self
+ 		withSelector: #setConnectorsLabelFont:
+ 		highlight: self connectorsLabelFont!

Item was added:
+ ----- Method: Preferences class>>connectorsLabelFont (in category '*Etoys-Squeakland-fonts') -----
+ connectorsLabelFont
+ 	"Answer the font to use in the etoy environment to view textual code."
+ 
+ 	^ (UserInterfaceTheme current get: #connectorsLabelFont)
+ 		ifNil: [TextStyle defaultFont]!

Item was changed:
  ----- Method: Preferences class>>eToysCodeFont (in category '*Etoys-Squeakland-fonts') -----
  eToysCodeFont
  	"Answer the font to use in the etoy environment to view textual code."
  
+ 	^ (UserInterfaceTheme current get: #eToysCodeFont)
+ 		ifNil: [TextStyle defaultFont]!
- 	^ Parameters at: #eToysCodeFont ifAbsentPut: self standardEToysFont!

Item was changed:
  ----- Method: Preferences class>>initializePreferencePanel:in: (in category '*Etoys-Squeakland-preferences panel') -----
  initializePreferencePanel: aPanel in: aPasteUpMorph
  	"Initialize the given Preferences panel. in the given pasteup, which is the top-level panel installed in the container window.  Also used to reset it after some change requires reformulation"
  
+ 	| tabbedPalette controlPage aColor aFont maxEntriesPerCategory tabsMorph anExtent  prefObjects |
- 	| tabbedPalette controlPage aColor aFont maxEntriesPerCategory tabsMorph anExtent  prefObjects cc |
  	aPasteUpMorph removeAllMorphs.
  
  	aFont := Preferences standardListFont.
  	aColor := aPanel defaultBackgroundColor.
  	tabbedPalette := TabbedPalette newSticky.
  	tabbedPalette dropEnabled: false.
  	(tabsMorph := tabbedPalette tabsMorph) color: aColor darker;
  		 highlightColor: Color red regularColor: Color brown darker darker.
  	tabbedPalette on: #mouseDown send: #yourself to: #().
  	maxEntriesPerCategory := 0.
  	self listOfCategories do: 
  		[:aCat | 
  			controlPage := AlignmentMorph newColumn beSticky color: aColor.
  			controlPage on: #mouseDown send: #yourself to: #().
  			controlPage dropEnabled: false.
- 			Preferences alternativeWindowLook ifTrue:
- 				[cc := Color transparent.
- 				controlPage color: cc].
  			controlPage borderColor: aColor;
  				 layoutInset: 4.
  			(prefObjects := self preferenceObjectsInCategory: aCat) do:
  				[:aPreference | | button |
+ 					button := aPreference representativeButtonWithColor: Color white inPanel: aPanel.
- 					button := aPreference representativeButtonWithColor: cc inPanel: aPanel.
  					button ifNotNil: [controlPage addMorphBack: button]].
  			controlPage setNameTo: aCat asString.
  			aCat = #?
  				ifTrue:	[aPanel addHelpItemsTo: controlPage].
  			tabbedPalette addTabFor: controlPage font: aFont.
  			aCat = 'search results' ifTrue:
  				[(tabbedPalette tabNamed: aCat) setBalloonText:
  					'Use the ? category to find preferences by keyword; the results of your search will show up here' translated].
  		maxEntriesPerCategory := maxEntriesPerCategory max: prefObjects size].
  	tabbedPalette selectTabNamed: '?'.
  	tabsMorph rowsNoWiderThan: aPasteUpMorph width.
  	aPasteUpMorph on: #mouseDown send: #yourself to: #().
  	anExtent := aPasteUpMorph width @ (490 max: (25 + tabsMorph height + (24 * maxEntriesPerCategory))).
  	aPasteUpMorph extent: anExtent.
  	aPasteUpMorph color: aColor.
  	aPasteUpMorph 	 addMorphBack: tabbedPalette.!

Item was added:
+ ----- Method: Preferences class>>setConnectorsLabelFont: (in category '*Etoys-Squeakland-fonts') -----
+ setConnectorsLabelFont: aFont
+ 	"change the font used on buttons in the eToys environment"
+ 
+ 	UserInterfaceTheme current
+ 		set: #connectorsLabelFont
+ 		to: aFont;
+ 		apply.!

Item was changed:
  ----- Method: Preferences class>>setEToysButtonFontTo: (in category '*Etoys-Squeakland-fonts') -----
  setEToysButtonFontTo: aFont
  	"change the font used on buttons in the eToys environment"
  
+ 	UserInterfaceTheme current
+ 		set: #eToysButtonFont
+ 		to: aFont;
+ 		apply.!
- 	Parameters at: #eToysButtonFont put: aFont!

Item was changed:
  ----- Method: Preferences class>>setEToysCodeFontTo: (in category '*Etoys-Squeakland-fonts') -----
  setEToysCodeFontTo: aFont 
  	"change the code font used in eToys environment"
  
+ 	UserInterfaceTheme current
+ 		set: #eToysCodeFont
+ 		to: aFont;
+ 		apply.!
- 	Parameters at: #eToysCodeFont put: aFont!

Item was changed:
  ----- Method: Preferences class>>standardEToysButtonFont (in category '*Etoys-Squeakland-fonts') -----
  standardEToysButtonFont
  	"Answer the font to be used on buttons in the eToys environment"
  
+ 	^ (UserInterfaceTheme current get: #eToysButtonFont)
+ 		ifNil: [TextStyle defaultFont]!
- 	^ Parameters at: #eToysButtonFont ifAbsentPut: [self standardButtonFont]!

Item was changed:
  ----- Method: Preferences class>>standardEToysCodeFont (in category '*Etoys-Squeakland-fonts') -----
  standardEToysCodeFont
  	"Answer the font to be used for textual code in the eToys environment"
  
+ 	^ (UserInterfaceTheme current get: #eToysCodeFont)
+ 		ifNil: [TextStyle defaultFont]!
- 	^ Parameters at: #eToysCodeFont  ifAbsentPut: [self standardEToysFont]!

Item was changed:
  ----- Method: PreferencesPanel>>findPreferencesMatching: (in category 'initialization') -----
  findPreferencesMatching: incomingTextOrString
  	"find all preferences matching incomingTextOrString"
  
+ 	| result aList aPalette controlPage |
- 	| result aList aPalette controlPage cc |
  	result := incomingTextOrString asString asLowercase.
  	result := result asLowercase withBlanksTrimmed.
  	result isEmptyOrNil ifTrue: [^ self].
  
  	aList := Preferences allPreferenceObjects select:
  		[:aPreference | 
  			(aPreference name includesSubstring: result caseSensitive: false) or:
  				[aPreference helpString includesSubstring: result caseSensitive: false]].
  	aPalette := (self containingWindow ifNil: [^ self]) findDeeplyA: TabbedPalette.
  	aPalette ifNil: [^ self].
  	aPalette selectTabNamed:  'search results'.
  	aPalette currentPage ifNil: [^ self].  "bkwd compat"
  	controlPage := aPalette currentPage.
  	controlPage removeAllMorphs.
  	controlPage addMorph: (StringMorph contents: ('Preferences matching "', self searchString, '"') font: Preferences standardEToysButtonFont).
- 	Preferences alternativeWindowLook ifTrue:[
- 		cc := Color transparent.
- 		controlPage color: cc].
  	aList := aList asSortedCollection:
  		[:a :b | a name < b name].
  	aList do:
  		[:aPreference | | button |
+ 			button := aPreference representativeButtonWithColor: Color white inPanel: self.
- 			button := aPreference representativeButtonWithColor: cc inPanel: self.
  			button ifNotNil: [controlPage addMorphBack: button]].
  	aPalette world startSteppingSubmorphsOf: aPalette!

Item was added:
+ ----- Method: QuickGuideMorph class>>cleanUp (in category 'as yet unclassified') -----
+ cleanUp
+ 
+ 	self indexPage: nil.!

Item was added:
+ ----- Method: ReleaseBuilderSqueakland class>>clearCaches (in category 'scripts') -----
+ clearCaches
+ 
+ 	ObjectScanner new. "clear ObjectScanner's class pool"
+ 	ExternalSettings registerClient: ServerDirectory.
+ 	#('Morphic-UserObjects' 'EToy-UserObjects' 'Morphic-Imported' 'UserObjects')
+ 		do: [:each | SystemOrganization removeSystemCategory: each].
+ 	super clearCaches.!

Item was added:
+ ----- Method: ReleaseBuilderSqueakland class>>configureDesktop (in category 'scripts') -----
+ configureDesktop
+ 
+ 	super configureDesktop.
+ 	self loadDefaultForms.
+ 	self setDisplayExtent: 1200 at 900.
+ 	EtoysTheme create apply.!

Item was added:
+ ----- Method: ReleaseBuilderSqueakland class>>prepareEnvironment (in category 'preparing') -----
+ prepareEnvironment
+ 	| directory entries projectNames |
+ 	super prepareEnvironment.
+ 	projectNames := #('Gallery' 'Tutorials' 'Home').
+ 	directory := FileDirectory on: Smalltalk imagePath.
+ 	entries := FileList2 projectOnlySelectionMethod: directory entries.
+ 	projectNames
+ 		do: [:projectName | (entries
+ 					anySatisfy: [:each | (Project parseProjectFileName: each first) first = projectName])
+ 				ifFalse: [^ self error: projectName , ' is not found']].
+ 	DeferredTask := [ProjectLoading openFromImagePath: 'Home'].!

Item was added:
+ ----- Method: ReleaseBuilderSqueakland class>>releaseRepository (in category 'accessing') -----
+ releaseRepository
+ 
+ 	^ super releaseRepository!

Item was added:
+ ----- Method: ReleaseBuilderSqueakland class>>setPreferences (in category 'scripts') -----
+ setPreferences
+ 
+ 	super setPreferences.
+ 	Preferences cambridge.
+ 	Preferences allPreferenceObjects do: [:each |
+ 		each defaultValue: each preferenceValue].
+ 
+ 	Preferences
+ 		disable: #alternativeWindowBoxesLook;
+ 		enable: #magicHalos;
+ 		enable: #mouseOverHalos;
+ 		enable: #roundedScrollBarLook;
+ 		enable: #roundedWindowCorners;
+ 		enable: #showAdvancedNavigatorButtons;
+ 		disable: #honorDesktopCmdKeys;
+ 		disable: #warnIfNoChangesFile;
+ 		disable: #warnIfNoSourcesFile;
+ 		enable: #unlimitedPaintArea;
+ 		enable: #fastDragWindowForMorphic;
+ 		enable: #noviceMode;
+ 		disable: #generalizedYellowButtonMenu;
+ 		disable: #showAdvancedNavigatorButtons;
+ 		disable: #signProjectFiles;
+ 		disable: #warnIfNoChangesFile;
+ 		disable: #warnIfChangesFileReadOnly;
+ 		disable: #warnIfNoSourcesFile.
+ 	Morph preferredCornerRadius: 8.
+ 	PluggableButtonMorph roundedButtonCorners: true.
+ 	FillInTheBlankMorph roundedDialogCorners: true.
+ 	SystemWindow roundedWindowCorners: true.
+ 	Preferences restoreDefaultFontsForSqueakland.
+ 	Cursor useBiggerCursors: true.
+ 	TrashCanMorph
+ 		slideDismissalsToTrash: true;
+ 		preserveTrash: true.
+ 	SugarNavigatorBar
+ 		showHideButton: false;
+ 		showSugarNavigator: true.!

Item was added:
+ ----- Method: ReleaseBuilderSqueakland class>>versionString (in category 'accessing') -----
+ versionString
+ 	"Result format is specified in SystemVersion."
+ 	^ 'Etoys{1}.{2}' format: {self releaseVersionMajor. self releaseVersionMinor}!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>buildInitialScreen (in category 'squeakland') -----
- buildInitialScreen
- 	"ReleaseBuilderSqueakland new buildInitialScreen"
- 
- 	QuickGuideMorph preloadIndexPage.
- 
- 	World
- 		submorphsDo: [:m | m delete].
- 	Flaps disableGlobalFlaps: false.
- 	Flaps enableEToyFlaps.
- 
- 	ProjectLoading loadFromImagePath: 'Tutorials'.
- 	ProjectLoading loadFromImagePath: 'Gallery'.
- 	ProjectLoading loadFromImagePath: 'Home'.
- 
- 	(World submorphs select: [:e | e isMemberOf: ProjectViewMorph]) do: [:e | e delete].
- 	Project current
- 		setThumbnail: (Project home ifNotNilDo: [:p | p thumbnail]).!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>checkCopyright (in category 'utilities') -----
- checkCopyright
- 	| inNotice inImage inFile dir |
- 	dir := FileDirectory on: Smalltalk imagePath.
- 	[inFile := (dir readOnlyFileNamed: 'NOTICE') wantsLineEndConversion: true; contentsOfEntireFile]
- 		on: FileDoesNotExistException do: [:ex |	
- 			dir = FileDirectory default
- 				ifTrue: [dir := dir containingDirectory. ex retry]
- 				ifFalse: [self error: 'NOTICE file not found']].
- 	inFile = Utilities copyrightNotice ifFalse: [self error: 'NOTICE file does not match image'].
- 	inNotice := ((Utilities copyrightNotice findTokens: Character cr)
- 		select: [:s | s includesSubString: '(c)'])
- 		collect: [:s | s withBlanksTrimmed].
- 	inNotice := inNotice atAll: #(1 4 5).
- 	inImage := Smalltalk copyright findTokens: Character cr.
- 	inNotice = inImage ifFalse: [self error: 'Copyright declarations do not match'].!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>cleanUpChanges (in category 'utilities') -----
- cleanUpChanges
- 	"Clean up the change sets"
- 
- 	"ReleaseBuilder new cleanUpChanges"
- 	
- 	| projectChangeSetNames |
- 
- 	"Delete all changesets except those currently used by existing projects."
- 	projectChangeSetNames := Project allSubInstances collect: [:proj | proj changeSet name].
- 	ChangeSorter removeChangeSetsNamedSuchThat:
- 		[:cs | (projectChangeSetNames includes: cs) not].
- !

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>cleanUpEtoys (in category 'utilities') -----
- cleanUpEtoys
- 	"ReleaseBuilder new cleanUpEtoys"
- 
- 
- 	StandardScriptingSystem removeUnreferencedPlayers.
- 	self class loadDefaultForms.
- 	Project removeAllButCurrent.
- 
- 	#('Morphic-UserObjects' 'EToy-UserObjects' 'Morphic-Imported' 'UserObjects')
- 		do: [:each | SystemOrganization removeSystemCategory: each]!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>cleanupForSqueakland (in category 'squeakland') -----
- cleanupForSqueakland
- 	"Perform various image cleanups in preparation for making a Squeakland OLPC image."
- 	"ReleaseBuilderSqueakland new cleanupForSqueakland"
- 	
- 	self
- 		initialCleanup;
- 		installPreferences;
- 		finalStripping;
- 		installReleaseSpecifics;
- 		finalCleanup.
- 	OLPCVirtualScreen virtualScreenExtent: nil.
- 	Display isVirtualScreen ifFalse: [
- 		OLPCVirtualScreen install
- 	].
- 	Display newDepth: 32.
- 	Project current displayDepth: 32.
- 	Vocabulary initialize.
- 	PartsBin  rebuildIconsWithProgress.
- !

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>finalCleanup (in category 'utilities') -----
- finalCleanup
- 	"ReleaseBuilderSqueakland new finalCleanup"
- 
- 	self class deleteAllWindows.
- 	self class setDisplayExtent: 1200 at 900.
- 
- 	"Smalltalk condenseChanges."
- 	Preferences disable: #warnIfNoChangesFile.
- 	Preferences disable: #warnIfChangesFileReadOnly.
- 	Preferences disable: #warnIfNoSourcesFile.
- 	Smalltalk zapAllOtherProjects.
- 	Smalltalk forgetDoIts.
- 
- 	DataStream initialize.
- 	Behavior flushObsoleteSubclasses.
- 
- 	"The pointer to currentMethod is not realy needed (anybody care to fix this) and often holds on to obsolete bindings"
- 	MethodChangeRecord allInstancesDo: [:each | each noteNewMethod: nil].
- 
- 	self cleanUpEtoys.
- 	SmalltalkImage current fixObsoleteReferences.
- 
- 	self cleanUpChanges.
- 	ChangeSet current clear.
- 	ChangeSet current name: 'Unnamed1'.
- 	
- 	Smalltalk flushClassNameCache.
- 	3 timesRepeat: [
- 		Smalltalk garbageCollect.
- 		Symbol condenseNewSymbols.
- 	].!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>finalStripping (in category 'utilities') -----
- finalStripping
- 	"ReleaseBuilderSqueakland new finalStripping"
- 
- 	#(#Helvetica #Palatino #Courier #ComicSansMS )
- 		do: [:n | TextConstants
- 				removeKey: n
- 				ifAbsent: []].
- 	QuickGuideMorph indexPage: nil.
- 	Smalltalk
- 		at: #Player
- 		ifPresent: [:superCls | superCls
- 				allSubclassesDo: [:cls | 
- 					cls isSystemDefined
- 						ifFalse: [cls removeFromSystem].
- 					cls := nil]].
- 	Smalltalk garbageCollect.
- 	SystemOrganization removeEmptyCategories.
- !

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>fixObsoleteReferences (in category 'utilities') -----
- fixObsoleteReferences
- 	"ReleaseBuilder new fixObsoleteReferences"
- 
- 	| informee obsoleteBindings obsName realName realClass |
- 	Preference allInstances do: [:each | 
- 		informee := each instVarNamed: #changeInformee.
- 		((informee isKindOf: Behavior)
- 			and: [informee isObsolete])
- 			ifTrue: [
- 				Transcript show: each name; cr.
- 				each instVarNamed: #changeInformee put: (Smalltalk at: (informee name copyReplaceAll: 'AnObsolete' with: '') asSymbol)]].
-  
- 	CompiledMethod allInstances do: [:method |
- 		obsoleteBindings := method literals select: [:literal |
- 			literal isVariableBinding
- 				and: [literal value isBehavior]
- 				and: [literal value isObsolete]].
- 		obsoleteBindings do: [:binding |
- 			obsName := binding value name.
- 			Transcript show: obsName; cr.
- 			realName := obsName copyReplaceAll: 'AnObsolete' with: ''.
- 			realClass := Smalltalk at: realName asSymbol ifAbsent: [UndefinedObject].
- 			binding isSpecialWriteBinding
- 				ifTrue: [binding privateSetKey: binding key value: realClass]
- 				ifFalse: [binding key: binding key value: realClass]]].
- 
- 
- 	Behavior flushObsoleteSubclasses.
- 	Smalltalk garbageCollect; garbageCollect.
- 	SystemNavigation default obsoleteBehaviors size > 0
- 		ifTrue: [SystemNavigation default inspect]!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>initialCleanup (in category 'utilities') -----
- initialCleanup
- 	"ReleaseBuilder new initialCleanup"
- 
- 	Browser initialize.
- 	ChangeSorter removeChangeSetsNamedSuchThat:
- 		[:cs| cs name ~= ChangeSet current name].
- 
- 	"Perform various image cleanups in preparation for making a Squeak gamma release candidate image."
- 
- 	Undeclared removeUnreferencedKeys.
- 	StandardScriptingSystem initialize.
- 	Object reInitializeDependentsFields.
- 
- 	"(Object classPool at: #DependentsFields) size > 1 ifTrue: [self error:'Still have dependents']."
- 	"Undeclared isEmpty ifFalse: [self error:'Please clean out Undeclared']."
- 
- 	Browser initialize.
- 	ObjectScanner new. "clear ObjectScanner's class pool"
- 	
- 	self cleanUpChanges.
- 	ChangeSet current clear.
- 	ChangeSet current name: 'Unnamed1'.
- 	Smalltalk garbageCollect.
- 
- 	"Reinitialize DataStream; it may hold on to some zapped entitities"
- 	DataStream initialize.
- 
- 	Smalltalk garbageCollect.
- 	ScheduledControllers := nil.
- 	Smalltalk garbageCollect.
- 	
- 	SMSqueakMap default purge.!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>installPreferences (in category 'utilities') -----
- installPreferences
- 	"Install desired preferences for the release."
- 	"self new installPreferences"
- 	| th |
- 	Preferences cambridge.
- 	Preferences allPreferenceObjects do: [:each |
- 		each defaultValue: each preferenceValue].
- 	th := UserInterfaceTheme named: 'Squeak'.
- 	MorphicProject defaultFill: (SolidFillStyle color: (Color r: 0.9 g: 0.9 b: 1)).
- 	th set: #background for: #MorphicProject to: MorphicProject defaultFill.
- 	UserInterfaceTheme current: th.
- 	ActiveWorld fillStyle: MorphicProject defaultFill.
- 	"ActiveWorld removeProperty: #hasCustomBackground."
- 
- 	Preferences
- 		disable: #alternativeWindowBoxesLook;
- 		enable: #magicHalos;
- 		enable: #mouseOverHalos;
- 		enable: #roundedScrollBarLook;
- 		enable: #roundedWindowCorners;
- 		enable: #showAdvancedNavigatorButtons;
- 		disable: #honorDesktopCmdKeys;
- 		disable: #warnIfNoChangesFile;
- 		disable: #warnIfNoSourcesFile;
- 		enable: #unlimitedPaintArea;
- 		enable: #fastDragWindowForMorphic;
- 		enable: #noviceMode;
- 		disable: #generalizedYellowButtonMenu;
- 		disable: #showAdvancedNavigatorButtons;
- 		disable: #signProjectFiles.
- 	Morph preferredCornerRadius: 8.
- 	PluggableButtonMorph roundedButtonCorners: true.
- 	FillInTheBlankMorph roundedDialogCorners: true.
- 	SystemWindow roundedWindowCorners: true.
- 	Preferences restoreDefaultFontsForSqueakland.
- 	Cursor useBiggerCursors: true.
- 	TrashCanMorph
- 		slideDismissalsToTrash: true;
- 		preserveTrash: true.
- 	SugarNavigatorBar
- 		showHideButton: false;
- 		showSugarNavigator: true.
- 
- 	"Make fonts larger and the image thus more friendly"
- 	"Preferences restoreDefaultFonts.
- 	#(BalloonHelp Button Code HaloLabel List Menu System) do: [:fnt |
- 		| standardFont |
- 		standardFont := Preferences perform: ('standard', fnt, 'Font') asSymbol.
- 		Preferences
- 			perform: ('set', fnt, 'FontTo:') asSymbol
- 			with: (standardFont textStyle fontOfPointSize: standardFont pointSize + 3)].
- 	Preferences setWindowTitleFontTo: (Preferences standardSystemFont textStyle fontOfPointSize: Preferences standardSystemFont pointSize)."!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>installReleaseSpecifics (in category 'utilities') -----
- installReleaseSpecifics
- 	"ReleaseBuilderSqueakland new installReleaseSpecifics"
- 
- 	ExternalSettings registerClient: ServerDirectory.!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>installVersionInfo (in category 'utilities') -----
- installVersionInfo
- 	"ReleaseBuilderSqueakland new installVersionInfo"
- 
- 	| newVersion |
- "	highestUpdate := SystemVersion current highestUpdate.
- 	(self confirm: 'Reset highest update (' , highestUpdate printString , ')?')
- 		ifTrue: [SystemVersion current highestUpdate: 0].
- "
- 	newVersion := SystemVersion current version copyReplaceAll: 'Squeak' with: 'Etoys'.
- 	(newVersion includesSubString: '5.1') ifTrue: ["this can go away if we release 6.0"
- 		newVersion := newVersion copyReplaceAll: '5.1' with: '6.0'.
- 		(newVersion includesSubString: 'beta') ifFalse: [
- 			newVersion := newVersion copyReplaceAll: '6.0' with: '6.0beta']].
- 	SystemVersion newVersion: newVersion.
- 	"self inform: 'System version is now:', String cr, SystemVersion current asString"!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>makeSqueaklandRelease (in category 'squeakland') -----
- makeSqueaklandRelease
- 	"self new makeSqueaklandRelease"
- 
- 	self 
- 		makeSqueaklandReleasePhasePrepare; 		makeSqueaklandReleasePhaseStripping; 		makeSqueaklandReleasePhaseFinalSettings; 		makeSqueaklandReleasePhaseCleanup!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>makeSqueaklandReleasePhaseCleanup (in category 'squeakland') -----
- makeSqueaklandReleasePhaseCleanup
- 	"ReleaseBuilder new makeSqueaklandReleasePhaseCleanup"
- 
- 	Browser initialize.
- 	ChangeSorter 
- 		removeChangeSetsNamedSuchThat: [:cs | cs name ~= ChangeSet current name].
- 	ChangeSet current clear.
- 	ChangeSet current name: 'Unnamed1'.
- 	Smalltalk garbageCollect.
- 	"Reinitialize DataStream; it may hold on to some zapped entitities"
- 	DataStream initialize.
- 	"Remove existing player references"
- 	References keys do: [:k | References removeKey: k].
- 	Smalltalk garbageCollect.
- 	ScheduledControllers := nil.
- 	Behavior flushObsoleteSubclasses.
- 	Smalltalk
- 		garbageCollect;
- 		garbageCollect.
- 	SystemNavigation default obsoleteBehaviors isEmpty 
- 		ifFalse: [self inform: 'Still have obsolete behaviors!!'].
- 
- 	"Reinitialize DataStream; it may hold on to some zapped entitities"
- 	DataStream initialize.
- 	Smalltalk fixObsoleteReferences.
- 	"Smalltalk abandonTempNames."
- 	Smalltalk zapAllOtherProjects.
- 	Smalltalk forgetDoIts.
- 	Smalltalk flushClassNameCache.
- 	3 timesRepeat: 
- 			[Smalltalk garbageCollect.
- 			Symbol compactSymbolTable]!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>makeSqueaklandReleasePhaseFinalSettings (in category 'squeakland') -----
- makeSqueaklandReleasePhaseFinalSettings
- 	"ReleaseBuilder new makeSqueaklandReleasePhaseFinalSettings"
- 
- 	| serverName serverURL serverDir updateServer highestUpdate newVersion |
- 
- 	"ProjectLauncher splashMorph: (FileDirectory default readOnlyFileNamed: 'scripts\SqueaklandSplash.morph') fileInObjectAndCode."
- 
- 	"Dump all morphs so we don't hold onto anything"
- 	"World submorphsDo:[:m| m delete]."
- 
- 	#(
- 		(honorDesktopCmdKeys false)
- 		(warnIfNoChangesFile false)
- 		(warnIfNoSourcesFile false)
- 		(showDirectionForSketches true)
- 		(menuColorFromWorld false)
- 		(unlimitedPaintArea true)
- 		(useGlobalFlaps false)
- 		(mvcProjectsAllowed false)
- 		(projectViewsInWindows false)
- 		(automaticKeyGeneration true)
- 		(securityChecksEnabled true)
- 		(showSecurityStatus false)
- 		(startInUntrustedDirectory true)
- 		(warnAboutInsecureContent false)
- 		(promptForUpdateServer false)
- 		(fastDragWindowForMorphic false)
- 
- 		(externalServerDefsOnly true)
- 		(expandedFormat false)
- 		(allowCelesteTell false)
- 		(eToyFriendly true)
- 		(eToyLoginEnabled true)
- 		(magicHalos true)
- 		(mouseOverHalos true)
- 		(biggerHandles false)
- 		(selectiveHalos true)
- 		(includeSoundControlInNavigator true)
- 		(readDocumentAtStartup true)
- 		(preserveTrash true)
- 		(slideDismissalsToTrash true)
- 
- 	) do:[:spec|
- 		Preferences setPreference: spec first toValue: spec last].
- 	"Workaround for bug"
- 	Preferences enable: #readDocumentAtStartup.
- 
- 	World color: (Color r: 0.9 g: 0.9 b: 1.0).
- 
- 	"Clear all server entries"
- 	ServerDirectory serverNames do: [:each | ServerDirectory removeServerNamed: each].
- 	SystemVersion current resetHighestUpdate.
- 
- 	"Add the squeakalpha update stream"
- 	serverName := 'Squeakalpha'.
- 	serverURL := 'squeakalpha.org'.
- 	serverDir := serverURL , '/'.
- 
- 	updateServer := ServerDirectory new.
- 	updateServer
- 		server: serverURL;
- 		directory: 'updates/';
- 		altUrl: serverDir;
- 		user: 'sqland';
- 		password: nil.
- 	Utilities updateUrlLists addFirst: {serverName. {serverDir. }.}.
- 
- 	"Add the squeakland update stream"
- 	serverName := 'Squeakland'.
- 	serverURL := 'squeakland.org'.
- 	serverDir := serverURL , '/'.
- 
- 	updateServer := ServerDirectory new.
- 	updateServer
- 		server: serverURL;
- 		directory: 'public_html/updates/';
- 		altUrl: serverDir.
- 	Utilities updateUrlLists addFirst: {serverName. {serverDir. }.}.
- 
- 	highestUpdate := SystemVersion current highestUpdate.
- 	(self confirm: 'Reset highest update (' , highestUpdate printString , ')?')
- 		ifTrue: [SystemVersion current highestUpdate: 0].
- 
- 	newVersion := FillInTheBlank request: 'New version designation:' initialAnswer: 'Squeakland 3.8.' , highestUpdate printString. 
- 	SystemVersion newVersion: newVersion.
- 	(self confirm: SystemVersion current asString, '
- Is this the correct version designation?
- If not, choose no, and fix it.') ifFalse: [^ self].
- !

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>makeSqueaklandReleasePhasePrepare (in category 'squeakland') -----
- makeSqueaklandReleasePhasePrepare
- 	"ReleaseBuilder new makeSqueaklandReleasePhasePrepare"
- 
- 	Undeclared removeUnreferencedKeys.
- 	StandardScriptingSystem initialize.
- 	Preferences initialize.
- 	"(Object classPool at: #DependentsFields) size > 1 ifTrue: [self error:'Still have dependents']."
- 	"Undeclared isEmpty ifFalse: [self error:'Please clean out Undeclared']."
- 
- 	"Dump all projects"
- 	Project allSubInstancesDo:[:prj| prj == Project current ifFalse:[Project deletingProject: prj]].
- 
- 	"Set new look so we don't need older fonts later"
- 	"StandardScriptingSystem applyNewEToyLook."
- 
- 	Browser initialize.
- 	ScriptingSystem deletePrivateGraphics.
- 	ChangeSorter removeChangeSetsNamedSuchThat:
- 		[:cs| cs name ~= ChangeSet current name].
- 	ChangeSet current clear.
- 	ChangeSet current name: 'Unnamed1'.
- 	Smalltalk garbageCollect.
- 	"Reinitialize DataStream; it may hold on to some zapped entitities"
- 	DataStream initialize.
- 	"Remove existing player references"
- 	References keys do:[:k| References removeKey: k].
- 
- 	Smalltalk garbageCollect.
- 	ScheduledControllers := nil.
- 	Smalltalk garbageCollect.
- !

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>makeSqueaklandReleasePhaseStripping (in category 'squeakland') -----
- makeSqueaklandReleasePhaseStripping
- 	"ReleaseBuilder new makeSqueaklandReleasePhaseStripping"
- 
- 	#(#Helvetica #Palatino #Courier #ComicSansMS )
- 		do: [:n | TextConstants
- 				removeKey: n
- 				ifAbsent: []].
- 	Smalltalk
- 		at: #Player
- 		ifPresent: [:superCls | superCls
- 				allSubclassesDo: [:cls | 
- 					cls isSystemDefined
- 						ifFalse: [cls removeFromSystem].
- 					cls := nil]].
- 	Smalltalk garbageCollect.
- 	"Smalltalk discardFFI; discardSUnit; discardSpeech; yourself."
- 	"discardMVC;"
- 	SystemOrganization removeEmptyCategories.
- 	Smalltalk garbageCollect.
- 	ScheduledControllers := nil.
- 	Behavior flushObsoleteSubclasses.
- 	Smalltalk garbageCollect; garbageCollect.
- 	DataStream initialize.
- 	Smalltalk fixObsoleteReferences!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>prepareReleaseImage (in category 'utilities') -----
- prepareReleaseImage
- 	"Perform various image cleanups in preparation for making a Squeak gamma release candidate image."
- 	"ReleaseBuilder new prepareReleaseImage"
- 	
- 	Utilities authorInitialsPerSe ifNotEmpty: [
- 		(self confirm: 'Are you sure you want to prepare a release image?
- This will perform several irreversible cleanups on this image.')
- 			ifFalse: [^ self]].
- 
- 	self
- 		initialCleanup;
- 		installPreferences;
- 		finalStripping;
- 		installReleaseSpecifics;
- 		finalCleanup;
- 		installVersionInfo.
- 
- 	DeferredTask := [ProjectLoading openFromImagePath: 'Home'].!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>setupServerDirectoryForSqueakland (in category 'squeakland') -----
- setupServerDirectoryForSqueakland
- 
- 	| d |
- "
- 	ReleaseBuilderSqueakland new setupServerDirectoryForSqueakland
- "
- 	Utilities authorName: nil.
- 
- 	d := (Smalltalk classNamed: 'DAVMultiUserServerDirectory') on: 'http://content.squeakland.org/showcase/'.
- 	d altUrl: 'http://content.squeakland.org/showcase/'.
- 	d moniker: 'My Squeakland'.
- 	d acceptsUploads: true.
- 	d useDefaultAccount: true.
- 	d origDirectory: '/showcase'.
- 	d setupSelector: #setupPersonalDirectory:.
- 	ServerDirectory inImageServers at: 'My Squeakland' put: d.
- 
- 	d := (Smalltalk classNamed: 'DAVMultiUserServerDirectory') on: 'http://content.squeakland.org/showcase/'.
- 	d altUrl: 'http://content.squeakland.org/showcase/'.
- 	d moniker: 'Squeakland Showcase'.
- 	d user: 'etoys'.
- 	d useDefaultAccount: true.
- 	d acceptsUploads: false.
- 	d instVarNamed: 'passwordHolder' put: 'kaeuqs'.
- 	ServerDirectory inImageServers at: 'Squeakland Showcase' put: d.
- 	EtoysUtilities loggedIn: false.
- 
- !

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>setupUpdateStreamForSqueakland (in category 'squeakland') -----
- setupUpdateStreamForSqueakland
- 
- 	| base url d |
- 	base := 'etoys.squeak.org/'.
- 	url := 'http://', base, 'updates'.
- 	d := (Smalltalk classNamed: 'DAVMultiUserServerDirectory') on: url.
- 	d altUrl: url.
- 	d moniker: 'Etoys Updates'.
- 	d groupName: 'etoys'.
- 	Utilities classPool at: #UpdateUrlLists put: nil.
- 	ServerDirectory inImageServers keysDo: [:k | ServerDirectory inImageServers removeKey: k].
- 	ServerDirectory inImageServers at: d moniker put: d.
- 	Utilities updateUrlLists add: {d moniker. {base}}.
- 
- 	"SystemVersion newVersion: 'etoys4.1'."
- 	"SystemVersion current resetHighestUpdate."
- !

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>testPrerequired (in category 'squeakland') -----
- testPrerequired
- 	| directory entries projectNames |
- 	projectNames := #('Gallery' 'Tutorials' 'Home').
- 	directory := FileDirectory on: Smalltalk imagePath.
- 	entries := FileList2 projectOnlySelectionMethod: directory entries.
- 	projectNames
- 		do: [:projectName | (entries
- 					anySatisfy: [:each | (Project parseProjectFileName: each first) first = projectName])
- 				ifFalse: [^ self error: projectName , ' is not found']].
- 	self checkCopyright.
- 	"Test if the screen resolution is correct"
- 	DisplayScreen actualScreenSize = (800 @ 600)
- 		ifFalse: [^ self error: 'The Etoys window be 800 @ 600'].
- 	Display extent = (1200 @ 900)
- 		ifFalse: [^ self error: 'The virtual screen extent should be 1200 @ 900'].
- !

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>updateAll (in category 'utilities') -----
- updateAll
- 	| logFile logWindow |
- 	logWindow := Transcript openLabel: self name.
- 	Utilities updateFromServer.
- 	Transcript cr; show: '-----'.
- 	Transcript cr; show: SmalltalkImage current systemInformationString.
- 	logFile := FileDirectory default forceNewFileNamed: self name , '.log'.
- 	[logFile nextPutAll: logWindow contents text]
- 		ensure: [logFile close]!

Item was removed:
- ----- Method: ReleaseBuilderSqueakland>>updateGettext (in category 'squeakland') -----
- updateGettext
- 	"ReleaseBuilderSqueakland new updateGettext"
- 	"Export gettext template and import all translation in po/"
- 	GetTextExporter exportTemplate.
- 	GetTextImporter importAll.!

Item was removed:
- ----- Method: SystemDictionary>>makeSqueaklandReleasePhaseCleanup (in category '*Etoys-Squeakland-squeakland') -----
- makeSqueaklandReleasePhaseCleanup
- 	"Smalltalk makeSqueaklandReleasePhaseCleanup"
- 
- 	Browser initialize.
- 	ChangeSorter removeChangeSetsNamedSuchThat:
- 		[:cs| cs name ~= ChangeSet current name].
- 	ChangeSet current clear.
- 	ChangeSet current name: 'Unnamed' translated , '1'.
- 	Smalltalk garbageCollect.
- 	"Reinitialize DataStream; it may hold on to some zapped entitities"
- 	DataStream initialize.
- 	"Remove existing player references"
- 	References keys do:[:k| References removeKey: k].
- 
- 	Smalltalk garbageCollect.
- 	ScheduledControllers := nil.
- 	Behavior flushObsoleteSubclasses.
- 	Smalltalk garbageCollect; garbageCollect.
- 	Smalltalk obsoleteBehaviors isEmpty ifFalse:[self error:'Still have obsolete behaviors'].
- 
- 	"Reinitialize DataStream; it may hold on to some zapped entitities"
- 	DataStream initialize.
- 	Smalltalk fixObsoleteReferences.
- 	Smalltalk abandonTempNames.
- 	Smalltalk zapAllOtherProjects.
- 	Smalltalk forgetDoIts.
- 	Smalltalk flushClassNameCache.
- 	3 timesRepeat: [
- 		Smalltalk garbageCollect.
- 		Symbol compactSymbolTable.
- 	].
- !



More information about the Squeak-dev mailing list