'From etoys4.0 of 9 October 2008 [latest update: #2212] on 30 April 2009 at 6:01:58 pm'! "Change Set: projectTitle-bf Date: 30 April 2009 Author: Bert Freudenberg Set main window title to project name (if projectNameInTitle pref is true)" Preferences addPreference: #projectNameInTitle category: #projects default: true balloonHelp: 'If true, the main window title will be updated to show the current project name' ! !ChangeSet methodsFor: 'accessing' stamp: 'bf 4/30/2009 16:35'! name: anObject name := anObject. Smalltalk currentProjectDo: [:prj | self == prj changeSet ifTrue: [prj nameChangedWhileCurrent]]! ! !Project methodsFor: 'initialization' stamp: 'bf 4/30/2009 16:36'! setChangeSet: aChangeSet isolatedHead == true ifTrue: [^ self]. "ChangeSet of an isolated project cannot be changed" changeSet := aChangeSet. self isCurrentProject ifTrue: [self nameChangedWhileCurrent]. ! ! !Project methodsFor: 'accessing' stamp: 'bf 4/30/2009 18:01'! nameChangedWhileCurrent Preferences projectNameInTitle ifTrue: [ | title | title := self name ifNil: ['']. (title beginsWith: 'zzTemp') ifTrue: [title := '']. title ifNotEmpty: [title := ': ', title]. title := SystemVersion current baseName capitalized, title. DisplayScreen hostWindowTitle: title].! ! !SystemVersion methodsFor: 'accessing' stamp: 'bf 4/30/2009 17:58'! baseName "version sans number" | p | p := version findFirst: [:c | c isLetter not]. ^p = 0 ifTrue: [version] ifFalse: [version first: p - 1]! !