'From Squeak3.1alpha of 5 February 2001 [latest update: #3563] on 12 February 2001 at 4:21:18 pm'! "Change Set: sqNewsFixup Date: 12 February 2001 Author: Bob Arning - install a ServerDirectory from which we can read the updated Squeak News Also fix Project>>findProjectView: to handle escaped names" ServerDirectory addServer: ( ServerDirectory new type: #http; server: 'www.squeak.org'; directory: '/Squeaklets' ) named: 'SqueakDotOrg' ! !Project methodsFor: 'accessing' stamp: 'RAA 2/12/2001 16:17'! findProjectView: projectDescription | pName dpName proj | "In this world, find the morph that holds onto the project described by projectDescription. projectDescription can be a project, or the name of a project. The project may be represented by a DiskProxy. The holder morph may be at any depth in the world. Need to fix this if Projects have subclasses, or if a class other than ProjectViewMorph can officially hold onto a project. (Buttons, links, etc) If parent is an MVC world, return the ProjectController." self flag: #bob. "read the comment" pName _ (projectDescription isKindOf: String) ifTrue: [projectDescription] ifFalse: [projectDescription name]. self isMorphic ifTrue: [world allMorphsDo: [:pvm | pvm class == ProjectViewMorph ifTrue: [ (pvm project class == Project and: [pvm project name = pName]) ifTrue: [^ pvm]. pvm project class == DiskProxy ifTrue: [ dpName _ pvm project constructorArgs first. dpName _ (dpName findTokens: '/') last. dpName _ (Project parseProjectFileName: dpName unescapePercents) first. dpName = pName ifTrue: [^ pvm]]]]] ifFalse: [world scheduledControllers do: [:cont | (cont isKindOf: ProjectController) ifTrue: [ ((proj _ cont model) class == Project and: [proj name = pName]) ifTrue: [^ cont view]. proj class == DiskProxy ifTrue: [ dpName _ proj constructorArgs first. dpName _ (dpName findTokens: '/') last. dpName _ (Project parseProjectFileName: dpName unescapePercents) first. dpName = pName ifTrue: [^ cont view]]]] ]. ^ nil! !