[Pkg] The Trunk: PreferenceBrowser-mt.72.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Aug 13 07:06:21 UTC 2016


Marcel Taeumel uploaded a new version of PreferenceBrowser to project The Trunk:
http://source.squeak.org/trunk/PreferenceBrowser-mt.72.mcz

==================== Summary ====================

Name: PreferenceBrowser-mt.72
Author: mt
Time: 13 August 2016, 9:06:15.228008 am
UUID: 2c9a92f3-159d-b54a-abaf-a78af7ea82f5
Ancestors: PreferenceBrowser-mt.71

Account for low-performance platforms such as ARM. In that case, switch some settings to accommodate that and inform the user.

=============== Diff against PreferenceBrowser-mt.71 ===============

Item was changed:
  Morph subclass: #PreferenceWizardMorph
+ 	instanceVariableNames: 'previewWorld titleMorph buttonRowMorph controlMorph startButton previousButton nextButton pages currentPageIndex pagesLabel skipButton isFullScreen lowPerformanceMorph'
- 	instanceVariableNames: 'previewWorld titleMorph buttonRowMorph controlMorph startButton previousButton nextButton pages currentPageIndex pagesLabel skipButton isFullScreen'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'PreferenceBrowser'!

Item was added:
+ ----- Method: PreferenceWizardMorph>>adjustSettingsForLowPerformance (in category 'actions') -----
+ adjustSettingsForLowPerformance
+ 
+ 	self stateGradients "flat look" ifFalse: [self toggleGradients].
+ 	self stateBlinkingCursor ifTrue: [self toggleBlinkingCursor].
+ 	self stateFastDrag ifFalse: [self toggleFastDrag].
+ 	
+ 	self stateSoftShadows ifTrue: [self toggleSoftShadows].
+ 	self stateHardShadows ifTrue: [self toggleHardShadows].
+ 	
+ 	self stateRoundedWindowLook ifTrue: [self toggleRoundedWindowLook].
+ 	self stateRoundedButtonLook ifTrue: [self toggleRoundedButtonLook].
+ 	
+ 	self stateAttachToolsToMouse ifTrue: [self toggleAttachToolsToMouse].
+ 	self stateToolAndMenuIcons ifTrue: [self toggleToolAndMenuIcons].
+ 	
+ 	"Set simple background."
+ 	ActiveWorld setAsBackground: MorphicProject defaultFill.
+ 	previewWorld fillStyle: ActiveWorld fillStyle.
+ 	!

Item was changed:
  ----- Method: PreferenceWizardMorph>>createButton (in category 'initialization') -----
  createButton
  
  	^ PluggableButtonMorphPlus new
  		setProperty: #noUserInterfaceTheme toValue: true;
  		offColor: (self defaultColor adjustBrightness: 0.2);
  		feedbackColor: (self defaultColor adjustBrightness: 0.4);
  		model: self;
  		font: (StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: 12);
  		textColor: self defaultTextColor;
  		borderColor: self defaultTextColor;
  		instVarNamed: #borderColor put: self defaultTextColor; "HACK!!"
  		borderWidth: 2;
+ 		cornerStyle: (self hasLowPerformance ifTrue: [#square] ifFalse: [#rounded]);
- 		cornerStyle: #rounded;
  		vResizing: #shrinkWrap;
  		hResizing: #shrinkWrap;
  		layoutInset: (20 at 10 corner: 20 at 10);
  		yourself!

Item was changed:
  ----- Method: PreferenceWizardMorph>>createLabel:color: (in category 'initialization') -----
  createLabel: aString color: aColor
  
+ 	^ self createLabel: aString color: aColor pointSize: 12!
- 	| lbl |
- 	lbl := TextMorph new hResizing: #spaceFill; vResizing: #shrinkWrap.
- 	lbl newContents:aString.
- 	lbl text
- 		addAttribute: (TextColor color: aColor);
- 		addAttribute: (TextFontReference toFont: ((StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: 12))).
- 	lbl lock.
- 	^ lbl!

Item was added:
+ ----- Method: PreferenceWizardMorph>>createLabel:color:pointSize: (in category 'initialization') -----
+ createLabel: aString color: aColor pointSize: size
+ 
+ 	| lbl |
+ 	lbl := TextMorph new hResizing: #spaceFill; vResizing: #shrinkWrap.
+ 	lbl newContents:aString.
+ 	lbl text
+ 		addAttribute: (TextColor color: aColor);
+ 		addAttribute: (TextFontReference toFont: ((StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: size))).
+ 	lbl lock.
+ 	^ lbl!

Item was added:
+ ----- Method: PreferenceWizardMorph>>hasLowPerformance (in category 'testing') -----
+ hasLowPerformance
+ 	"If the wizard is started on a machine with low performance, the wizard will change some settings automatically on startup."
+ 	
+ 	^ Smalltalk platformSubtype beginsWith: 'arm'!

Item was changed:
  ----- Method: PreferenceWizardMorph>>initialize (in category 'initialization') -----
  initialize
  
  	super initialize.
  	
  	isFullScreen := false.
  
+ 	self hasLowPerformance
+ 		ifTrue: [self color: self defaultColor]
+ 		ifFalse: [self color: (self defaultColor alpha: 0.75)].
+ 		
- 	self color: (self defaultColor alpha: 0.75).
  	self setProperty: #indicateKeyboardFocus toValue: #never.
  	
  	Preferences enable: #systemWindowEmbedOK.
  	
  	titleMorph := ('Welcome to Squeak' translated asText
  		addAttribute: (TextColor color: self defaultTextColor);
  		addAttribute: (TextFontReference toFont: (StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: 20));
  		yourself) asMorph lock.
  	titleMorph margins: (10 at 0 corner: 10 at 10).
  	titleMorph layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0) offsets: (0@ 0 corner: 0 @ titleMorph height)).
  	
  	self
  		initializePages;
  		initializeButtons;
  		initializeControlMorph;
+ 		initializePreviewWorld;
+ 		initializeForLowPerformance.
- 		initializePreviewWorld.
  
  	self
  		changeProportionalLayout;
  		layoutInset: 20;
  		cellInset: 10;
  		cellPositioning: #center;
+ 		addAllMorphs: {titleMorph. buttonRowMorph. controlMorph. previewWorld. startButton. skipButton. lowPerformanceMorph}.
- 		addAllMorphs: {titleMorph. buttonRowMorph. controlMorph. previewWorld. startButton. skipButton}.
  		
  	self addKeyboardCaptureFilter: self.!

Item was added:
+ ----- Method: PreferenceWizardMorph>>initializeForLowPerformance (in category 'initialization') -----
+ initializeForLowPerformance
+ 	
+ 	lowPerformanceMorph := ('Settings were adjusted for low performance.' translated asText
+ 		addAttribute: (TextColor color: (Color gray: 0.7));
+ 		addAttribute: (TextFontReference toFont: (StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: 9));
+ 		yourself) asMorph lock.
+ 	
+ 	lowPerformanceMorph layoutFrame: (LayoutFrame fractions: (1 @ 1 corner: 1 @ 1) offsets: (lowPerformanceMorph fullBounds width negated @ lowPerformanceMorph fullBounds height negated corner: 20 @ 20 "Into margins")).
+ 	
+ 	self hasLowPerformance ifTrue: [self adjustSettingsForLowPerformance].!

Item was changed:
  ----- Method: PreferenceWizardMorph>>initializePreviewWorld (in category 'initialization') -----
  initializePreviewWorld
  
  	| w1 w2 w3 |
  
  	previewWorld := PasteUpMorph new
  		hResizing: #spaceFill;
  		vResizing: #spaceFill;
  		viewBox: (0 at 0 corner: 500 at 500);
  		layoutFrame: (LayoutFrame fractions: (0.3 @ 0 corner: 1.0 @ 1.0) offsets: (0@ titleMorph height corner: 0 @ buttonRowMorph height negated));
  		fillStyle: ActiveWorld fillStyle;
  		borderWidth: 2;
  		borderColor: Color white;
+ 		cornerStyle: (self hasLowPerformance ifTrue: [#square] ifFalse: [#rounded]);
- 		cornerStyle: #rounded;
  		yourself.
  		
  	w1 := ToolBuilder open: (Browser new setClass: Morph selector: #drawOn:).
  	w2 := ToolSet browseMessageSet: (SystemNavigation default allCallsOn: #negated) name: 'Senders' translated autoSelect: 'negated'.
  	w3 := (Workspace new contents: '3+4 "Select and hit [CMD]+[P]."') openLabel: 'Workspace'.
  		
  	{w1. w2. w3} do: [:ea | 
  		ea makeUnclosable.
  		previewWorld addMorph: ea].
  	
  	self updateWindowBounds.!

Item was changed:
  ----- Method: PreferenceWizardMorph>>showPlayfield (in category 'actions') -----
  showPlayfield
  
  	startButton hide.
  	skipButton hide.
+ 	lowPerformanceMorph hide.
  	isFullScreen := true.
  	self step.
  	
  	titleMorph layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0) offsets: (0@ 0 corner: 0 @ titleMorph height)).
  	self refreshWorld.
  	(Delay forMilliseconds: 1000) wait.	
  	
  
  	controlMorph show.
  	self refreshWorld.
  	(Delay forMilliseconds: 1000) wait.	
  	
  	previewWorld show.
  	self refreshWorld.
  	(Delay forMilliseconds: 1000) wait.	
  
  	buttonRowMorph show.
  	self next.
  	self refreshWorld.
  	
  	!

Item was changed:
  ----- Method: PreferenceWizardMorph>>showWelcome (in category 'actions') -----
  showWelcome
  
  	titleMorph layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0.65) offsets: (0 @0 corner: 0 at 0)).
  	isFullScreen := false.
  	self height: titleMorph fullBounds height * 4.
  	self step.
  	self fullBounds.
  	self step.
  	
  	controlMorph hide.
  	previewWorld hide.
  	buttonRowMorph hide.
  	
  	titleMorph show.
  	startButton show.
  	skipButton show.
+ 	self hasLowPerformance
+ 		ifFalse: [lowPerformanceMorph hide]
+ 		ifTrue: [lowPerformanceMorph show].
  
+ 	self world fullBounds.
  	self refreshWorld.
  	!



More information about the Packages mailing list