'From etoys4.0 of 9 October 2008 [latest update: #2291] on 12 September 2009 at 12:15:49 am'! "Change Set: renameWelcome-bf Date: 11 September 2009 Author: Bert Freudenberg Rename the welcome project from 'Etoys Activity' to 'Home'."! !Project class methodsFor: 'constants' stamp: 'bf 9/11/2009 23:57'! home "Answer the home project." ^self named: 'Home' ! ! !ReleaseBuilderSqueakland methodsFor: 'olpc' stamp: 'bf 9/12/2009 00:01'! buildInitialScreenForOLPC "ReleaseBuilderSqueakland new buildInitialScreenForOLPC" "pre-load QuickGuideMorph class var IndexPage" QuickGuideMorph new preloadIndex. 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]).! ! !ReleaseBuilderSqueakland methodsFor: 'olpc' stamp: 'bf 9/11/2009 23:49'! 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" Display extent = (800 @ 600) ifFalse: [^ self error: 'The display extent should be 800 @ 600']. ! ! !ReleaseBuilderSqueakland methodsFor: 'squeakland' stamp: 'bf 9/12/2009 00:01'! buildInitialScreenForSqueakland "ReleaseBuilderSqueakland new buildInitialScreenForSqueakland" "pre-load QuickGuideMorph class var IndexPage" QuickGuideMorph new preloadIndex. 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]).! ! !SugarLauncher methodsFor: 'commands' stamp: 'bf 9/12/2009 00:00'! quit self leaveSharedActivity. Project current == Project home ifTrue: [^Smalltalk quitPrimitive]. Project current projectParameterAt: #sugarAutoSave put: true; storeOnServerWithNoInteractionThenQuit.! ! !SugarLauncher methodsFor: 'commands' stamp: 'bf 9/11/2009 23:59'! welcome: aUrl "Sent either when running from Sugar, or at regular startUp otherwise" aUrl isEmpty ifFalse: [ | url | url := (aUrl includes: $/) ifTrue: [aUrl] ifFalse: ['file:', (parameters at: 'BUNDLE_PATH'), '/', aUrl]. ^(url endsWith: '.pr') ifTrue: [Project fromUrl: url] ifFalse: [WorldState addDeferredUIMessage: [FileStream fileIn: (url copyAfter: $:)]]]. self shouldEnterHomeProject ifTrue: [Project home ifNotNilDo: [:p | p enter]].! ! !SugarLauncher methodsFor: 'testing' stamp: 'bf 9/12/2009 00:07'! shouldEnterHomeProject "only if no other content is about to be loaded" ^Preferences eToyFriendly and: [(Smalltalk getSystemAttribute: 2) isEmptyOrNil and: [(self includesParameter: 'SRC') not and: [Sensor hasDandDEvents not]]] ! ! !SugarLauncher class methodsFor: 'accessing' stamp: 'bf 9/12/2009 00:15'! welcomeProjectName "Deprecated" ^Project home ifNotNilDo: [:p | p name]! ! !SugarNavigatorBar methodsFor: 'the actions' stamp: 'bf 9/11/2009 23:59'! previousProject Preferences eToyFriendly ifTrue: [ | prev | prev := Project current previousProject. (prev isNil or: [prev isTopProject]) ifTrue: [ Project home ifNotNilDo: [:p | Project current setParent: p]]]. super previousProject! ! SugarLauncher removeSelector: #shouldEnterWelcomeProject!