[etoys-dev] Etoys: Sugar-bf.10.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Apr 16 12:45:14 EDT 2011
Bert Freudenberg uploaded a new version of Sugar to project Etoys:
http://source.squeak.org/etoys/Sugar-bf.10.mcz
==================== Summary ====================
Name: Sugar-bf.10
Author: bf
Time: 14 April 2011, 8:22:36 am
UUID: 1555626b-143f-4ea5-97ca-7da5bd18bf45
Ancestors: Sugar-bf.9
get user name and user colors from gconf if no presence service
=============== Diff against Sugar-bf.9 ===============
Item was added:
+ ----- Method: SugarLauncher>>gconfPropertiesAt: (in category 'gconf') -----
+ gconfPropertiesAt: aString
+ | dir |
+ "search up tree to guess home dir"
+ dir := Project squeakletDirectory.
+ [dir pathName = '/'] whileFalse: [
+ dir := dir containingDirectory.
+ [FileStream
+ readOnlyFileNamed: dir pathName, '/.gconf', aString, '/%gconf.xml'
+ do: [:f |
+ | props |
+ props := Dictionary new.
+ (XMLDOMParser parseDocumentFrom: f)
+ tagsNamed: #entry do: [:entry |
+ props at: (entry attributeAt: 'name')
+ put: entry elements first contentString].
+ ^props].
+ ] on: FileDoesNotExistException do: [:ignore | ].
+ ].
+ ^self error: 'cannot find gconf path ', aString!
Item was changed:
----- Method: SugarLauncher>>ownerBuddy (in category 'accessing') -----
ownerBuddy
self isRunningInSugar ifTrue: [
+ "try old Presense Service"
+ [^SugarBuddy fromDictionary: self presence getOwner getProperties ]
+ on: DBusError do: [:ex |
+ "fall back on newer GConf"
+ ^SugarBuddyOwner fromDictionary: (self gconfPropertiesAt: '/desktop/sugar/user')]].
- ^SugarBuddy fromDictionary: self presence getOwner getProperties].
"fake"
^SugarBuddyOwner key: '1234' nick: Utilities authorName colors: '#ff0000,#ffff00' ip: '1.2.3.4'!
Item was changed:
----- Method: SugarLauncher>>startUp (in category 'running') -----
startUp
self class allInstances do: [:ea | ea shutDown].
Current := self.
SugarNavigatorBar current
ifNotNilDo: [:bar | bar startUp].
parameters at: 'ACTIVITY_ID' ifPresent: [ :activityId |
OLPCVirtualScreen setupIfNeeded.
World windowEventHandler: self.
DBus sessionBus
export: SugarEtoysActivity new
on: 'org.laptop.Activity', activityId
at: '/org/laptop/Activity/', activityId.
+ Utilities authorName: self ownerBuddy nick.
- Utilities authorName: self presence getOwner nick.
ServerDirectory
addServer: (SugarDatastoreDirectory mimetype: 'application/x-squeak-project' extension: '.pr')
named: SugarLauncher defaultDatastoreDirName.
self joinSharedActivity.
self isShared ifFalse: [
parameters at: 'OBJECT_ID' ifPresent: [:id |
^self resumeJournalEntry: id]].
self isShared ifTrue: [^self].
^self welcome: (parameters at: 'URI' ifAbsent: [''])].
self welcome: ''
!
More information about the etoys-dev
mailing list