'From etoys2.1 of 30 August 2007 [latest update: #1660] on 19 September 2007 at 3:38:02 pm'! "Change Set: prjLocale-bf Date: 19 September 2007 Author: Bert Freudenberg When entering a project, switch it to current locale, rather than switching the system locale to the project's locale. Governed by preserveProjectLocale preference."! !Project methodsFor: 'menu messages' stamp: 'bf 9/19/2007 12:46'! finalEnterActions "Perform the final actions necessary as the receiver project is entered" | navigator armsLengthCmd navType thingsToUnhibernate fixBlock | self projectParameters at: #projectsToBeDeleted ifPresent: [ :projectsToBeDeleted | self removeParameter: #projectsToBeDeleted. projectsToBeDeleted do: [ :each | Project deletingProject: each. each removeChangeSetIfPossible]]. Preferences preserveProjectLocale ifTrue: [Locale switchAndInstallFontToID: self localeID gently: true] ifFalse: [self localeID = LocaleID current ifFalse: [self localeChanged]]. thingsToUnhibernate _ world valueOfProperty: #thingsToUnhibernate ifAbsent: [#()]. (thingsToUnhibernate anySatisfy:[:each| each isMorph and:[each hasProperty: #needsLayoutFixed]]) ifTrue:[fixBlock := self displayFontProgress]. thingsToUnhibernate do: [:each | each unhibernate]. world removeProperty: #thingsToUnhibernate. fixBlock ifNotNil:[ fixBlock value. world fullRepaintNeeded. ]. (self projectParameterAt: #substitutedFont) ifNotNil: [ self removeParameter: #substitutedFont. self world presenter allPlayersWithUniclasses do: [:uni | uni allScriptEditors do: [:scr | scr setProperty: #needsLayoutFixed toValue: true ]]. ]. navType _ ProjectNavigationMorph preferredNavigator. armsLengthCmd _ self parameterAt: #armsLengthCmd ifAbsent: [nil]. navigator _ world findA: navType. (Preferences classicNavigatorEnabled and: [Preferences showProjectNavigator and: [navigator isNil]]) ifTrue: [(navigator _ navType new addButtons) bottomLeft: world bottomLeft; openInWorld: world]. navigator notNil & armsLengthCmd notNil ifTrue: [navigator color: Color lightBlue. navigator inspect.]. armsLengthCmd ifNotNil: [armsLengthCmd openInWorld: world]. Smalltalk isMorphic ifTrue: [world reformulateUpdatingMenus. world presenter positionStandardPlayer]. WorldState addDeferredUIMessage: [self startResourceLoading].! !