The Trunk: EToys-tfel.214.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: EToys-tfel.214.mcz

commits-2
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@0 corner: 0.3@0.25).
  window addMorph: ((chooser := PDAChoiceMorph new color: paneColor) contentsClipped: 'all';
  target: self; actionSelector: #chooseFrom:categoryItem:; arguments: {chooser};
  getItemsSelector: #categoryChoices)
  frame: (0@0.25 corner: 0.3@0.3).
  window addMorph: ((MonthMorph newWithModel: self) color: paneColor; extent: 148@109)
  frame: (0.3@0 corner: 0.7@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@0 corner: 1.0@0.3).
 
  window addMorph: ((PluggableListMorph on: self list: #toDoListItems
  selected: #toDoListIndex changeSelected: #toDoListIndex:
  menu: #toDoMenu: keystroke: #toDoListKey:from:) enableDragNDrop: dragNDropFlag)
  frame: (0@0.3 corner: 0.3@0.7).
  window addMorph: ((PluggableListMorph on: self list: #scheduleListItems
  selected: #scheduleListIndex changeSelected: #scheduleListIndex:
  menu: #scheduleMenu: keystroke: #scheduleListKey:from:) enableDragNDrop: dragNDropFlag)
  frame: (0.3@0.3 corner: 0.7@0.7).
  window addMorph: ((PluggableListMorph on: self list: #notesListItems
  selected: #notesListIndex changeSelected: #notesListIndex:
  menu: #notesMenu: keystroke: #notesListKey:from:) enableDragNDrop: dragNDropFlag)
  frame: (0.7@0.3 corner: 1@0.7).
 
  window addMorph: (PluggableTextMorph on: self
  text: #currentItemText accept: #acceptCurrentItemText:
  readSelection: #currentItemSelection menu: #currentItemMenu:)
  frame: (0@0.7 corner: 1@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@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@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.
- ].
- !