SystemOrganization addCategory: #'Helvetia-Loader'! Object subclass: #CHHelvetiaLoader instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Helvetia-Loader'! !CHHelvetiaLoader class methodsFor: 'public' stamp: 'lr 10/16/2009 11:53'! defineDesign UIThemeStandardSqueak beCurrent. World submorphs do: [ :each | (each isKindOf: SketchMorph) ifTrue: [ each delete ] ]! ! !CHHelvetiaLoader class methodsFor: 'public' stamp: 'lr 10/16/2009 11:53'! defineFonts | tinyFont codeFont baseFont boldFont | tinyFont := LogicalFont familyName: 'DejaVu Sans' fallbackFamilyNames: nil pointSize: 8 stretchValue: 0 weightValue: 400 slantValue: 0. codeFont := LogicalFont familyName: 'DejaVu Sans Mono' fallbackFamilyNames: nil pointSize: 9 stretchValue: 0 weightValue: 400 slantValue: 0. baseFont := LogicalFont familyName: 'DejaVu Sans' fallbackFamilyNames: nil pointSize: 10 stretchValue: 0 weightValue: 400 slantValue: 0. boldFont := LogicalFont familyName: 'DejaVu Sans' fallbackFamilyNames: nil pointSize: 11 stretchValue: 0 weightValue: 600 slantValue: 0. Preferences setBalloonHelpFontTo: tinyFont. Preferences setButtonFontTo: baseFont. Preferences setCodeFontTo: codeFont. Preferences setHaloLabelFontTo: baseFont. Preferences setListFontTo: baseFont. Preferences setMenuFontTo: baseFont. Preferences setSystemFontTo: baseFont. Preferences setWindowTitleFontTo: boldFont! ! !CHHelvetiaLoader class methodsFor: 'public' stamp: 'lr 10/16/2009 11:53'! defineSettings Preferences enable: #scrollBarsNarrow. Preferences disable: #scrollBarsWithoutMenuButton. Preferences disable: #useNewDiffToolsForMC. Preferences disable: #duplicateAllControlAndAltKeys. Preferences disable: #fadedBackgroundWindows. Preferences disable: #windowAnimation! ! !CHHelvetiaLoader class methodsFor: 'initialization' stamp: 'lr 1/11/2010 10:53'! initialize self specification do: [ :pragma | pragma arguments first isString ifTrue: [ ProgressNotification signal: '' extra: pragma arguments first ]. self perform: pragma selector ] displayingProgress: 'Loading Helvetia'! ! !CHHelvetiaLoader class methodsFor: 'public' stamp: 'lr 5/18/2009 15:35'! load: anUrlString version: aString | repository group version versions | ProgressNotification signal: '' extra: aString. repository := MCHttpRepository location: anUrlString user: '' password: ''. group := MCRepositoryGroup default. (group includes: repository) ifFalse: [ group addRepository: repository ] ifTrue: [ repository := group repositories detect: [ :each | each = repository] ]. repository cacheAllFileNamesDuring: [ versions := repository allVersionNames asArray select: [ :each | each beginsWith: aString ]. versions sort: [ :a :b | (a copyAfterLast: $.) asNumber < (b copyAfterLast: $.) asNumber ]. repository versionReaderForFileNamed: versions last , '.mcz' do: [ :reader | version := reader version. version isNil ifTrue: [ self error: 'Unable to load ' , aString printString ]. [ [ version load ] on: UndeclaredVariableWarning do: [ :err | err resume: true ] ] on: Notification do: [ :err | err resume ]. version workingCopy repositoryGroup addRepository: repository ] ]! ! !CHHelvetiaLoader class methodsFor: 'installing' stamp: 'lr 1/11/2010 10:58'! loadDevelopmentTools Gofer new renggli: 'unsorted'; package: 'Shout'; package: 'RoelTyper'; package: 'ECompletion'; package: 'ECompletionOmniBrowser'; load! ! !CHHelvetiaLoader class methodsFor: 'installing' stamp: 'lr 2/12/2010 21:07'! loadGofer Gofer upgrade! ! !CHHelvetiaLoader class methodsFor: 'installing' stamp: 'lr 2/12/2010 20:35'! loadHelvetia Gofer new renggli: 'helvetia'; package: 'Helvetia-Core'; load! ! !CHHelvetiaLoader class methodsFor: 'installing' stamp: 'lr 1/11/2010 11:01'! loadOmniBrowser Gofer new renggli: 'omnibrowser'; package: 'OmniBrowser'; package: 'OB-Standard'; package: 'OB-Morphic'; package: 'OB-Shout'; package: 'OB-Refactory'; package: 'OB-Regex'; package: 'OB-SUnitIntegration'; load. SystemBrowser default: (Smalltalk at: #OBSystemBrowserAdaptor)! ! !CHHelvetiaLoader class methodsFor: 'installing' stamp: 'lr 2/12/2010 20:29'! loadPetitParser Gofer new renggli: 'petit'; package: 'PetitParser'; package: 'PetitAnalyzer'; package: 'PetitSmalltalk'; load! ! !CHHelvetiaLoader class methodsFor: 'installing' stamp: 'lr 2/12/2010 20:20'! loadRefactoringEngine Gofer new squeaksource: 'rb'; package: 'AST-Core'; package: 'AST-Compiler'; package: 'Refactoring-Core'; package: 'Refactoring-Spelling'; load! ! !CHHelvetiaLoader class methodsFor: 'initialization' stamp: 'lr 1/11/2010 10:46'! specification ^ Pragma allNamed: #install:priority: in: self class sortedByArgument: 2! ! !CHHelvetiaLoader class methodsFor: 'installing' stamp: 'lr 2/12/2010 20:19'! validateInstallation (SystemVersion current version beginsWith: 'PharoCore1.0') ifFalse: [ self notify: 'Helvetia might not work with this image: ' , SystemVersion current version , '. Please consider using a PharoCore 1.0 image.' ]. (SystemVersion current highestUpdate <= 10502) ifFalse: [ self notify: 'Helvetia might not work with this image: ' , SystemVersion current version , '. Please consider using a Pharo 1.0rc1 image.' ]! ! CHHelvetiaLoader initialize!