[squeak-dev] The Inbox: PreferenceBrowser-mt.154.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jul 14 14:15:07 UTC 2022


A new version of PreferenceBrowser was added to project The Inbox:
http://source.squeak.org/inbox/PreferenceBrowser-mt.154.mcz

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

Name: PreferenceBrowser-mt.154
Author: mt
Time: 30 June 2022, 11:36:41.511873 am
UUID: 38ef2c65-8714-7b47-b972-447c14f6e5e7
Ancestors: PreferenceBrowser-mt.153

Fix installation of refactoring support to actually load the correction version for the current version.

=============== Diff against PreferenceBrowser-mt.153 ===============

Item was removed:
- SystemOrganization addCategory: #PreferenceBrowser!

Item was removed:
- PBPreferenceView subclass: #PBBooleanPreferenceView
- 	instanceVariableNames: ''
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!
- 
- !PBBooleanPreferenceView commentStamp: '<historical>' prior: 0!
- I am responsible for building the visual representation of a preference that accepts true and false values. This view is aimed to be used inside a PreferenceBrowser panel.!

Item was removed:
- ----- Method: PBBooleanPreferenceView class>>initialize (in category 'class initialization') -----
- initialize
- 	PreferenceViewRegistry ofBooleanPreferences register: self.
- !

Item was removed:
- ----- Method: PBBooleanPreferenceView class>>unload (in category 'class initialization') -----
- unload
- 	"Unload order is not guaranteed so guard against failure"
- 	[PreferenceViewRegistry ofBooleanPreferences unregister: self] on: Error do:[].!

Item was removed:
- ----- Method: PBBooleanPreferenceView>>enabledButton (in category 'user interface') -----
- enabledButton
- 	| aButton |
- 	aButton := UpdatingThreePhaseButtonMorph checkBox
- 		target: self preference;
- 		actionSelector: #togglePreferenceValue;
- 		getSelector: #preferenceValue;
- 		label: 'enabled' translated;
- 		yourself.
- 	^self horizontalPanel
- 		addMorphBack: aButton;
- 		yourself.!

Item was removed:
- ----- Method: PBBooleanPreferenceView>>localToProjectButton (in category 'user interface') -----
- localToProjectButton
- 	| aButton |
- 	aButton := UpdatingThreePhaseButtonMorph checkBox
- 		target: self preference;
- 		actionSelector: #toggleProjectLocalness;
- 		getSelector: #localToProject;
- 		label: 'local' translated;
- 		yourself.
- 	^self horizontalPanel
- 		addMorphBack: aButton;
- 		yourself.!

Item was removed:
- ----- Method: PBBooleanPreferenceView>>representativeButtonWithColor:inPanel: (in category 'user interface') -----
- representativeButtonWithColor: aColor inPanel: aPreferencesPanel
- 	^self horizontalPanel
- 		layoutInset: 2;
- 		cellGap: 7;
- 		color: aColor;
- 		addMorphBack: self morphForName;
- 		addMorphBack: self horizontalFiller; 
- 		addMorphBack: self enabledButton;
- 		addMorphBack: self localToProjectButton;
- 		yourself.!

Item was removed:
- PBTextPreferenceView subclass: #PBClassPreferenceView
- 	instanceVariableNames: 'styler completionController'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!

Item was removed:
- ----- Method: PBClassPreferenceView class>>initialize (in category 'as yet unclassified') -----
- initialize
- 	PreferenceViewRegistry ofClassPreferences register: self.!

Item was removed:
- ----- Method: PBClassPreferenceView class>>unload (in category 'as yet unclassified') -----
- unload
- 	"Unload order is not guaranteed so guard against failure"
- 	[PreferenceViewRegistry ofClassPreferences unregister: self] on: Error do:[]!

Item was removed:
- ----- Method: PBClassPreferenceView>>aboutToStyle: (in category 'styling') -----
- aboutToStyle: styler
- 	"For Shout styling support."
- 	^ true!

Item was removed:
- ----- Method: PBClassPreferenceView>>aboutToStyle:requestor: (in category 'styling') -----
- aboutToStyle: styler requestor: object
- 	"For Shout styling support."
- 	^ true!

Item was removed:
- ----- Method: PBClassPreferenceView>>completionController (in category 'auto completion') -----
- completionController
- 	"For OCompletion support."
- 	^ completionController!

Item was removed:
- ----- Method: PBClassPreferenceView>>initialize (in category 'initialize-release') -----
- initialize
- 	super initialize.
- 	styler := (TextStyler for: #Smalltalk) ifNotNil: [:s | s new].
- 	completionController := (Smalltalk classNamed: #OController) ifNotNil: [:oc | oc model: self].!

Item was removed:
- ----- Method: PBClassPreferenceView>>preferenceValue (in category 'user interface') -----
- preferenceValue
- 	^self preference preferenceValue ifNil: [''] ifNotNil: [:cls | cls name]!

Item was removed:
- ----- Method: PBClassPreferenceView>>preferenceValue: (in category 'user interface') -----
- preferenceValue: aClassName
- 
- 	| newClass |
- 	newClass := Smalltalk classNamed: aClassName asString withBlanksTrimmed.
- 	
- 	"Avoid overwriting the previous setting by mistake unless explicitely stated so."
- 	(newClass notNil or: [aClassName = 'nil'])
- 		ifTrue: [self preference preferenceValue: newClass].
- 	
- 	^ true!

Item was removed:
- ----- Method: PBClassPreferenceView>>selectedClassOrMetaClass (in category 'auto completion') -----
- selectedClassOrMetaClass
- 	"For OCompletion support."
- 	^ nil!

Item was removed:
- ----- Method: PBClassPreferenceView>>textField (in category 'user interface') -----
- textField
- 
- 	| field |
- 	field := PluggableTextMorphPlus
- 		on: self
- 		text: #preferenceValue
- 		accept: #preferenceValue:.
- 	field
- 		acceptOnCR: true;
- 		wrapFlag: false;
- 		hideScrollBarsIndefinitely;
- 		vResizing: #rigid;
- 		hResizing: #rigid;
- 		height: ToolBuilder default inputFieldHeight;
- 		width: (TextStyle default compositionWidthFor: 30).
- 	
- 	styler ifNotNil: [:s | field styler: (s view: field)].
- 	
- 	^ field!

Item was removed:
- PBPreferenceView subclass: #PBColorPreferenceView
- 	instanceVariableNames: 'button'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!

Item was removed:
- ----- Method: PBColorPreferenceView class>>initialize (in category 'class initialization') -----
- initialize
- 	PreferenceViewRegistry ofColorPreferences register: self.!

Item was removed:
- ----- Method: PBColorPreferenceView class>>unload (in category 'class initialization') -----
- unload
- 	"Unload order is not guaranteed so guard against failure"
- 	[PreferenceViewRegistry ofColorPreferences unregister: self] on: Error do:[]!

Item was removed:
- ----- Method: PBColorPreferenceView>>adjustLabelColor (in category 'user interface') -----
- adjustLabelColor
- 	| textColor |
- 	(self preference preferenceValue luminance < 0.5)
- 		ifTrue:[ textColor := Color white]
- 		ifFalse:[ textColor := Color black].
- 	button allMorphsDo: [:m | (m isKindOf: StringMorph) ifTrue: [ m color: textColor]].	!

Item was removed:
- ----- Method: PBColorPreferenceView>>borderStyleMenu (in category 'user interface') -----
- borderStyleMenu
- 	"Add border-style menu items"
- 
- 	|  aMenu |
- 	aMenu := MenuMorph new defaultTarget: self.
- 	
- 	aMenu addStayUpItemSpecial.
- 	aMenu add: 'border color...' translated target: self selector:#changeColor: argument: button.
- 	aMenu addLine.
- 	BorderStyle borderStyleChoices do:
- 		[:sym | (aMenu borderStyleForSymbol: sym)
- 			ifNotNil:
- 				[aMenu add: sym translated target: self selector: #setBorderStyle: argument: sym]].
- 	^aMenu popUpInWorld
- !

Item was removed:
- ----- Method: PBColorPreferenceView>>changeColor: (in category 'user interface') -----
- changeColor: aButton
- 	NewColorPickerMorph useIt
- 		ifTrue:
- 			[ (NewColorPickerMorph
- 				on: self
- 				originalColor: aButton color
- 				setColorSelector: #setButtonColor:) openNear: aButton fullBoundsInWorld ]
- 		ifFalse:
- 			[ ColorPickerMorph new
- 				 choseModalityFromPreference ;
- 				 sourceHand: aButton activeHand ;
- 				 target: self ;
- 				 selector: #setButtonColor: ;
- 				 originalColor: aButton color ;
- 				
- 				putUpFor: aButton
- 				near: aButton fullBoundsInWorld ]	!

Item was removed:
- ----- Method: PBColorPreferenceView>>colorMenuButton (in category 'user interface') -----
- colorMenuButton
- 	| selector name |
- 	name := self preference name.
- 	(name includesSubstring: 'border' caseSensitive: false)
- 				ifTrue: [ selector := #borderStyleMenu]
- 				ifFalse:[ selector := #fillStyleMenu].
- 	button := SimpleButtonMorph new
- 	label: self preference preferenceValue asString;
- 	actionSelector: selector;
- 	target: self.
- 	
- 	self adjustLabelColor.
- 	^button color: self preference preferenceValue
- 	
- 	
- 	"UpdatingRectangleMorph new
- 		target: self preference;
- 		getSelector: #preferenceValue;
- 		putSelector: #preferenceValue:;
- 		extent: 22 at 22;
- 		setBalloonText: 'click here to change the color' translated;
- 		yourself."!

Item was removed:
- ----- Method: PBColorPreferenceView>>colorSwatch (in category 'user interface') -----
- colorSwatch
- 	^UpdatingRectangleMorph new
- 		target: self preference;
- 		getSelector: #preferenceValue;
- 		putSelector: #preferenceValue:;
- 		extent: 22 at 22;
- 		setBalloonText: 'click here to change the color' translated;
- 		yourself.!

Item was removed:
- ----- Method: PBColorPreferenceView>>fillStyleMenu (in category 'user interface') -----
- fillStyleMenu
- 	"Add the items for changing the current fill style of the Morph"
- 	|  aMenu |
- 	"self canHaveFillStyles ifFalse:[^aMenu add: 'change color...' translated target: self action: #changeColor]."
- 	aMenu := MenuMorph new defaultTarget: self.
- 	"self preference preferenceValue addFillStyleMenuItems: aMenu hand: nil from: self."
- 	aMenu add: 'change color...' translated target: self selector:#changeColor: argument: button.
- 	aMenu addLine.
- 	aMenu add: 'solid fill' translated action: #useSolidFill.
- 	"aMenu add: 'gradient fill' translated action: #useGradientFill.
- 	aMenu add: 'bitmap fill' translated action: #useBitmapFill.
- 	aMenu add: 'default fill' translated action: #useDefaultFill."
- 	^aMenu popUpInWorld
- 	!

Item was removed:
- ----- Method: PBColorPreferenceView>>representativeButtonWithColor:inPanel: (in category 'user interface') -----
- representativeButtonWithColor: aColor inPanel: aPreferenceBrowser
- 	^self horizontalPanel
- 		layoutInset: 2;
- 		color: aColor;
- 		cellGap: 20;
- 		cellPositioning: #center;
- 		addMorphBack: self morphForName;
- 		addMorphBack: self horizontalFiller;
- 		addMorphBack: self colorMenuButton;
- 		yourself!

Item was removed:
- ----- Method: PBColorPreferenceView>>setBorderStyle: (in category 'user interface') -----
- setBorderStyle: aBorderStyle
- 		
- 	self preference preferenceValue: aBorderStyle.
- 	button label: self preference preferenceValue asString;
- 	borderColor: aBorderStyle.
- 	!

Item was removed:
- ----- Method: PBColorPreferenceView>>setButtonColor: (in category 'user interface') -----
- setButtonColor: aColor
- 	button color: aColor.
- 	self preference preferenceValue: aColor.
- 	button label: self preference preferenceValue asString.
- 	self adjustLabelColor
- !

Item was removed:
- ----- Method: PBColorPreferenceView>>useSolidFill (in category 'user interface') -----
- useSolidFill
- 	"Make receiver use a solid fill style (e.g., a simple color)"
- 	self preference preferenceValue isSolidFill ifTrue:[^self]. "Already done"
- 	self preference preferenceValue: self preference preferenceValue asColor. "Try minimizing changes"
- 	
- 	button label: self preference preferenceValue asString;
- 	color: self preference preferenceValue
- 	!

Item was removed:
- PBPreferenceView subclass: #PBHaloThemePreferenceView
- 	instanceVariableNames: ''
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!
- 
- !PBHaloThemePreferenceView commentStamp: '<historical>' prior: 0!
- I am responsible for building the button for the Halo Theme preference!

Item was removed:
- ----- Method: PBHaloThemePreferenceView class>>initialize (in category 'class initialization') -----
- initialize
- 	PreferenceViewRegistry ofHaloThemePreferences register: self.!

Item was removed:
- ----- Method: PBHaloThemePreferenceView class>>unload (in category 'class initialization') -----
- unload
- 	"Unload order is not guaranteed so guard against failure"
- 	[PreferenceViewRegistry ofHaloThemePreferences unregister: self] on: Error do:[]!

Item was removed:
- ----- Method: PBHaloThemePreferenceView>>haloThemeRadioButtons (in category 'user interface') -----
- haloThemeRadioButtons
- 	"Answer a column of butons representing the choices of halo theme"
- 
- 	| buttonColumn |
- 	buttonColumn := self verticalPanel.
- 	#(	(iconicHaloSpecifications iconic iconicHalosInForce	'circular halos with icons inside')
- 		(classicHaloSpecs	classic	classicHalosInForce		'plain circular halos')
- 		(simpleFullHaloSpecifications		simple	simpleHalosInForce	'fewer, larger halos')
- 		(customHaloSpecs	custom	customHalosInForce		'customizable halos')) do:
- 
- 		[:quad |
- 			| aRadioButton  |
- 			aRadioButton := UpdatingThreePhaseButtonMorph radioButton
- 				target: Preferences;
- 				setBalloonText: quad fourth;
- 				actionSelector: #installHaloTheme:;
- 				getSelector: quad third;
- 				arguments: (Array with: quad first);
- 				label: quad second asString;
- 				yourself.
- 			buttonColumn addMorphBack: aRadioButton].
- 	^ buttonColumn
- 
- 	"(Preferences preferenceAt: #haloTheme) view tearOffButton"!

Item was removed:
- ----- Method: PBHaloThemePreferenceView>>initialize (in category 'initialization') -----
- initialize
- 	self addActionTitled: 'edit custom halos' 
- 		target: Preferences 
- 		selector:  #editCustomHalos 
- 		arguments: {} 
- 		balloonText: 'Click here to edit the method that defines the custom halos' translated.!

Item was removed:
- ----- Method: PBHaloThemePreferenceView>>representativeButtonWithColor:inPanel: (in category 'user interface') -----
- representativeButtonWithColor: aColor inPanel: aPreferencesPanel
- 	| innerPanel |
- 	innerPanel := self horizontalFiller
- 		addMorphBack: self horizontalFiller;
- 		addMorphBack: self haloThemeRadioButtons;
- 		yourself.
- 	^self verticalPanel
- 		color: aColor;
- 		layoutInset: 2;
- 		addMorphBack: self morphForName;
- 		addMorphBack: innerPanel.!

Item was removed:
- PBPreferenceView subclass: #PBNumericPreferenceView
- 	instanceVariableNames: ''
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!

Item was removed:
- ----- Method: PBNumericPreferenceView class>>initialize (in category 'class initialization') -----
- initialize
- 	PreferenceViewRegistry ofNumericPreferences register: self.!

Item was removed:
- ----- Method: PBNumericPreferenceView class>>unload (in category 'class initialization') -----
- unload
- 	"Unload order is not guaranteed so guard against failure"
- 	[PreferenceViewRegistry ofNumericPreferences unregister: self] on: Error do:[].!

Item was removed:
- ----- Method: PBNumericPreferenceView>>preferenceValue (in category 'user interface') -----
- preferenceValue
- 	^self preference preferenceValue asString!

Item was removed:
- ----- Method: PBNumericPreferenceView>>preferenceValue: (in category 'user interface') -----
- preferenceValue: aTextOrString
- 	(aTextOrString notEmpty and: [aTextOrString asString isAllDigits])
- 		ifFalse: [^false].
- 	self preference preferenceValue: aTextOrString asNumber.
- 	^true.!

Item was removed:
- ----- Method: PBNumericPreferenceView>>representativeButtonWithColor:inPanel: (in category 'user interface') -----
- representativeButtonWithColor: aColor inPanel: aPreferenceBrowser
- 	^self horizontalPanel
- 		layoutInset: 2;
- 		color: aColor;
- 		cellGap: 20;
- 		cellPositioning: #center;
- 		addMorphBack: self morphForName;
- 		addMorphBack: self horizontalFiller;
- 		addMorphBack: self textField;
- 		yourself.!

Item was removed:
- ----- Method: PBNumericPreferenceView>>textField (in category 'user interface') -----
- textField
- 
- 	^(PluggableTextMorph
- 		on: self
- 		text: #preferenceValue
- 		accept: #preferenceValue:)
- 			acceptOnCR: true;
- 			wrapFlag: false;
- 			hideScrollBarsIndefinitely;
- 			vResizing: #rigid;
- 			hResizing: #rigid;
- 			height: ToolBuilder default inputFieldHeight;
- 			width: (TextStyle default compositionWidthFor: 15);
- 			yourself.!

Item was removed:
- Morph subclass: #PBPreferenceButtonMorph
- 	instanceVariableNames: 'moreButton model preference preferenceMorphicView preferenceView'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!

Item was removed:
- ----- Method: PBPreferenceButtonMorph class>>preference: (in category 'instance creation') -----
- preference: aPreference
- 	^self preference: aPreference model: nil!

Item was removed:
- ----- Method: PBPreferenceButtonMorph class>>preference:model: (in category 'instance creation') -----
- preference: aPreference model: aModel
- 	^self new
- 		initializeWithPreference: aPreference model: aModel;
- 		yourself.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>actionButtons (in category 'extra controls') -----
- actionButtons
- 	^self preferenceView actions collect: [:aTuple |
- 		self basicButton
- 				label: aTuple first;
- 				target: aTuple second;
- 				actionSelector: aTuple third;
- 				arguments: aTuple fourth;
- 				setBalloonText: aTuple fifth ]!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>addExtraControls (in category 'extra controls') -----
- addExtraControls
- 	| m |
- 	m := self horizontalPanel
- 		cellGap: 3;
- 		addAllMorphs: self actionButtons;
- 		addMorphBack: self horizontalFiller;
- 		addMorphBack: self moreButton;
- 		yourself.
- 	self 
- 		addMorphBack: (self blankSpaceOf: 2 at 2);
- 		addMorphBack: self preferenceHelpTextMorph;
- 		addMorphBack: self horizontalLine;
- 		addMorphBack: self preferenceCodeTextMorph;
- 		fullBounds; "to force a layout compute needed by the textMorphs's autoFit"
- 		addMorphBack: m
- !

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>advancedOptionsSelected (in category 'extra controls') -----
- advancedOptionsSelected
- 	self preferenceView offerPreferenceNameMenu: self model!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>applyUserInterfaceTheme (in category 'updating') -----
- applyUserInterfaceTheme
- 
- 	super applyUserInterfaceTheme.
- 	
- 	self hasExtraControls
- 		ifTrue: [self highlightOff; highlightOn]
- 		ifFalse: [self highlightParametersOff].!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>basicButton (in category 'utility methods') -----
- basicButton
- 
- 	^ PluggableButtonMorph new
- 		target: self;
- 		layoutInset: (10 at 5 corner: 10 at 5);
- 		yourself!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>basicPanel (in category 'utility methods') -----
- basicPanel
- 	^BorderedMorph new
- 		beTransparent;
- 		extent: 0 at 0;
- 		borderWidth: 0;
- 		layoutInset: 0;
- 		cellGap: 0;
- 		layoutPolicy: TableLayout new;
- 		listCentering: #topLeft;
- 		cellPositioning: #center;
- 		hResizing: #spaceFill;
- 		vResizing: #shrinkWrap;
- 		yourself!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>blankSpaceOf: (in category 'utility methods') -----
- blankSpaceOf: aPoint
- 	^Morph new 
- 		beTransparent;
- 		extent: aPoint; 
- 		yourself!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>caseInsensitiveBeginsWith:in: (in category 'utility methods') -----
- caseInsensitiveBeginsWith: prefix in: string
- 	^(string findString: prefix startingAt: 1 caseSensitive: false) = 1!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>hasExtraControls (in category 'extra controls') -----
- hasExtraControls
- 
- 	^ self submorphs size > 1!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>highlightOff (in category 'highlighting') -----
- highlightOff
- 	self highlightParametersOff.
- 	self removeExtraControls.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>highlightOn (in category 'highlighting') -----
- highlightOn
- 	
- 	self highlightParametersOn.
- 	
- 	self addExtraControls.
- 	
- 	self currentHand newKeyboardFocus: self.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>highlightParametersOff (in category 'highlighting') -----
- highlightParametersOff
- 
- 	self beTransparent.
- 	self label
- 		color: ((UserInterfaceTheme current get: #textColor for: PluggableListMorph) ifNil: [Color black]);
- 		font: ((UserInterfaceTheme current get: #font for: PluggableListMorph) ifNil: [TextStyle defaultFont]).!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>highlightParametersOn (in category 'highlighting') -----
- highlightParametersOn
- 
- 	self color: ((UserInterfaceTheme current get: #selectionColor for: PluggableListMorph) ifNil: [Color gray alpha: 0.1]).
- 
- 	self label
- 		color: ((UserInterfaceTheme current get: #selectionTextColor for: PluggableListMorph) ifNil: [Color black]);
- 		font: (((UserInterfaceTheme current get: #font for: PluggableListMorph) ifNil: [TextStyle defaultFont])
- 			emphasized: TextEmphasis bold emphasisCode).!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>horizontalFiller (in category 'utility methods') -----
- horizontalFiller
- 	^self horizontalPanel
- 		hResizing: #spaceFill;
- 		yourself.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>horizontalLine (in category 'utility methods') -----
- horizontalLine
- 	^self horizontalPanel
- 		hResizing: #spaceFill;
- 		height: 2;
- 		color: ((UserInterfaceTheme current get: #color for: PluggableListMorph) ifNil: [Color white]);
- 		yourself.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>horizontalPanel (in category 'utility methods') -----
- horizontalPanel
- 	^self basicPanel
- 		cellPositioning: #center;
- 		listDirection: #leftToRight;
- 		yourself.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>initializeLayout (in category 'initialization') -----
- initializeLayout
- 	self layoutPolicy: TableLayout new;
- 		beTransparent;
- 		layoutInset: PluggableListMorph listMargins;
- 		cellGap: 0;
- 		listCentering: #topLeft;
- 		cellPositioning: #topLeft;
- 		listDirection: #topToBottom;
- 		hResizing: #spaceFill;
- 		vResizing: #shrinkWrap.		!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>initializeWithPreference:model: (in category 'initialization') -----
- initializeWithPreference: aPreference model: aModel
- 	preference := aPreference.
- 	model := aModel.
- 	self initializeLayout.
- 	self addMorphBack: self preferenceMorphicView.
- 	self highlightOff.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>label (in category 'preference accessing') -----
- label
- 	^self preferenceMorphicView firstSubmorph!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>model (in category 'accessing') -----
- model
- 	^model!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>moreButton (in category 'extra controls') -----
- moreButton
- 	^moreButton ifNil: 
- 		[moreButton := self basicButton 
- 						label: 'more' translated; 
- 						setBalloonText: 
- 							'Click here for advanced options'translated;
- 						actionSelector: #advancedOptionsSelected]!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>paneColor (in category 'utility methods') -----
- paneColor
- 	| browser |
- 	browser := (self ownerChain 
- 		detect: [:ea | ea isKindOf: PreferenceBrowserMorph] 
- 		ifNone: [^Color black]) .
- 	^browser paneColor!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preference (in category 'preference accessing') -----
- preference
- 	^preference!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preferenceCode (in category 'preference accessing') -----
- preferenceCode
- 	
- 	^ self preference codeString withBlanksTrimmed!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preferenceCodeText (in category 'preference accessing') -----
- preferenceCodeText
- 
- 	| text |
- 	text := self preferenceCode asText
- 		addAttribute: (TextFontReference toFont: Preferences standardCodeFont);
- 		yourself.
- 	^ (TextStyler for: #Smalltalk)
- 		ifNil: [text]
- 		ifNotNil: [:stylerClass | stylerClass new styledTextFor: text]!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preferenceCodeTextMorph (in category 'extra controls') -----
- preferenceCodeTextMorph
- 	| text tm |
- 	text := self preferenceCodeText.
- 	tm := TextMorph new
- 		contents: text;
- 		backgroundColor: (UserInterfaceTheme current get: #color for: PluggableTextMorph);
- 		wrapFlag: true;
- 		autoFit: true;
- 		hResizing: #spaceFill;
- 		vResizing: #shrinkWrap;
- 		margins: (5 at 0 corner: 5 at 0);
- 		visible: text notEmpty;
- 		yourself. "we don't want an empty textmorph showing"
- 	^tm!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preferenceHelp (in category 'preference accessing') -----
- preferenceHelp
- 	| help name |
- 	help := self preference helpString withBlanksTrimmed.
- 	name := self preference name.
- 	(self caseInsensitiveBeginsWith: name  in: help)
- 		ifTrue: [help := help allButFirst: name size].
- 	(help notEmpty and: [help first = $:])
- 		ifTrue: [help := help allButFirst].
- 	^help withBlanksTrimmed.
- !

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preferenceHelpText (in category 'preference accessing') -----
- preferenceHelpText
- 	^self preferenceHelp asText
- 		addAttribute: TextEmphasis italic;
- 		addAttribute: (TextColor color: ((UserInterfaceTheme current get: #textColor for: PluggableListMorph) ifNil: [Color black]));
- 		yourself.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preferenceHelpTextMorph (in category 'extra controls') -----
- preferenceHelpTextMorph
- 	| text tm |
- 	text := self preferenceHelpText.
- 	tm := TextMorph new
- 		contents: text;
- 		wrapOnOff;
- 		hResizing: #spaceFill;
- 		vResizing: #shrinkWrap;
- 		margins: (5 at 0 corner: 5 at 0);
- 		lock: true;
- 		visible: text notEmpty;
- 		yourself. "we don't want an empty textmorph showing"
- 	tm isAutoFit
- 		ifFalse: [tm autoFitOnOff].
- 	^tm.!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preferenceMorphicView (in category 'preference accessing') -----
- preferenceMorphicView
- 	^preferenceMorphicView
- 		ifNil: 
- 			[preferenceMorphicView := self preferenceView
- 				representativeButtonWithColor: Color transparent inPanel: self model.
- 			preferenceMorphicView hResizing: #spaceFill.
- 			^preferenceMorphicView]!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>preferenceView (in category 'preference accessing') -----
- preferenceView
- 	^preferenceView
- 		ifNil: [preferenceView := self preference viewForPanel: self model.]!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>removeExtraControls (in category 'extra controls') -----
- removeExtraControls
- 	self submorphs copyWithoutFirst do: [:ea | ea delete]!

Item was removed:
- ----- Method: PBPreferenceButtonMorph>>verticalPanel (in category 'utility methods') -----
- verticalPanel
- 	^self basicPanel
- 		cellPositioning: #topLeft;
- 		listDirection: #topToBottom;
- 		yourself.!

Item was removed:
- PreferenceView subclass: #PBPreferenceView
- 	instanceVariableNames: 'actions'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!
- 
- !PBPreferenceView commentStamp: '<historical>' prior: 0!
- I am just a refactor of all the common method of the PreferenceBrowser preference views!

Item was removed:
- ----- Method: PBPreferenceView class>>handlesPanel: (in category 'view registry') -----
- handlesPanel: aPreferencePanel
- 	^aPreferencePanel isKindOf: PreferenceBrowser!

Item was removed:
- ----- Method: PBPreferenceView>>actions (in category 'actions') -----
- actions
- 	^actions ifNil: [actions := OrderedCollection new.]!

Item was removed:
- ----- Method: PBPreferenceView>>addActionTitled:target:selector:arguments:balloonText: (in category 'actions') -----
- addActionTitled: aTitle target: aTarget selector: aSelector arguments: aCollection balloonText: aText
- 	self actions add: { aTitle. aTarget. aSelector. aCollection. aText }!

Item was removed:
- ----- Method: PBPreferenceView>>basicPanel (in category 'user interface') -----
- basicPanel
- 	^BorderedMorph new
- 		beTransparent;
- 		extent: 0 at 0;
- 		borderWidth: 0;
- 		layoutInset: 0;
- 		cellGap: 5;
- 		layoutPolicy: TableLayout new;
- 		listCentering: #topLeft;
- 		cellPositioning: #center;
- 		hResizing: #shrinkWrap;
- 		vResizing: #shrinkWrap;
- 		yourself!

Item was removed:
- ----- Method: PBPreferenceView>>blankSpaceOf: (in category 'user interface') -----
- blankSpaceOf: aPoint
- 	^Morph new 
- 		beTransparent;
- 		extent: aPoint; 
- 		yourself!

Item was removed:
- ----- Method: PBPreferenceView>>horizontalFiller (in category 'user interface') -----
- horizontalFiller
- 	^self horizontalPanel
- 		hResizing: #spaceFill;
- 		yourself.!

Item was removed:
- ----- Method: PBPreferenceView>>horizontalPanel (in category 'user interface') -----
- horizontalPanel
- 	^self basicPanel
- 		cellPositioning: #center;
- 		listDirection: #leftToRight;
- 		yourself.!

Item was removed:
- ----- Method: PBPreferenceView>>offerPreferenceNameMenu: (in category 'user interface') -----
- offerPreferenceNameMenu: aPreferenceBrowser
- 	"the user clicked on a preference name -- put up a menu"
- 
- 	| aMenu readableName |
- 	readableName := self preference readableName.
- 	aMenu := MenuMorph new 
- 		defaultTarget: self preference;
- 		addTitle: readableName.
- 
- 	(Preferences okayToChangeProjectLocalnessOf: self preference name) ifTrue:
- 		[aMenu
- 			addUpdating: #isProjectLocalString target: self preference action: #toggleProjectLocalness;
- 			balloonTextForLastItem: 'Some preferences are best applied uniformly to all projects, and others are best set by each individual project.  If this item is checked, then this preference will be printed in bold and will have a separate value for each project' translated].
- 
- 	aMenu
- 		addLine;
- 		add: 'browse senders (n)' translated
- 			action: #browseSenders;
- 		balloonTextForLastItem: ('This will open a method-list browser on all methods that the send the preference "{1}".' translated format: {readableName}).
- 	self preference provider ifNotNil: [
- 		aMenu
- 			add: 'browse implementation (m)' translated
- 				action: #browse;
- 			balloonTextForLastItem: ('This will open a browser on the method that stores the preference "{1}".' translated format: {readableName})].
- 	aMenu
- 		add: 'inspect preference (i)' translated
- 			action: #inspect;
- 		balloonTextForLastItem: ('This will open an inspector on the preference "{1}".' translated format: {readableName}).
- 	aMenu
- 		addLine;
- 		add: 'show category (b)' translated
- 			target: aPreferenceBrowser
- 			selector: #findCategoryFromPreference:
- 			argument: self preference;
- 		balloonTextForLastItem: 'Allows you to find out which category, or categories, this preference belongs to.' translated.
- 
- 	Smalltalk isMorphic ifTrue:
- 		[aMenu
- 			add: 'hand me a button for this preference' translated
- 				target: self
- 				selector: #tearOffButton;
- 			balloonTextForLastItem: 'Will give you a button that governs this preference, which you may deposit wherever you wish' translated].
- 
- 	aMenu
- 		add: 'copy name to clipboard (c)' translated
- 			action: #copyName;
- 		balloonTextForLastItem: 'Copy the name of the preference to the text clipboard, so that you can paste into code somewhere' translated.
- 	aMenu
- 		add: 'copy code to clipboard (C)' translated
- 			action: #copyCode;
- 		balloonTextForLastItem: 'Copy the code to access the current preference value to the clipboard, so that you can paste into code somewhere' translated.
- 
- 	aMenu popUpInWorld!

Item was removed:
- ----- Method: PBPreferenceView>>verticalPanel (in category 'user interface') -----
- verticalPanel
- 	^self basicPanel
- 		cellPositioning: #topLeft;
- 		listDirection: #topToBottom;
- 		yourself.!

Item was removed:
- PBPreferenceView subclass: #PBTextPreferenceView
- 	instanceVariableNames: ''
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!

Item was removed:
- ----- Method: PBTextPreferenceView class>>initialize (in category 'class initialization') -----
- initialize
- 	PreferenceViewRegistry ofTextPreferences register: self.!

Item was removed:
- ----- Method: PBTextPreferenceView class>>unload (in category 'class initialization') -----
- unload
- 	"Unload order is not guaranteed so guard against failure"
- 	[PreferenceViewRegistry ofTextPreferences unregister: self] on: Error do:[]!

Item was removed:
- ----- Method: PBTextPreferenceView>>preferenceValue (in category 'user interface') -----
- preferenceValue
- 	^ (self preference preferenceValue ifNil: ['']) asStringOrText!

Item was removed:
- ----- Method: PBTextPreferenceView>>preferenceValue: (in category 'user interface') -----
- preferenceValue: aTextOrString
- 	self preference preferenceValue: aTextOrString asString.
- 	^true.!

Item was removed:
- ----- Method: PBTextPreferenceView>>representativeButtonWithColor:inPanel: (in category 'user interface') -----
- representativeButtonWithColor: aColor inPanel: aPreferenceBrowser
- 	^self horizontalPanel
- 		layoutInset: 2;
- 		color: aColor;
- 		cellGap: 20;
- 		cellPositioning: #center;
- 		addMorphBack: self morphForName;
- 		addMorphBack: self horizontalFiller;
- 		addMorphBack: self textField;
- 		yourself.!

Item was removed:
- ----- Method: PBTextPreferenceView>>textField (in category 'user interface') -----
- textField
- 
- 	^(PluggableTextMorph
- 		on: self
- 		text: #preferenceValue
- 		accept: #preferenceValue:)
- 			acceptOnCR: true;
- 			wrapFlag: false;
- 			hideScrollBarsIndefinitely;
- 			vResizing: #rigid;
- 			hResizing: #rigid;
- 			height: ToolBuilder default inputFieldHeight;
- 			width: (TextStyle default compositionWidthFor: 30);
- 			yourself.!

Item was removed:
- ----- Method: PragmaPreference>>selectors (in category '*PreferenceBrowser') -----
- selectors
- 	"for browsing senders"
- 	^ {getter. setter}!

Item was removed:
- ----- Method: Preference>>open (in category '*PreferenceBrowser') -----
- open
- 
- 	^ self openInCategory: (self categoryList at: 1 ifAbsent: [])!

Item was removed:
- ----- Method: Preference>>openInCategory: (in category '*PreferenceBrowser') -----
- openInCategory: category
- 
- 	| browser |
- 	browser := PreferenceBrowser open.
- 	^ browser
- 		selectedCategory: ((self categoryList includes: category)
- 			ifTrue: [category capitalized]
- 			ifFalse: [browser allCategoryLabel]);
- 		selectedPreference: self;
- 		yourself!

Item was removed:
- ----- Method: Preference>>representativeButtonWithColor:inPanel: (in category '*PreferenceBrowser') -----
- representativeButtonWithColor: aColor inPanel: aPanel
- 	| view |
- 	view := self viewForPanel: aPanel.
- 	^view ifNotNil: [view representativeButtonWithColor: aColor inPanel: aPanel]!

Item was removed:
- ----- Method: Preference>>selectors (in category '*PreferenceBrowser') -----
- selectors
- 	"for browsing senders"
- 	^{name}!

Item was removed:
- ----- Method: Preference>>viewClassForPanel: (in category '*PreferenceBrowser') -----
- viewClassForPanel: aPreferencePanel
- 	^self viewRegistry viewClassFor: aPreferencePanel!

Item was removed:
- ----- Method: Preference>>viewForPanel: (in category '*PreferenceBrowser') -----
- viewForPanel: aPreferencePanel
- 	| viewClass |
- 	viewClass := self viewClassForPanel: aPreferencePanel.
- 	^viewClass ifNotNil: [viewClass preference: self]!

Item was removed:
- ----- Method: Preference>>viewRegistry (in category '*PreferenceBrowser') -----
- viewRegistry
- 	^PreferenceViewRegistry forType: self type!

Item was removed:
- Model subclass: #PreferenceBrowser
- 	instanceVariableNames: 'selectedCategoryIndex selectedPreference searchPattern searchResults lastExecutedSearch preferences title categoryList categoryLabelList'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!

Item was removed:
- ----- Method: PreferenceBrowser class>>initialize (in category 'class initialization') -----
- initialize
- 	self
- 		registerInOpenMenu;
- 		registerInFlaps!

Item was removed:
- ----- Method: PreferenceBrowser class>>open (in category 'instance creation') -----
- open
- 	| browser |
- 	browser := self new.
- 	(PreferenceBrowserMorph withModel: browser)
- 		openAsTool.
- 	^browser.	!

Item was removed:
- ----- Method: PreferenceBrowser class>>prototypicalToolWindow (in category 'instance creation') -----
- prototypicalToolWindow
- 	| window |
- 	window := PreferenceBrowserMorph withModel: self new.
- 	window applyModelExtent.
- 	^window!

Item was removed:
- ----- Method: PreferenceBrowser class>>registerInFlaps (in category 'class initialization') -----
- registerInFlaps
- 	Flaps 
- 		registerQuad: 
- 			{ #PreferenceBrowser. 
- 			#prototypicalToolWindow.
- 			'Preference Browser' translated.
- 			'A tool for expressing personal preferences for numerous options' translated }
- 	 	forFlapNamed: 'Tools' translated.
- 	Flaps replaceToolsFlap!

Item was removed:
- ----- Method: PreferenceBrowser class>>registerInOpenMenu (in category 'class initialization') -----
- registerInOpenMenu
- 	(TheWorldMenu respondsTo: #registerOpenCommand:) ifTrue: [
- 		TheWorldMenu unregisterOpenCommand: 'Preference Browser'.
- 		TheWorldMenu registerOpenCommand: {'Preference Browser'. {self. #open}}].
- 		!

Item was removed:
- ----- Method: PreferenceBrowser class>>unload (in category 'class initialization') -----
- unload
- 	self 
- 		unregisterFromOpenMenu;
- 		unregisterFromFlaps.!

Item was removed:
- ----- Method: PreferenceBrowser class>>unregisterFromFlaps (in category 'class initialization') -----
- unregisterFromFlaps
- 	Flaps 
- 		unregisterQuadsWithReceiver: self;
- 		replaceToolsFlap!

Item was removed:
- ----- Method: PreferenceBrowser class>>unregisterFromOpenMenu (in category 'class initialization') -----
- unregisterFromOpenMenu
- 	 (TheWorldMenu respondsTo: #registerOpenCommand:)
- 		ifTrue: [TheWorldMenu unregisterOpenCommand: 'Preference Browser'].
- !

Item was removed:
- ----- Method: PreferenceBrowser>>allCategoryLabel (in category 'user interface') -----
- allCategoryLabel
- 	^'-- all --' translated!

Item was removed:
- ----- Method: PreferenceBrowser>>allCategorySelected (in category 'accessing') -----
- allCategorySelected
- 	^self selectedCategory = self allCategoryLabel!

Item was removed:
- ----- Method: PreferenceBrowser>>allPreferences (in category 'accessing') -----
- allPreferences
- 	^ preferences allPreferences sort:
- 			[:pref1 :pref2 | 
- 			pref1 viewRegistry viewOrder  <pref2 viewRegistry viewOrder  or:
- 					[pref1 viewRegistry viewOrder  =pref2 viewRegistry viewOrder 
- 						 &(pref1 name  <pref2 name)]]!

Item was removed:
- ----- Method: PreferenceBrowser>>categoryLabelList (in category 'accessing') -----
- categoryLabelList
- 
- 	^ categoryLabelList ifNil: [categoryLabelList := self categoryList
- 		collect: [:category | '{1} ({2})' format: {
- 			category.
- 			self numPreferencesInCategory: category }]]!

Item was removed:
- ----- Method: PreferenceBrowser>>categoryList (in category 'accessing') -----
- categoryList
- 
- 	^ categoryList ifNil: [categoryList := OrderedCollection new
- 		add:  self allCategoryLabel;
- 		addAll: (preferences categoryList collect: [:ea | ea capitalized]) sorted;
- 		add: self searchResultsCategoryLabel;
- 		yourself].
- 	
- 	!

Item was removed:
- ----- Method: PreferenceBrowser>>defaultSelected (in category 'preferences search') -----
- defaultSelected
- 
- 	(Project uiManager 
- 		confirm: 'Do you really want to restore the default preferences?\\If you want to keep the current state, you have to save it first.' translated withCRs
- 		title: 'Restore Default Preferences')
- 			ifFalse: [^ self].
- 
- 	Preferences chooseInitialSettings.!

Item was removed:
- ----- Method: PreferenceBrowser>>defaultWindowColor (in category 'user interface') -----
- defaultWindowColor
- 	^ (Color r: 0.671 g: 0.9 b: 0.9)!

Item was removed:
- ----- Method: PreferenceBrowser>>findCategoryFromPreference: (in category 'find') -----
- findCategoryFromPreference: aPreference
- 	"Find all categories in which the preference occurs"
- 
- 	| categories menu | 
- 	categories := aPreference categoryList.
- 	categories size = 0
- 		ifTrue: [^ self].
- 	categories size = 1
- 		ifTrue: [^ self selectedCategory: categories first].
- 	
- 	menu := MenuMorph new defaultTarget: self.
- 	aPreference categoryList do:
- 		[:aCategory | menu add: aCategory target: self selector: #selectedCategory: argument: aCategory].
- 	menu popUpInWorld!

Item was removed:
- ----- Method: PreferenceBrowser>>helpSelected (in category 'preferences search') -----
- helpSelected 
- 	"Open up a workspace with explanatory info in it about the Preference Browser"
- 	Workspace new
- 		contents: self helpText;
- 		openLabel: self windowTitle.!

Item was removed:
- ----- Method: PreferenceBrowser>>helpText (in category 'preferences search') -----
- helpText
- 	^(String streamContents: [:str |
- 		str nextPutAll:
- 'Many aspects of the system are governed by the settings of various ''Preferences''.
- 
- Click on any of the categories shown in the list on the left to see all the preferences in that category. Alternatively type into the search box at the top of the window and all Preferences matching whatever you typed will appear in the ''search results'' category. A preference is considered to match your search if either its name matches the text *or* if anything in the preference''s help text does.
- 
- To find out more about any particular Preference just select it and its help text will appear. The ''more'' button at the end of the hlpe text pops up a menu with some more expert-oriented options.
- 
- Some preferences can be ''local'' instead of global. When a preference is set as global its value will apply to whatever project you are in. A local preference will only be valid in the project that you set it in.
- 
- The ''Save'' button allow you to quickly save your current settings so it can later be restored with the ''Load'' button.
- 
- To carry your settings to another Squeak you might want to use the ''Save to disk'' and ''Load from disk'' buttons. The save to disk option will store all your settings in a ''my.prefs'' file in your Squeak''s current directory.
- .']) translated!

Item was removed:
- ----- Method: PreferenceBrowser>>initialExtent (in category 'user interface') -----
- initialExtent
- 	"Scale here because the receiver is not built through a tool builder. See #buildPluggableWindow:."
- 
- 	self flag: #workaround. "Avoid overflowing items for the current set of preferences (ct 6/16/2022 14:33). In the future, we want to improve the layouting of the PreferenceBrowser instead. See: https://lists.squeakfoundation.org/pipermail/squeak-dev/2022-June/221107.html"
- 	^ (705 @ 440 * RealEstateAgent scaleFactor) rounded!

Item was removed:
- ----- Method: PreferenceBrowser>>initialize (in category 'initialize-release') -----
- initialize
- 	super initialize.
- 	preferences := Preferences.
- 	title := 'Preference Browser'.!

Item was removed:
- ----- Method: PreferenceBrowser>>lastExecutedSearch (in category 'accessing') -----
- lastExecutedSearch
- 	^lastExecutedSearch!

Item was removed:
- ----- Method: PreferenceBrowser>>lastExecutedSearch: (in category 'accessing') -----
- lastExecutedSearch: aTextOrString
- 	^lastExecutedSearch:= aTextOrString!

Item was removed:
- ----- Method: PreferenceBrowser>>loadFromDiskSelected (in category 'preferences search') -----
- loadFromDiskSelected 
- 
- 	(Project uiManager
- 		confirm: 'Do you really want to restore your personal preferences from disk?\\The file ''my.prefs'' will be loaded.' translated withCRs
- 		title: 'Restore Preferences from Disk' translated) ifFalse: [^ self].
- 
- 	preferences restorePreferencesFromDisk!

Item was removed:
- ----- Method: PreferenceBrowser>>loadSelected (in category 'preferences search') -----
- loadSelected
- 
- 	(Project uiManager
- 		confirm: 'Do you really want to restore your personal preferences?' translated
- 		title: 'Restore Preferences') ifFalse: [^ self].
- 		
- 	preferences restorePersonalPreferences.!

Item was removed:
- ----- Method: PreferenceBrowser>>nonSpecialCategorySelected (in category 'accessing') -----
- nonSpecialCategorySelected
- 	^self allCategorySelected not & self searchResultsCategorySelected not!

Item was removed:
- ----- Method: PreferenceBrowser>>numPreferencesInCategory: (in category 'accessing') -----
- numPreferencesInCategory: aCategory
- 
- 	aCategory = self allCategoryLabel
- 		ifTrue: [^ preferences allPreferences size].
- 	aCategory = self searchResultsCategoryLabel
- 		ifTrue: [^ self searchResults size].
- 	^ (preferences preferencesInCategory: aCategory) size!

Item was removed:
- ----- Method: PreferenceBrowser>>preferences (in category 'accessing') -----
- preferences
- 	^ preferences!

Item was removed:
- ----- Method: PreferenceBrowser>>preferencesInCategory: (in category 'accessing') -----
- preferencesInCategory: aCategory
- 	^(preferences preferencesInCategory: aCategory) sort:
- 		[:pref1 :pref2 | 
- 				pref1 viewRegistry viewOrder  <pref2 viewRegistry viewOrder  or:
- 						[pref1 viewRegistry viewOrder  =pref2 viewRegistry viewOrder 
- 							 &(pref1 name  <pref2 name)]]!

Item was removed:
- ----- Method: PreferenceBrowser>>representsSameBrowseeAs: (in category 'user interface') -----
- representsSameBrowseeAs: anotherModel
- 	"If an existing Preference browser is on-screen, use it. Compare preferences with #== because those are typically persistent (or long living) database objects in the image."
- 	
- 	^ self class = anotherModel class
- 		and: [self preferences == anotherModel preferences]!

Item was removed:
- ----- Method: PreferenceBrowser>>saveSelected (in category 'preferences search') -----
- saveSelected
- 
- 	(Project uiManager
- 		confirm: 'Do you really want to overwrite your personal preferences?' translated
- 		title: 'Save Preferences') ifFalse: [^ self].
- 
- 	preferences savePersonalPreferences.!

Item was removed:
- ----- Method: PreferenceBrowser>>saveToDiskSelected (in category 'preferences search') -----
- saveToDiskSelected 
- 
- 	(Project uiManager
- 		confirm: 'Do you really want to overwrite your personal preferences on disk?\\The file ''my.prefs'' will be updated.' translated withCRs
- 		title: 'Save Preferences to Disk' translated) ifFalse: [^ self].
- 		
- 	preferences storePreferencesToDisk!

Item was removed:
- ----- Method: PreferenceBrowser>>searchFieldLegend (in category 'accessing') -----
- searchFieldLegend
- 	^''.!

Item was removed:
- ----- Method: PreferenceBrowser>>searchPattern (in category 'accessing') -----
- searchPattern
- 	^searchPattern ifNil: [searchPattern := self searchFieldLegend]!

Item was removed:
- ----- Method: PreferenceBrowser>>searchPattern: (in category 'accessing') -----
- searchPattern: aStringOrText
- 	aStringOrText 
- 		ifEmpty: [searchPattern := self searchFieldLegend]
- 		ifNotEmpty: [searchPattern := aStringOrText asString].
- 	self changed: #searchPattern.
- 	^true!

Item was removed:
- ----- Method: PreferenceBrowser>>searchPatternNeverTriggered (in category 'accessing') -----
- searchPatternNeverTriggered
- 
- 	^self searchPattern!

Item was removed:
- ----- Method: PreferenceBrowser>>searchPreferencesFor: (in category 'preferences search') -----
- searchPreferencesFor: pattern
- 	| result |
- 	result := pattern asString asLowercase withBlanksTrimmed.
- 	result ifEmpty: [^self].
- 	searchResults := self allPreferences select: [:aPreference |
- 		((aPreference name includesSubstring: result caseSensitive: false)
- 			or: [aPreference helpString includesSubstring: result caseSensitive: false])
- 			or: [aPreference codeString includesSubstring: result caseSensitive: false] ].
- 	self updateSearchResultsLabel.
- 	self selectSearchResultsCategory.
- 	self lastExecutedSearch: pattern.
- !

Item was removed:
- ----- Method: PreferenceBrowser>>searchResults (in category 'accessing') -----
- searchResults
- 	^searchResults ifNil: [searchResults := #()]!

Item was removed:
- ----- Method: PreferenceBrowser>>searchResultsCategoryLabel (in category 'user interface') -----
- searchResultsCategoryLabel
- 	^'-- search results --' translated!

Item was removed:
- ----- Method: PreferenceBrowser>>searchResultsCategorySelected (in category 'accessing') -----
- searchResultsCategorySelected
- 	^self selectedCategory = self searchResultsCategoryLabel!

Item was removed:
- ----- Method: PreferenceBrowser>>searchSelected (in category 'buttons callbacks') -----
- searchSelected
- 	self searchPreferencesFor: self searchPattern.!

Item was removed:
- ----- Method: PreferenceBrowser>>selectFirstPreferenceOrNil (in category 'accessing') -----
- selectFirstPreferenceOrNil
- 	| prefs |
- 	self selectedCategory
- 		ifNil: [^self selectedPreference: nil].
- 	prefs := self preferencesInCategory: self selectedCategory.
- 	prefs isEmpty
- 		ifTrue: [^self selectedPreference: nil].
- 	self selectedPreference: prefs first.!

Item was removed:
- ----- Method: PreferenceBrowser>>selectSearchResultsCategory (in category 'accessing') -----
- selectSearchResultsCategory
- 	self selectedCategoryIndex: (self categoryList indexOf: self searchResultsCategoryLabel)!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedCategory (in category 'accessing') -----
- selectedCategory
- 	^self categoryList at: selectedCategoryIndex ifAbsent: []!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedCategory: (in category 'accessing') -----
- selectedCategory: aCategorySymbol
- 	self selectedCategoryIndex: (self categoryList indexOf: aCategorySymbol).!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedCategoryIndex (in category 'accessing') -----
- selectedCategoryIndex
- 	^selectedCategoryIndex ifNil: [selectedCategoryIndex := 0].!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedCategoryIndex: (in category 'accessing') -----
- selectedCategoryIndex: anIndex
- 	anIndex = 0
- 		ifTrue: [^self].
- 	self selectedPreference: nil.
- 	selectedCategoryIndex := anIndex.
- 	self changed: #selectedCategoryIndex.!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedCategoryPreferences (in category 'accessing') -----
- selectedCategoryPreferences
- 	self allCategorySelected
- 		ifTrue: [^self allPreferences].
- 	self searchResultsCategorySelected 
- 		ifTrue: [^self searchResults].
- 	^ self selectedCategory
- 		ifNil: [#()]
- 		ifNotNil: [:cat | self preferencesInCategory: cat]
- 	!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedPreference (in category 'accessing') -----
- selectedPreference
- 	^selectedPreference!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedPreference: (in category 'accessing') -----
- selectedPreference: aPreference
- 	selectedPreference := aPreference.
- 	self changed: #selectedPreference.
- 	self changed: #selectedPreferenceIndex.
- 	self changed: #selectedPreferenceHelpText.!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedPreferenceHelpText (in category 'accessing') -----
- selectedPreferenceHelpText
- 	self selectedPreference
- 		ifNil: [^''].
- 	^self selectedPreference helpString withBlanksTrimmed.!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedPreferenceIndex (in category 'accessing') -----
- selectedPreferenceIndex
- 	^self selectedCategoryPreferences indexOf: self selectedPreference!

Item was removed:
- ----- Method: PreferenceBrowser>>selectedPreferenceIndex: (in category 'accessing') -----
- selectedPreferenceIndex: anIndex
- 	anIndex = 0
- 		ifTrue: [^self].
- 	self selectedPreference: (self selectedCategoryPreferences at: anIndex).!

Item was removed:
- ----- Method: PreferenceBrowser>>stepAt:in: (in category 'stepping') -----
- stepAt: millisecondClockValue in: aWindow
- 	super stepAt: millisecondClockValue in: aWindow.
- 	self searchPattern ~= self lastExecutedSearch
- 		ifTrue: [self searchPreferencesFor: self searchPattern].!

Item was removed:
- ----- Method: PreferenceBrowser>>themeSelected (in category 'preferences search') -----
- themeSelected 
- 	preferences offerThemesMenu!

Item was removed:
- ----- Method: PreferenceBrowser>>updateSearchResultsLabel (in category 'user interface') -----
- updateSearchResultsLabel
- 
- 	self categoryLabelList
- 		at: self categoryLabelList size
- 		put: ('{1} ({2})' format: {
- 			self searchResultsCategoryLabel.
- 			self searchResults size }).
- 	self changed: #categoryLabelList.!

Item was removed:
- ----- Method: PreferenceBrowser>>wantsStepsIn: (in category 'stepping') -----
- wantsStepsIn: aWindow
- 	^true.!

Item was removed:
- ----- Method: PreferenceBrowser>>windowTitle (in category 'user interface') -----
- windowTitle
- 	^ title translated!

Item was removed:
- SystemWindow subclass: #PreferenceBrowserMorph
- 	instanceVariableNames: 'mainPanel defaultButton saveButton loadButton saveToDiskButton loadFromDiskButton themeButton helpButton preferenceList lastKeystrokeTime lastKeystrokes highlightedPreferenceButton'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!

Item was removed:
- ----- Method: PreferenceBrowserMorph class>>withModel: (in category 'instance creation') -----
- withModel: aPreferenceBrowser
- 	^self new initializeWithModel: aPreferenceBrowser;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>adjustPreferenceListItemsWidth (in category 'updating') -----
- adjustPreferenceListItemsWidth
- 	| panel |
- 	self preferenceList scroller submorphs 
- 		ifEmpty: [^self].
- 	panel := self preferenceListInnerPanel. 
- 	panel width: self preferenceList width - (self preferenceList scrollBarThickness*2).
- 	panel submorphsDo: [:ea | ea hResizing: #rigid; width: panel width].
- 	self preferenceList setScrollDeltas.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>basicButton (in category 'submorphs - buttons') -----
- basicButton
- 
- 	^ PluggableButtonMorph new
- 		model: self model;
- 		hResizing: #spaceFill;
- 		vResizing: #spaceFill;
- 		yourself!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>basicKeyPressed: (in category 'event handling') -----
- basicKeyPressed: anEvent
- 	| aChar oldSelection nextSelection max milliSeconds nextSelectionList nextSelectionPref |
- 	aChar := anEvent keyCharacter.
- 	nextSelection := oldSelection := self selectedPreferenceIndex.
- 	max := self selectedCategoryPreferences size.
- 	milliSeconds := Time millisecondClockValue.
- 	milliSeconds - lastKeystrokeTime > 300 ifTrue: ["just use the one current character for selecting"
- 		lastKeystrokes := ''].
- 	lastKeystrokes := lastKeystrokes , aChar asLowercase asString.
- 	lastKeystrokeTime := milliSeconds.
- 	nextSelectionList := OrderedCollection newFrom: (self selectedCategoryPreferences copyFrom: oldSelection + 1 to: max).
- 	nextSelectionList addAll: (self selectedCategoryPreferences copyFrom: 1 to: oldSelection).
- 	"Get rid of blanks and style used in some lists"
- 	nextSelectionPref := nextSelectionList detect: [:a | a name withBlanksTrimmed asLowercase beginsWith: lastKeystrokes]
- 				ifNone: [^ self preferenceList flash"match not found"].
- 	nextSelection := self selectedCategoryPreferences findFirst: [:a | a  = nextSelectionPref].
- 	"No change if model is locked"
- 	oldSelection == nextSelection ifTrue: [^ self preferenceList flash].
- 	^ self selectedPreferenceIndex: nextSelection!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>buttonRowLayoutFrame (in category 'submorphs - buttons') -----
- buttonRowLayoutFrame 
- 
- 	^ LayoutFrame
- 		fractions: (0 at 0 corner: 1 at 0)
- 		offsets: (0 at 0 corner: 0@ ToolBuilder default buttonRowHeight)!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>categoryListLayoutFrame (in category 'submorphs - category list') -----
- categoryListLayoutFrame
- 
- 	^ LayoutFrame fractions: (0 at 0 corner: 0.25 at 1)!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>defaultButton (in category 'submorphs - buttons') -----
- defaultButton
- 	^defaultButton ifNil: 
- 		[defaultButton := self basicButton 
- 						label: 'default' translated; 
- 						action: #defaultSelected;						
- 						setBalloonText: 
- 							'Click here to reset all the preferences to their standard ',
- 							'default values.' translated]!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>downKeyPressed: (in category 'event handling') -----
- downKeyPressed: anEvent
- 	self selectedPreferenceIndex:
- 		(self selectedPreferenceIndex + 1 
- 				min: self selectedCategoryPreferences size)!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>endKeyPressed: (in category 'event handling') -----
- endKeyPressed: anEvent
- 	self selectedPreferenceIndex: self selectedCategoryPreferences size.
- !

Item was removed:
- ----- Method: PreferenceBrowserMorph>>helpButton (in category 'submorphs - buttons') -----
- helpButton
- 	^helpButton ifNil: 
- 		[helpButton := self basicButton 
- 						label: 'help' translated; 
- 						setBalloonText: 'Click here to get some hints on use of this Preferences Panel' translated;
- 						action: #helpSelected]!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>homeKeyPressed: (in category 'event handling') -----
- homeKeyPressed: anEvent
- 	self selectedPreferenceIndex: 1.
- !

Item was removed:
- ----- Method: PreferenceBrowserMorph>>initializeWithModel: (in category 'initialization') -----
- initializeWithModel: aPreferenceBrowser
- 	lastKeystrokeTime := 0.
- 	lastKeystrokes := ''.
- 	self
- 		defaultFocusMorph: #search;
- 		hResizing: #spaceFill; "Snap #extent to grid if enabled. See #worldGridEnabled."
- 		vResizing: #spaceFill; "Snap #extent to grid if enabled. See #worldGridEnabled."
- 		model: aPreferenceBrowser;
- 		setLabel: self model windowTitle;
- 		name: 'PreferenceBrowser';
- 		addMorph: self rootPanel fullFrame: self rootPanelLayoutFrame;
- 		addMorph: self newButtonRow fullFrame: self buttonRowLayoutFrame;
- 		"Set bounds like the MorphicToolBuilder does when building windows."
- 		bounds: (RealEstateAgent 
- 			initialFrameFor: self 
- 			initialExtent: aPreferenceBrowser initialExtent
- 			world: self currentWorld).!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>keyPressedOn:event: (in category 'event handling') -----
- keyPressedOn: aPreferenceView event: anEvent
- 
- 	anEvent commandKeyPressed
- 		ifFalse: [
- 			anEvent keyValue caseOf: {
- 				[27] -> [aPreferenceView offerPreferenceNameMenu: self model].
- 				[30] -> [self upKeyPressed: anEvent].
- 				[31] -> [self downKeyPressed: anEvent].
- 				[1] -> [self homeKeyPressed: anEvent].
- 				[4] -> [self endKeyPressed: anEvent].
- 				[11] -> [self pageUpKeyPressed: anEvent].
- 				[12] -> [self pageDownKeyPressed: anEvent] }
- 					otherwise: [self basicKeyPressed: anEvent].
- 				^ self].
- 	
- 	anEvent keyCharacter
- 		caseOf: {
- 			[$b] -> [self model findCategoryFromPreference: aPreferenceView preference].
- 			[$c] -> [aPreferenceView preference copyName].
- 			[$C] -> [aPreferenceView preference copyCode].
- 			[$i] -> [aPreferenceView preference inspect].
- 			[$m] -> [aPreferenceView browse].
- 			[$n] -> [aPreferenceView browseSenders]}
- 		otherwise: [].!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>loadButton (in category 'submorphs - buttons') -----
- loadButton
- 	^loadButton ifNil: 
- 		[loadButton := self basicButton 
- 						label: 'load' translated; 
- 						action: #loadSelected;						
- 						setBalloonText: 'Click here to reset all the preferences to their values in your Personal Preferences.' translated]!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>loadFromDiskButton (in category 'submorphs - buttons') -----
- loadFromDiskButton
- 	^loadFromDiskButton ifNil: 
- 		[loadFromDiskButton := self basicButton 
- 						label: 'load from disk' translated; 
- 						action: #loadFromDiskSelected;						
- 						setBalloonText: 'Click here to load all the preferences from their saved values on disk.' translated]!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>mainPanel (in category 'submorphs - main panel') -----
- mainPanel
- 	^mainPanel ifNil: 
- 		[mainPanel := BorderedMorph new
- 			color: Color transparent;
- 			borderWidth: 0;
- 			hResizing: #spaceFill;
- 			vResizing: #spaceFill;
- 			cellGap: ProportionalSplitterMorph gripThickness;
- 			changeProportionalLayout;
- 			on: #mouseEnter send: #paneTransition: to: self;
- 			addMorph: self newCategoryList fullFrame: self categoryListLayoutFrame;
- 			addMorph: self preferenceList fullFrame: self preferenceListLayoutFrame;
- 			addPaneSplitters;
- 			yourself].!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>mainPanelLayoutFrame (in category 'submorphs - main panel') -----
- mainPanelLayoutFrame
- 
- 	^ LayoutFrame
- 		fractions: (0 at 0 corner: 1 at 1)
- 		offsets: (0@ self searchTextFieldLayoutFrame bottomOffset corner: 0 at 0)!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>mouseDownOn:event: (in category 'event handling') -----
- mouseDownOn: aPreferenceView event: anEvent
- 
- 	anEvent yellowButtonPressed
- 		ifTrue: [self selectedPreferenceButton preferenceView offerPreferenceNameMenu: self model].!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newButtonRow (in category 'submorphs - buttons') -----
- newButtonRow
- 	^BorderedMorph new
- 		color: Color transparent;
- 		borderWidth: 0;
- 		cellGap: ToolBuilder default panelSpacing;
- 		layoutPolicy: TableLayout new;
- 		listDirection: #leftToRight;
- 		listCentering: #topLeft;
- 		cellPositioning: #topLeft;
- 		on: #mouseEnter send: #paneTransition: to: self;
- 		on: #mouseLeave send: #paneTransition: to: self;
- 		addMorphBack: self defaultButton;
- 		addMorphBack: self newSeparator;
- 		addMorphBack: self saveButton;
- 		addMorphBack: self loadButton;
- 		addMorphBack: self newSeparator;
- 		addMorphBack: self saveToDiskButton;
- 		addMorphBack: self loadFromDiskButton;
- 		addMorphBack: self newSeparator;
- 		addMorphBack: self themeButton;
- 		addMorphBack: self newTransparentFiller;
- 		addMorphBack: self helpButton;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newCategoryList (in category 'submorphs - category list') -----
- newCategoryList 
- 	^(PluggableListMorph
- 		on: self model
- 		list: #categoryLabelList
- 		selected: #selectedCategoryIndex
- 		changeSelected: #selectedCategoryIndex:)
- 			hResizing: #spaceFill;
- 			vResizing: #spaceFill;
- 			layoutFrame: (LayoutFrame fractions: (0 at 0 corner: 0.25 at 1));
- 			yourself.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newCategoryListPanel (in category 'submorphs - category list') -----
- newCategoryListPanel
- 	^Morph new
- 		hResizing: #shrinkWrap;
- 		vResizing: #spaceFill;
- 		color: Color transparent;
- 		layoutPolicy: TableLayout new;
- 		cellGap: 3;
- 		listCentering: #topLeft;
- 		listDirection: #topToBottom;
- 		cellPositioning: #topLeft;
- 		clipSubmorphs: true;
- 		addMorphBack: self newCategoryListPanelLabel;
- 		addMorphBack: self newCategoryList!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newCategoryListPanelLabel (in category 'submorphs - category list') -----
- newCategoryListPanelLabel 
- 	^StringMorph contents: 'Categories' translated.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newPreferenceButtonFor: (in category 'submorphs - preference list') -----
- newPreferenceButtonFor: aPreference 
- 	| button |
- 	button := PBPreferenceButtonMorph preference: aPreference model: self model.
- 	button 
- 		on: #mouseDown
- 		send: #value:
- 		to: 
- 			[:anEvent | 
- 			(anEvent yellowButtonPressed not
- 				or: [PluggableListMorph menuRequestUpdatesSelection
- 					and: [button ~= self selectedPreferenceButton]])
- 						ifTrue: [
- 							anEvent hand newKeyboardFocus: button.
- 							self selectedPreference: aPreference].
- 			self mouseDownOn: button preferenceView event: anEvent];
- 		on: #keyStroke
- 		send: #value:
- 		to: [:anEvent |self keyPressedOn: button preferenceView event: anEvent].
- 				
- 	^button!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newPreferenceListInnerPanel (in category 'submorphs - preference list') -----
- newPreferenceListInnerPanel
- 	| panel |
- 	panel := (Morph new)
- 				color: Color transparent;
- 				layoutPolicy: TableLayout new;
- 				listDirection: #topToBottom;
- 				cellPositioning: #topLeft;
- 				hResizing: #spaceFill;
- 				vResizing: #shrinkWrap;
- 				yourself.
- 	self selectedCategoryPreferences 
- 		do: [:aPref | panel addMorphBack: (self newPreferenceButtonFor: aPref)].
- 	^panel!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newPreferenceListPanel (in category 'submorphs - preference list') -----
- newPreferenceListPanel
- 	| panel |
- 	panel := Morph new
- 		hResizing: #spaceFill;
- 		vResizing: #spaceFill;
- 		color: Color transparent;
- 		layoutPolicy: TableLayout new;
- 		cellGap: 3;
- 		listCentering: #topLeft;
- 		listDirection: #topToBottom;
- 		cellPositioning: #topLeft;
- 		clipSubmorphs: true;
- 		addMorphBack: self newPreferenceListPanelLabel;
- 		addMorphBack: self preferenceList.
- 	^panel.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newPreferenceListPanelLabel (in category 'submorphs - preference list') -----
- newPreferenceListPanelLabel 
- 	^StringMorph contents: 'Preferences' translated.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newSearchTextField (in category 'submorphs - search panel') -----
- newSearchTextField
- 	
- 	| ptm  |
- 	ptm := PluggableTextMorphPlus
- 		on: self model
- 		text: #searchPatternNeverTriggered
- 		accept: #searchPattern:.
- 	
- 	ptm
- 		name: #search;
- 		minimumHeight: 0;
- 		balloonText: 'Search preferences ...';
- 		hideScrollBarsIndefinitely;
- 		vResizing: #spaceFill;
- 		hResizing: #spaceFill;
- 		acceptOnCR: true;
- 		onKeyStrokeSend: #value to: [ ptm hasUnacceptedEdits ifTrue: [ ptm accept ] ].
- 	^ptm.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newSeparator (in category 'submorphs - buttons') -----
- newSeparator
- 	^ Morph new
- 		color: Color transparent;
- 		width: (5 * RealEstateAgent scaleFactor) truncated;
- 		vResizing: #spaceFill;
- 		yourself!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>newTransparentFiller (in category 'submorphs - buttons') -----
- newTransparentFiller
- 	^Morph new
- 		color: Color transparent;
- 		vResizing: #spaceFill;
- 		hResizing: #spaceFill;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>pageDownKeyPressed: (in category 'event handling') -----
- pageDownKeyPressed: anEvent
- 	self selectedPreferenceIndex: (self selectedPreferenceIndex + self preferencesShowing size min: self selectedCategoryPreferences size).
- !

Item was removed:
- ----- Method: PreferenceBrowserMorph>>pageUpKeyPressed: (in category 'event handling') -----
- pageUpKeyPressed: anEvent
- 	self selectedPreferenceIndex: (self selectedPreferenceIndex - self preferencesShowing size max: 1).
- !

Item was removed:
- ----- Method: PreferenceBrowserMorph>>preferenceList (in category 'submorphs - preference list') -----
- preferenceList 
- 
- 	^ preferenceList ifNil: [
- 		preferenceList := ScrollPane new.
- 		preferenceList scroller changeTableLayout.
- 		preferenceList]!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>preferenceListInnerPanel (in category 'submorphs - preference list') -----
- preferenceListInnerPanel
- 	^self preferenceList scroller submorphs first!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>preferenceListLayoutFrame (in category 'submorphs - preference list') -----
- preferenceListLayoutFrame
- 
- 	^ LayoutFrame fractions: (0.25 at 0 corner: 1 at 1)!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>preferencesShowing (in category 'submorphs - preference list') -----
- preferencesShowing
- 	| prefs |
- 	prefs := self preferenceListInnerPanel submorphs
- 					copyFrom: (self selectedPreferenceIndex max: 1)
- 					to: self selectedCategoryPreferences size.
- 	^prefs reject: [:ea | (ea top - prefs first top) > self preferenceList scroller height].!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>rootPanel (in category 'submorphs - root panel') -----
- rootPanel
- 
- 	^ BorderedMorph new
- 		color: Color transparent;
- 		borderWidth: 0;
- 		cellGap: ProportionalSplitterMorph gripThickness;
- 		changeProportionalLayout;
- 		addMorph: self newSearchTextField fullFrame: self searchTextFieldLayoutFrame;
- 		addMorph: self mainPanel fullFrame: self mainPanelLayoutFrame;
- 		yourself!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>rootPanelLayoutFrame (in category 'submorphs - root panel') -----
- rootPanelLayoutFrame 
- 	| frame |
- 	frame := self buttonRowLayoutFrame.
- 	^LayoutFrame fractions: (0 at 0 corner: 1 at 1) offsets: (0@(frame bottomOffset) corner: 0 at 0)!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>saveButton (in category 'submorphs - buttons') -----
- saveButton
- 	^saveButton ifNil: 
- 		[saveButton := self basicButton 
- 						label: 'save' translated; 
- 						action: #saveSelected;						
- 						setBalloonText: 'Click here to save the current constellation of Preferences settings as your personal defaults; you can get them all reinstalled with a single gesture by clicking the "Restore my Personal Preferences".' translated]!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>saveToDiskButton (in category 'submorphs - buttons') -----
- saveToDiskButton
- 	^saveToDiskButton ifNil: 
- 		[saveToDiskButton := self basicButton 
- 						label: 'save to disk' translated; 
- 						action: #saveToDiskSelected;						
- 						setBalloonText: 'Click here to save the current constellation of Preferences settings to a file; you can get them all reinstalled with a single gesture by clicking "Restore Settings From Disk".' translated]!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>searchTextFieldLayoutFrame (in category 'submorphs - search panel') -----
- searchTextFieldLayoutFrame
- 	
- 	^ LayoutFrame
- 		fractions: (0 at 0 corner: 1 at 0)
- 		offsets: (0 at 0 corner: 0@ ToolBuilder default inputFieldHeight)!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedCategory (in category 'model access') -----
- selectedCategory
- 	^self model selectedCategory!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedCategoryIndex (in category 'model access') -----
- selectedCategoryIndex
- 	^self model selectedCategoryIndex!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedCategoryIndex: (in category 'model access') -----
- selectedCategoryIndex: anIndex
- 	^self model selectedCategoryIndex: anIndex!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedCategoryPreferences (in category 'model access') -----
- selectedCategoryPreferences
- 	^self model selectedCategoryPreferences!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedPreference (in category 'model access') -----
- selectedPreference
- 	^self model selectedPreference!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedPreference: (in category 'model access') -----
- selectedPreference: aPreference
- 	^self model selectedPreference: aPreference!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedPreferenceButton (in category 'submorphs - preference list') -----
- selectedPreferenceButton
- 	^(self preferenceListInnerPanel submorphs at: self selectedPreferenceIndex ifAbsent: [nil])!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedPreferenceIndex (in category 'model access') -----
- selectedPreferenceIndex
- 	^self model selectedPreferenceIndex!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>selectedPreferenceIndex: (in category 'model access') -----
- selectedPreferenceIndex: anIndex
- 	^self model selectedPreferenceIndex: anIndex!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>themeButton (in category 'submorphs - buttons') -----
- themeButton
- 	^themeButton ifNil: 
- 		[themeButton := self basicButton 
- 						label: 'more ...' translated; 
- 						action: #themeSelected;
- 						setBalloonText: 'Presents you with a menu of sets or preferences; each item''s balloon-help will tell you about the particular set.  If you choose one, many different preferences that come along are set at the same time; you can subsequently change any settings by using a Preferences Panel' translated].!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>turnOffSelectedPreference (in category 'submorphs - preference list') -----
- turnOffSelectedPreference
- 	highlightedPreferenceButton 
- 		ifNil: [^self].
- 	highlightedPreferenceButton highlightOff.
- 	highlightedPreferenceButton := nil.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>turnOnSelectedPreference (in category 'submorphs - preference list') -----
- turnOnSelectedPreference
- 	
- 	highlightedPreferenceButton = self selectedPreferenceButton
- 		ifTrue: [ highlightedPreferenceButton highlightOff. ^self turnOffSelectedPreference].
- 	highlightedPreferenceButton 
- 		ifNotNil: [:m | m highlightOff].
- 	highlightedPreferenceButton := self selectedPreferenceButton
- 		highlightOn;
- 		yourself.
- 	self preferenceList scrollToShow: highlightedPreferenceButton bounds.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>upKeyPressed: (in category 'event handling') -----
- upKeyPressed: anEvent
- 	self selectedPreferenceIndex: 
- 			(self selectedPreferenceIndex - 1 max: 1).
- !

Item was removed:
- ----- Method: PreferenceBrowserMorph>>update: (in category 'updating') -----
- update: aSymbol
- 	super update: aSymbol.
- 	aSymbol == #selectedPreference
- 		ifTrue: [self updateSelectedPreference].
- 	aSymbol == #selectedCategoryIndex
- 		ifTrue: [self updateSelectedCategoryPreferences].!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>updateSelectedCategoryPreferences (in category 'updating') -----
- updateSelectedCategoryPreferences
- 
- 	| newPanel |
- 	self preferenceList vScrollBarValue: 0.
- 	self preferenceList scroller removeAllMorphs.
- 
- 	(self model allCategorySelected or: [self model searchResultsCategorySelected])
- 		ifTrue: [Cursor wait showWhile: [newPanel := self newPreferenceListInnerPanel]]
- 		ifFalse: [newPanel := self newPreferenceListInnerPanel].
- 		
- 	self preferenceList scroller addMorphBack: newPanel.
- 	self adoptPaneColor: self paneColor.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>updateSelectedPreference (in category 'updating') -----
- updateSelectedPreference
- 	| index |
- 	index := self selectedPreferenceIndex.
- 	index = 0
- 		ifTrue: [^self].
- 	self turnOnSelectedPreference.!

Item was removed:
- ----- Method: PreferenceBrowserMorph>>yellowButtonActivity: (in category 'event handling') -----
- yellowButtonActivity: shiftPressed
- 	"Ignore. See mouseDownOn:event:."!

Item was removed:
- Object subclass: #PreferenceView
- 	instanceVariableNames: 'preference'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!
- PreferenceView class
- 	instanceVariableNames: 'registeredClasses'!
- 
- !PreferenceView commentStamp: '<historical>' prior: 0!
- My subclasses instances are responsible for building the visual representation of each kind of preference.!
- PreferenceView class
- 	instanceVariableNames: 'registeredClasses'!

Item was removed:
- ----- Method: PreferenceView class>>handlesPanel: (in category 'view registry') -----
- handlesPanel: aPreferencePanel
- 	self subclassResponsibility !

Item was removed:
- ----- Method: PreferenceView class>>preference: (in category 'instance creation') -----
- preference: aPreference
- 	^self new
- 		initializeWithPreference: aPreference;
- 		yourself!

Item was removed:
- ----- Method: PreferenceView>>browse (in category 'user interface') -----
- browse
- 
- 	^ self preference browse!

Item was removed:
- ----- Method: PreferenceView>>browseSenders (in category 'user interface') -----
- browseSenders
- 
- 	^ self preference browseSenders!

Item was removed:
- ----- Method: PreferenceView>>initializeWithPreference: (in category 'initialization') -----
- initializeWithPreference: aPreference
- 	preference := aPreference!

Item was removed:
- ----- Method: PreferenceView>>morphForName (in category 'user interface') -----
- morphForName
- 
- 	^ ((StringMorph contents: self preference readableName)
- 			color: ((UserInterfaceTheme current get: #textColor for: PluggableListMorph) ifNil: [Color black]);
- 			font: ((UserInterfaceTheme current get: #font for: PluggableListMorph) ifNil: [TextStyle defaultFont]);
- 			yourself)!

Item was removed:
- ----- Method: PreferenceView>>preference (in category 'accessing') -----
- preference
- 	^preference!

Item was removed:
- ----- Method: PreferenceView>>representativeButtonWithColor:inPanel: (in category 'user interface') -----
- representativeButtonWithColor: aColor inPanel: aPreferencesPanel
- 	self subclassResponsibility !

Item was removed:
- ----- Method: PreferenceView>>tearOffButton (in category 'user interface') -----
- tearOffButton
- 	"Hand the user a button the can control this"
- 
- 	| aButton |
- 	aButton := self representativeButtonWithColor: ((UserInterfaceTheme current get: #uniformWindowColor for: Model) ifNil: [Color white]) inPanel: nil.
- 	aButton borderWidth: 1; borderColor:  Color black; useRoundedCorners.
- 	aButton openInHand!

Item was removed:
- Object subclass: #PreferenceViewRegistry
- 	instanceVariableNames: 'registeredClasses viewOrder'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!
- PreferenceViewRegistry class
- 	instanceVariableNames: 'registries'!
- 
- !PreferenceViewRegistry commentStamp: '<historical>' prior: 0!
- PreferenceViewRegistry is much like the AppRegistry classes.  Its purpose is to allow PreferenceBrowser implementers to register its own views for each kind of preference.!
- PreferenceViewRegistry class
- 	instanceVariableNames: 'registries'!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>forType: (in category 'accessing') -----
- forType: typeName
- 	"Answer the preference registry for the given type name"
- 	^typeName caseOf:{
- 		[#Boolean]	->	[self ofBooleanPreferences].
- 		[#Color]	->	[self ofColorPreferences].
- 		[#Font]		->	[self ofFontPreferences].
- 		[#Number]	->	[self ofNumericPreferences].
- 		[#String]	->	[self ofTextPreferences].
- 		[#Class]	->	[self ofClassPreferences].
- 		[#Halo]		->	[self ofHaloThemePreferences].
- 		[#WindowColor]	-> [self registryOf: #windowColorPreferences]
- 	} otherwise:[self registryOf: typeName].!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>initialize (in category 'class initialization') -----
- initialize
- 	"Ensure we aren't carrying obsolete references"
- 	self removeObsolete.!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>ofBooleanPreferences (in category 'instance creation') -----
- ofBooleanPreferences
- 	^(self registryOf: #booleanPreferences)
- 		viewOrder: 1; 
- 		yourself.!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>ofClassPreferences (in category 'instance creation') -----
- ofClassPreferences
- 	^(self registryOf: #classPreferences)
- 		viewOrder: 3;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>ofColorPreferences (in category 'instance creation') -----
- ofColorPreferences
- 	^(self registryOf: #colorPreferences)
- 		viewOrder: 5;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>ofFontPreferences (in category 'instance creation') -----
- ofFontPreferences
- 	^(self registryOf: #fontPreferences)
- 		viewOrder: 4;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>ofHaloThemePreferences (in category 'instance creation') -----
- ofHaloThemePreferences
- 	^(self registryOf: #haloThemePreferences)
- 		viewOrder: 2;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>ofNumericPreferences (in category 'instance creation') -----
- ofNumericPreferences
- 	^(self registryOf: #numericPreferences)
- 		viewOrder: 3;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>ofTextPreferences (in category 'instance creation') -----
- ofTextPreferences
- 	^(self registryOf: #textPreferences)
- 		viewOrder: 3;
- 		yourself.!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>registries (in category 'instance creation') -----
- registries
- 	^registries ifNil: [registries := Dictionary new]!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>registryOf: (in category 'instance creation') -----
- registryOf: aSymbol
- 	^self registries at: aSymbol ifAbsentPut: [self new]!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>removeObsolete (in category 'class initialization') -----
- removeObsolete
- 	"PreferenceViewRegistry removeObsolete"
- 	"Remove obsolete entries from the registries"
- 	self registries do:[:viewRegistry|
- 		viewRegistry registeredClasses copy do:[:rClass|
- 			rClass isObsolete ifTrue:[viewRegistry unregister: rClass]]].!

Item was removed:
- ----- Method: PreferenceViewRegistry class>>typeOfRegistry: (in category 'accessing') -----
- typeOfRegistry: aRegistry
- 	"Answer the type name for a particular view registry"
- 	^aRegistry caseOf:{
- 		[self ofBooleanPreferences]	-> [#Boolean].
- 		[self ofColorPreferences]		-> [#Color].
- 		[self ofFontPreferences]		-> [#Font].
- 		[self ofNumericPreferences]	-> [#Number].
- 		[self ofTextPreferences]		-> [#String].
- 		[self ofClassPreferences]	-> [#Class].
- 		[self ofHaloThemePreferences]	-> [#Halo].
- 		[self registryOf: #windowColorPreferences]	-> [#WindowColor].
- 	} otherwise:[self registries keyAtIdentityValue: aRegistry ifAbsent:[nil]].!

Item was removed:
- ----- Method: PreferenceViewRegistry>>initialize (in category 'initialize-release') -----
- initialize
- 	viewOrder := 1.!

Item was removed:
- ----- Method: PreferenceViewRegistry>>register: (in category 'view registry') -----
- register: aProviderClass
- 	(self registeredClasses includes: aProviderClass) 
- 		ifFalse: [self registeredClasses add: aProviderClass].!

Item was removed:
- ----- Method: PreferenceViewRegistry>>registeredClasses (in category 'view registry') -----
- registeredClasses
- 	^registeredClasses ifNil: [registeredClasses := OrderedCollection new]!

Item was removed:
- ----- Method: PreferenceViewRegistry>>unregister: (in category 'view registry') -----
- unregister: aProviderClass
- 	self registeredClasses remove: aProviderClass ifAbsent: []!

Item was removed:
- ----- Method: PreferenceViewRegistry>>viewClassFor: (in category 'view registry') -----
- viewClassFor: aPreferencePanel
- 	^self registeredClasses 
- 		detect: [:aViewClass| aViewClass handlesPanel: aPreferencePanel]
- 		ifNone: [].!

Item was removed:
- ----- Method: PreferenceViewRegistry>>viewOrder (in category 'view order') -----
- viewOrder
- 	"answer the order in which the registered views should appear relative to the other views"
- 	^viewOrder!

Item was removed:
- ----- Method: PreferenceViewRegistry>>viewOrder: (in category 'view order') -----
- viewOrder: aNumber
- 	viewOrder := aNumber!

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

Item was removed:
- ----- Method: PreferenceWizardMorph class>>initialize (in category 'class initialization') -----
- initialize
- 
- 	TheWorldMenu registerOpenCommand: {'Preference Wizard'. {self. #open}}. !

Item was removed:
- ----- Method: PreferenceWizardMorph class>>open (in category 'instance creation') -----
- open
- 
- 	^ PreferenceWizardMorph new openInWorld!

Item was removed:
- ----- Method: PreferenceWizardMorph>>accept (in category 'actions') -----
- accept
- 
- 	self showInstallPage.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>addOrReplaceBrowser (in category 'initialization - playfield') -----
- addOrReplaceBrowser
- 
- 	self
- 		addOrReplaceTool: (ToolSet browse: Morph selector: #drawOn:)
- 		named: #browser.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>addOrReplaceSenders (in category 'initialization - playfield') -----
- addOrReplaceSenders
- 
- 	self
- 		addOrReplaceTool:
- 			(ToolSet
- 				browseMessageSet: (SystemNavigation default allCallsOn: #negated)
- 				name: 'Senders' translated
- 				autoSelect: 'negated')
- 		named: #senders!

Item was removed:
- ----- Method: PreferenceWizardMorph>>addOrReplaceTool:named: (in category 'initialization - playfield') -----
- addOrReplaceTool: windowOrModel named: toolName
- 
- 	| window |
- 	window := windowOrModel isMorph
- 		ifTrue: [windowOrModel]
- 		ifFalse: [windowOrModel dependents detect: [:ea | ea isSystemWindow]].
- 	window
- 		name: toolName;
- 		makeUnclosable.
- 	(previewWorld submorphNamed: window knownName)
- 		ifNil: [previewWorld addMorph: window]
- 		ifNotNil: [:existing |
- 			window bounds: existing bounds.
- 			previewWorld addMorph: window inFrontOf: existing.
- 			existing makeClosable; delete].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>addOrReplaceWorkspace (in category 'initialization - playfield') -----
- addOrReplaceWorkspace
- 
- 	self
- 		addOrReplaceTool: (Workspace open contents: '3+4 "Select and hit [CMD]+[P]."')
- 		named: #workspace.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>adjustSettingsForLowPerformance (in category 'support') -----
- adjustSettingsForLowPerformance
- 
- 	self updateLowPerformanceLabel: 'Please wait, optimizing performance...' translated.
- 	self refreshWorld.
- 	
- 	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].
- 	
- 	self stateSmartHorizontalSplitters ifTrue: [self toggleSmartHorizontalSplitters].
- 	self stateSmartVerticalSplitters ifTrue: [self toggleSmartVerticalSplitters].
- 	
- 	PluggableListMorph
- 		highlightHoveredRow: false;
- 		filterableLists: false;
- 		highlightPreSelection: true; "Feedback is important!!"
- 		flashOnErrors: false.
- 	TheWorldMainDockingBar showSecondsInClock: false.
- 	Preferences disable: #balloonHelpInMessageLists.
- 	
- 	
- 	"Set simple background."
- 	self currentWorld setAsBackground: MorphicProject defaultFill.
- 	
- 	"Done."
- 	self updateLowPerformanceLabel: 'Settings were adjusted for optimal performance.' translated.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>changed: (in category 'updating') -----
- changed: aspect
- 
- 	super changed: aspect.
- 
- 	(aspect beginsWith: #state)
- 		ifTrue: [super changed: ('label', (aspect allButFirst: 5)) asSymbol].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>changedRadio (in category 'updating') -----
- changedRadio
- 
- 	self dependents
- 		select: [:dep | dep respondsTo: #getLabelSelector]
- 		thenDo: [:button |
- 			button update: button getStateSelector.
- 			button update: button getLabelSelector].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>checkInternetOn: (in category 'updating') -----
- checkInternetOn: button
- 
- 	self isInWorld ifFalse: [^ self].
- 	(self hasProperty: #checkInternet) ifFalse: [^ self].
- 	
- 	self hasInternetConnection
- 		ifFalse: [button enabled: false; label: 'Please check your internet connection...' translated]
- 		ifTrue: [^ self hasSecureInternetConnection
- 			ifFalse: [button enabled: false; label: 'Secure https not available, possible virtual machine issue' translated]
- 			ifTrue: [button enabled: true; label: (button valueOfProperty: #label)]].
- 
- 	(self future: 1000) checkInternetOn: button.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>checkmark (in category 'initialization') -----
- checkmark
- 
- 	^ checkmark ifNil: [checkmark := (((ToolIcons iconNamed: #checkmark) dyed: Color white) scaledToSize: (TextStyle defaultFont height * 1.25) asPoint) asMorph]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>chooseScaleFactor: (in category 'actions - radio') -----
- chooseScaleFactor: inPercent
- 
- 	Display relativeUiScaleFactor: inPercent / 100.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>chooseTheme: (in category 'actions - radio') -----
- chooseTheme: aTheme
- 
- 	aTheme applyScaled.
- 
- 	"The theme does not theme this fake world."
- 	previewWorld fillStyle: self world fillStyle.
- 	
- 	self changedRadio.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createButton (in category 'initialization - building') -----
- createButton
- 
- 	^ PluggableButtonMorphPlus new
- 		setProperty: #noUserInterfaceTheme toValue: true;
- 		offColor: (self defaultColor adjustBrightness: 0.2);
- 		feedbackColor: (self defaultColor adjustBrightness: 0.4);
- 		model: self;
- 		font: (UserInterfaceTheme current get: #wizardButtonFont);
- 		textColor: self defaultTextColor;
- 		borderColor: self defaultTextColor;
- 		instVarNamed: #borderColor put: self defaultTextColor; "HACK!!"
- 		borderWidth: (2 * RealEstateAgent scaleFactor) truncated;
- 		cornerStyle: (self hasLowPerformance ifTrue: [#square] ifFalse: [#rounded]);
- 		vResizing: #shrinkWrap;
- 		hResizing: #shrinkWrap;
- 		layoutInset: self defaultButtonMargins;
- 		yourself!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createCheckbox:for: (in category 'initialization - building') -----
- createCheckbox: label for: selector
- 
- 	^ self
- 		createCheckbox: label
- 		for: selector
- 		help: #()!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createCheckbox:for:help: (in category 'initialization - building') -----
- createCheckbox: label for: selector help: terms
- 
- 	| box lbl btn |
- 	
- 	btn := self createButton
- 		layoutInset: 0;
- 		label: ' ';
- 		onColor: (self defaultColor adjustBrightness: 0.3) offColor: (self defaultColor adjustBrightness: 0.3);
- 		vResizing: #rigid;
- 		hResizing: #rigid;
- 		action: ('toggle', selector) asSymbol;
- 		getStateSelector: ('state', selector) asSymbol;
- 		getLabelSelector: ('label', selector) asSymbol;
- 		extent: (TextStyle defaultFont height * 1.75) asPoint.
- 
- 	lbl := self createLabel: label color: self defaultTextColor.
- 	lbl hResizing: #spaceFill.
- 	
- 	box := Morph new
- 		setProperty: #isCheckbox toValue: true;
- 		color: Color transparent;
- 		changeTableLayout;
- 		listDirection: #leftToRight;
- 		cellPositioning: #topLeft;
- 		hResizing: #spaceFill;
- 		vResizing: #shrinkWrap;
- 		rubberBandCells: true;
- 		cellGap: (TextStyle defaultFont widthOf: $x);
- 		yourself.
- 		
- 	box addAllMorphs: {btn. lbl}.
- 	self
- 		setBalloonText: (terms isString ifTrue: [terms] ifFalse: [self findHelpStringFor: terms])
- 		for: box.
- 	^ box!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createHorizontalSpacer (in category 'initialization - building') -----
- createHorizontalSpacer
- 
- 	^ Morph new
- 		color: Color transparent;
- 		hResizing: #spaceFill;
- 		extent: 5 at 5;
- 		yourself!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createLabel: (in category 'initialization - building') -----
- createLabel: aString
- 
- 	^ self createLabel: aString color: (self defaultTextColor adjustBrightness: -0.15)!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createLabel:color: (in category 'initialization - building') -----
- createLabel: aString color: aColor
- 
- 	| lbl |
- 	lbl := TextMorph new hResizing: #spaceFill; vResizing: #shrinkWrap.
- 	lbl newContents:aString.
- 	lbl text
- 		addAttribute: (TextColor color: aColor);
- 		addAttribute: (TextFontReference toFont: ((UserInterfaceTheme current get: #wizardStandardFont))).
- 	lbl margins: self defaultTextMargins.
- 	lbl lock.
- 	^ lbl!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createPage (in category 'initialization - building') -----
- createPage
- 
- 	^ Morph new
- 		color: Color transparent;
- 		hResizing: #spaceFill;
- 		vResizing: #spaceFill;
- 		changeTableLayout;
- 		listDirection: #topToBottom;
- 		cellPositioning: #topLeft;
- 		layoutInset: (self layoutInset asPoint corner: self cellGap at 0);
- 		cellGap: self cellGap;
- 		yourself!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createRadioButton:for:argument: (in category 'initialization - building') -----
- createRadioButton: label for: selector argument: object
- 
- 	^ self createRadioButton: label for: selector argument: object help: #()!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createRadioButton:for:argument:help: (in category 'initialization - building') -----
- createRadioButton: label for: selector argument: object help: terms
- 
- 	| box lbl btn suffix |
- 	suffix := ((object respondsTo: #name)
- 		ifTrue: [object name]
- 		ifFalse: [object asString]) asLegalSelector.
- 
- 	btn := self createButton
- 		layoutInset: 0;
- 		label: ' ';
- 		onColor: (self defaultColor adjustBrightness: 0.3) offColor: (self defaultColor adjustBrightness: 0.3);
- 		vResizing: #rigid;
- 		hResizing: #rigid;
- 		actionSelector: ('choose', selector, ':') asSymbol;
- 		arguments: {object};
- 		getStateSelector: ('state', selector, suffix) asSymbol;
- 		getLabelSelector: ('radio', selector, suffix) asSymbol;
- 		extent: (TextStyle defaultFont height * 1.75) asPoint.
- 		
- 	lbl := self createLabel: label color: self defaultTextColor.
- 	lbl hResizing: #spaceFill.
- 	
- 	box := Morph new
- 		setProperty: #isRadioButton toValue: true;
- 		color: Color transparent;
- 		changeTableLayout;
- 		listDirection: #leftToRight;
- 		cellPositioning: #topLeft;
- 		hResizing: #spaceFill;
- 		vResizing: #shrinkWrap;
- 		rubberBandCells: true;
- 		cellGap: (TextStyle defaultFont widthOf: $x);
- 		yourself.
- 		
- 	box addAllMorphs: {btn. lbl}.
- 	self
- 		setBalloonText: (terms isString ifTrue: [terms] ifFalse: [self findHelpStringFor: terms])
- 		for: box.
- 	^ box!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createScrollPane (in category 'initialization - building') -----
- createScrollPane
- 
- 	| pane |
- 	pane := ScrollPane new
- 		setProperty: #noUserInterfaceTheme toValue: true;
- 		hScrollBarPolicy: #never;
- 		vScrollBarPolicy: #whenNeeded;
- 		borderWidth: 0;
- 		color: Color transparent;
- 		scrollBarThickness: self layoutInset;
- 		yourself.
- 		
- 	pane
- 		hResizing: #spaceFill;
- 		vResizing: #spaceFill.
- 	
- 	pane scroller changeTableLayout.
- 	pane scroller addMorph: (Morph new
- 		changeTableLayout;
- 		color: Color transparent;
- 		hResizing: #spaceFill;
- 		vResizing: #shrinkWrap;
- 		cellGap: self cellGap;
- 		layoutInset: (0 at 0 corner: self cellGap at 0);
- 		yourself).
- 	
- 	pane vScrollBar
- 		setProperty: #noUserInterfaceTheme toValue: true;
- 		sliderColor: Color white.
- 	(pane vScrollBar instVarNamed: #slider) 
- 		cornerStyle: (self hasLowPerformance ifTrue: [#square] ifFalse: [#rounded]);
- 		borderWidth: (2 * RealEstateAgent scaleFactor) truncated.
- 	(pane vScrollBar instVarNamed: #pagingArea) 
- 		cornerStyle: (self hasLowPerformance ifTrue: [#square] ifFalse: [#rounded]).	
- 			
- 	^ pane!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createVerticalSpace (in category 'initialization - building') -----
- createVerticalSpace
- 
- 	^ Morph new
- 		color: Color transparent;
- 		vResizing: #rigid;
- 		extent: 5 at 5;
- 		yourself!

Item was removed:
- ----- Method: PreferenceWizardMorph>>createVerticalSpacer (in category 'initialization - building') -----
- createVerticalSpacer
- 
- 	^ Morph new
- 		color: Color transparent;
- 		vResizing: #spaceFill;
- 		extent: 5 at 5;
- 		yourself!

Item was removed:
- ----- Method: PreferenceWizardMorph>>defaultButtonMargins (in category 'initialization') -----
- defaultButtonMargins
- 
- 	| w h |
- 	w := (self defaultFont widthOf: $x) * 2.
- 	h := self defaultFont height // 2.
- 	^ w at h corner: w at h!

Item was removed:
- ----- Method: PreferenceWizardMorph>>defaultColor (in category 'initialization') -----
- defaultColor
- 
- 	^ Color black!

Item was removed:
- ----- Method: PreferenceWizardMorph>>defaultExtent (in category 'initialization') -----
- defaultExtent
- 
- 	^ 1024 at 768!

Item was removed:
- ----- Method: PreferenceWizardMorph>>defaultFont (in category 'initialization') -----
- defaultFont
- 
- 	^ UserInterfaceTheme current get: #wizardStandardFont!

Item was removed:
- ----- Method: PreferenceWizardMorph>>defaultTextColor (in category 'initialization') -----
- defaultTextColor
- 
- 	^ Color white!

Item was removed:
- ----- Method: PreferenceWizardMorph>>defaultTextMargins (in category 'initialization') -----
- defaultTextMargins
- 
- 	| w h |
- 	w := self defaultFont widthOf: $x.
- 	h := self defaultFont height.
- 	^ 0@(h//8) corner: w@(h//4)!

Item was removed:
- ----- Method: PreferenceWizardMorph>>defaultTextStyle (in category 'initialization') -----
- defaultTextStyle
- 
- 	^ self defaultFont textStyle!

Item was removed:
- ----- Method: PreferenceWizardMorph>>displayScaleChangedBy: (in category 'display scale') -----
- displayScaleChangedBy: factor
- 
- 	isFullScreen == true ifTrue: [
- 		self changedRadio.
- 		previewWorld submorphsDo: [:ea |
- 			ea isSystemWindow ifTrue: [ea displayScaleChangedBy: factor]].
- 		self updateFromChangedScaleFactor.
- 		^ self].
- 	
- 	self
- 		layoutInset: (self defaultFont widthOf: $x) * 2;
- 		cellGap: (self defaultFont widthOf: $x).
- 		
- 	titleMorph
- 		font: (UserInterfaceTheme current get: #wizardTitleFont);
- 		margins: (self cellGap @ 0 corner: self cellGap @ self cellGap).
- 		
- 	self height: titleMorph height * 4.
- 	
- 	self updateLowPerformanceLabel: lowPerformanceMorph contents.
- 	
- 	{ startButton . skipButton } do: [:button |
- 		button
- 			layoutInset: self defaultButtonMargins;
- 			borderWidth: (2 * RealEstateAgent scaleFactor) truncated;
- 			font: (UserInterfaceTheme current get: #wizardButtonFont);
- 			updateMinimumExtent "Font might not change but PPI did."].
- 		
- 	(startButton minimumWidth max: skipButton minimumWidth) in: [:w |
- 		startButton hResizing: #rigid; width: w.
- 		skipButton hResizing: #rigid; width: w.
- 		startButton layoutFrame leftOffset: 2*w negated.
- 		skipButton layoutFrame rightOffset: 2*w].
- 	
- 	self width: self world width.
- 	self center: self world center.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>doesNotUnderstand: (in category 'actions - buttons') -----
- doesNotUnderstand: msg
- 
- 	(msg selector numArgs = 0 and: [msg selector beginsWith: 'label'])
- 		ifTrue: [^ (self perform: ('state', (msg selector allButFirst: 5)) asSymbol)
- 			ifTrue: [self checkmark]
- 			ifFalse: [' '] ].
- 
- 	(msg selector numArgs = 0 and: [msg selector beginsWith: 'radio'])
- 		ifTrue: [^ (self perform: ('state', (msg selector allButFirst: 5)) asSymbol)
- 			ifTrue: [self radiomark]
- 			ifFalse: [' '] ].
- 
- 	(msg selector numArgs = 0 and: [msg selector beginsWith: 'stateTheme'])
- 		ifTrue: [^ self stateTheme: (msg selector allButFirst: 10)].
- 
- 	(msg selector numArgs = 0 and: [msg selector beginsWith: 'stateScaleFactor'])
- 		ifTrue: [^ self stateScaleFactor: (msg selector allButFirst: 16)].
- 		
- 	^ super doesNotUnderstand: msg!

Item was removed:
- ----- Method: PreferenceWizardMorph>>filterEvent:for: (in category 'event handling') -----
- filterEvent: aKeyboardEvent for: aMorph
- 
- 	aKeyboardEvent isKeystroke ifTrue: [
- 		aKeyboardEvent keyCharacter = Character escape
- 			ifTrue: [self showSqueak. ^ aKeyboardEvent ignore].
- 		(aKeyboardEvent keyCharacter = Character cr and: [self isInWelcome])
- 			ifTrue: [self showPlayfield. ^ aKeyboardEvent ignore].
- 			
- 		aKeyboardEvent commandKeyPressed ifTrue: [
- 			aKeyboardEvent keyCharacter = $+
- 				ifTrue: [Preferences increaseFontSize. ^ aKeyboardEvent ignore].
- 			aKeyboardEvent keyCharacter = $-
- 				ifTrue: [Preferences decreaseFontSize. ^ aKeyboardEvent ignore]].
- 		].
- 
- 	^ aKeyboardEvent!

Item was removed:
- ----- Method: PreferenceWizardMorph>>findHelpStringFor: (in category 'support') -----
- findHelpStringFor: someTerms
- 
- 	someTerms ifEmpty: [^ ''].
- 	
- 	^ Preferences allPreferences
- 		detect:[:pref | someTerms allSatisfy: [:term| pref name includesSubstring: term caseSensitive: false]]
- 		ifFound: [:pref | (pref helpString lines joinSeparatedBy: ' ') withBlanksTrimmed]
- 		ifNone: ['']!

Item was removed:
- ----- Method: PreferenceWizardMorph>>handlesDisplayScaleChangedBy: (in category 'display scale') -----
- handlesDisplayScaleChangedBy: factor
- 	
- 	^ true!

Item was removed:
- ----- Method: PreferenceWizardMorph>>handlesMouseDown: (in category 'event handling') -----
- handlesMouseDown: evt
- 	^ true!

Item was removed:
- ----- Method: PreferenceWizardMorph>>hasInternetConnection (in category 'testing') -----
- hasInternetConnection
- 
- 	^ [TestCase new ensureInternetConnection. true]
- 		on: Error do: [false]!

Item was removed:
- ----- 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 isLowerPerformance!

Item was removed:
- ----- Method: PreferenceWizardMorph>>hasSecureInternetConnection (in category 'testing') -----
- hasSecureInternetConnection
- 
- 	^ [TestCase new ensureSecureInternetConnection. true]
- 		on: Error do: [false]!

Item was removed:
- ----- 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 setProperty: #indicateKeyboardFocus toValue: #never.
- 	
- 	self
- 		changeProportionalLayout;
- 		layoutInset: (self defaultFont widthOf: $x) * 2;
- 		cellGap: (self defaultFont widthOf: $x);
- 		cellPositioning: #center;
- 		disableLayout: true;
- 		morphicLayerNumber: self class dialogLayer + 1.
- 				
- 	self addKeyboardCaptureFilter: self.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializeButtons (in category 'initialization - playfield') -----
- initializeButtons
- 
- 	buttonRowMorph := Morph new
- 		color: Color transparent;
- 		changeTableLayout;
- 		listDirection: #leftToRight;
- 		cellGap: self cellGap;
- 		layoutInset: (0 at self layoutInset corner: 0 at 0);
- 		vResizing: #shrinkWrap;
- 		hResizing: #spaceFill;
- 		yourself.
- 		
- 	buttonRowMorph addAllMorphs: {
- 		previousButton := self createButton action: #previous; label: 'Previous' translated.
- 		pagesLabel := (self createLabel: '0 / 0') hResizing: #shrinkWrap; margins: (self layoutInset at 0 corner: self layoutInset at 0); fullBounds; yourself.
- 		nextButton := self createButton action: #next; label: 'Next' translated.
- 		self createHorizontalSpacer.
- 		doneButton := self createButton action: #accept; label: 'Done' translated}.
- 	
- 	(previousButton width max: nextButton width) in: [:w |
- 		previousButton hResizing: #rigid; width: w.
- 		nextButton hResizing: #rigid; width: w].
- 	
- 	buttonRowMorph fullBounds.
- 	buttonRowMorph layoutFrame: (LayoutFrame fractions: (0 @ 1 corner: 1 @ 1) offsets: (0@ buttonRowMorph height negated corner: 0 @ 0)).!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializeControlMorph (in category 'initialization - playfield') -----
- initializeControlMorph
- 
- 	controlMorph := Morph new
- 		color: Color transparent;
- 		changeTableLayout;
- 		listDirection: #topToBottom;
- 		hResizing: #spaceFill;
- 		vResizing: #spaceFill;
- 		layoutInset: (0 at 0 corner: self cellGap at 0);
- 		layoutFrame: (LayoutFrame fractions: (0.0 @ 0 corner: 0.35 @ 1.0) offsets: (0@ titleMorph height corner: 0 @ buttonRowMorph height negated));
- 		yourself.
- 	
- 	controlMorph addMorph: (self createLabel: 'Please take a few minutes and configure the look-and-feel of the environment. You can always adjust these settings later. You can see the effects of these settings in the live and editable windows to the right.' translated).!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePage00ScaleFactor (in category 'initialization - pages') -----
- initializePage00ScaleFactor
- 
- 	| currentPage pane helper |
- 	currentPage := pages add: self createPage.
- 	pane := self createScrollPane.
- 	
- 	currentPage addMorphBack: (self createLabel: 'Choose a scale factor' translated color: Color white).
- 	currentPage addMorphBack: pane.
- 	
- 	helper := MenuMorph new.
- 	TheWorldMainDockingBar instance scaleFactorsOn: helper.
- 	
- 	helper items allButLast do: [:item |
- 		pane scroller firstSubmorph addMorphBack: (self
- 			createRadioButton: item contents
- 			for: #ScaleFactor
- 			argument: item arguments first * 100)].
- 
- 	Display platformScaleFactorKnown ifFalse: [
- 		currentPage addMorphBack: (self createLabel: 'Note that the recommended scale factor for your platform and display is unknown. Please adjust manually.' translated color: Color banana)].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePage01Themes (in category 'initialization - pages') -----
- initializePage01Themes
- 
- 	| currentPage pane |
- 	currentPage := pages add: self createPage.
- 	pane := self createScrollPane.
- 	
- 	currentPage addMorphBack: (self createLabel: 'Choose a theme' translated color: Color white).
- 	currentPage addMorphBack: pane.
- 	
- 	((UserInterfaceTheme allThemes
- 		select: [:uit | uit isGenuine])
- 		sorted: [:a :b | a name <= b name])
- 			do: [:ea |
- 			pane scroller firstSubmorph addMorphBack: (self
- 				createRadioButton: ea name
- 				for: #Theme
- 				argument: ea)].
- 	
- 	pane scroller firstSubmorph addAllMorphsBack: {
- 		self createVerticalSpace.
- 		self createCheckbox: 'Colorful windows' translated for: #UseColorfulWindows help: #(color window).
- 		self createCheckbox: 'Flat widget look' translated for: #Gradients help: 'Whether to use gradients or not.' translated.
- 		self createCheckbox: 'Syntax highlighting' translated for: #UseColorfulSourceCode help: 'Whether to use Shout (Syntax Highlighting As You Type) in all code browsers.' translated.
- 		self createCheckbox: 'Syntax highlighting in workspaces' translated for: #UseColorfulSourceCodeInWorkspaces help: 'Whether to use Shout (Syntax Highlighting As You Type) in all workspaces. This can also be enabled and disabled per workspace via window menu.' translated.
- 	}.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePage02Visuals (in category 'initialization - pages') -----
- initializePage02Visuals
- 
- 	| currentPage pane |
- 	currentPage := pages add: self createPage.
- 	pane := self createScrollPane.
- 	
- 	currentPage addMorphBack: (self createLabel: 'Choose visual settings' color: Color white).
- 	currentPage addMorphBack: pane.
- 	
- 	pane scroller firstSubmorph addAllMorphsBack: {
- 		self createCheckbox: 'Rounded windows' translated for: #RoundedWindowLook help: #(round window).
- 		self createCheckbox: 'Rounded buttons' translated for: #RoundedButtonLook help: #(round button).
- 		self createVerticalSpace.
- 		self createCheckbox: 'Compact list widgets' translated for: #UseCompactLists help: #(compact list).	
- 		self createCheckbox: 'Compact text widgets' translated for: #UseCompactTextFields help: #(compact text).	
- 		self createCheckbox: 'Compact button widgets' translated for: #UseCompactButtons help: #(compact text).	
- 		self createVerticalSpace.
- 		self createCheckbox: 'Soft shadows' translated for: #SoftShadows help: #(soft shadow).
- 		self createCheckbox: 'Hard shadows' translated for: #HardShadows help: 'Whether to use a hard shadow for windows, menus, and dialogs.' translated.
- 		self createVerticalSpace.
- 		self createCheckbox: 'Fast drag and resize' translated for: #FastDrag help: #(fast drag).
- 		self createCheckbox: 'Blinking text cursor' translated for: #BlinkingCursor help: #(blinking cursor).
- 		self createCheckbox: 'Show keyboard focus' translated for: #ShowKeyboardFocus help: #(keyboard indicate).		
- 		self createCheckbox: 'Simple edit indication' translated for: #SimpleFrameAdornments help: #(adornment simple).
- 		}.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePage03Interaction (in category 'initialization - pages') -----
- initializePage03Interaction
- 
- 	| currentPage pane |
- 	currentPage := pages add: self createPage.
- 	pane := self createScrollPane.
- 	
- 	currentPage addMorphBack: (self createLabel: 'Choose interaction settings' color: Color white).
- 	currentPage addMorphBack: pane.
- 	
- 	pane scroller firstSubmorph addAllMorphsBack: {
- 		self createCheckbox: 'Swap mouse buttons' translated for: #SwapMouseButtons help: #(swap mouse).
- 		self createCheckbox: 'Focus follows mouse' translated for: #FocusFollowsMouse help: #(mouse over keyboard).
- 		self createCheckbox: 'Mouse wheel to focus' translated for: #SendMouseWheelToKeyboardFocus help: #(wheel keyboard).
- 		self createVerticalSpace.
- 		self createCheckbox: 'Auto indent lines' translated for: #AutoIndent help: #(auto indent).
- 		self createCheckbox: 'Auto enclose brackets' translated for: #AutoEnclose help: #(auto enclose).
- 		self createCheckbox: 'Enclose text selections' translated for: #EncloseSelection help: #(enclose selection).
- 		self createCheckbox: 'Legacy shortcuts (US/UK only)' translated for: #LegacyShortcuts help: #(legacy shortcuts).
- 		self createVerticalSpace.
- 		self createCheckbox: 'Arrows in scrollbar' translated for: #ScrollBarsWithoutArrowButtons help: 'Whether to show arrows for scrolling or not.' translated.
- 		self createCheckbox: 'Menu in scrollbar' translated for: #ScrollBarsWithoutMenuButton help: 'Whether to show a menu button or not.' translated.
- 		self createCheckbox: 'Scrollbars on the right' translated for: #ScrollBarsOnRight help: #(right scroll).
- 		self createCheckbox: 'Retractable scrollbars' translated for: #UseRetractableScrollBars help: #(retractable).
- 		self createCheckbox: 'Narrow scrollbars' translated for: #ScrollBarsNarrow help: #(narrow scroll).
- 		
- 		}.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePage04InteractionMore (in category 'initialization - pages') -----
- initializePage04InteractionMore
- 
- 	| currentPage pane |
- 	currentPage := pages add: self createPage.
- 	pane := self createScrollPane.
- 	
- 	currentPage addMorphBack: (self createLabel: 'Choose more interaction settings' color: Color white).
- 	currentPage addMorphBack: pane.
- 	
- 	pane scroller firstSubmorph addAllMorphsBack: {
- 		self createCheckbox: 'Windows raise on click' translated for: #WindowsRaiseOnClick help: #(window raise).
- 		self createCheckbox: 'Windows always active' for: #WindowsAlwaysActive help: #(window content active).
- 		self createCheckbox: 'Window buttons always active' translated for: #WindowButtonsAlwaysActive help: #(window control active).
- 		self createVerticalSpace.
- 		self createCheckbox: 'Smart horizontal splitters' translated for: #SmartHorizontalSplitters help: #(horizontal splitter).
- 		self createCheckbox: 'Smart vertical splitters' translated for: #SmartVerticalSplitters help: #(vertical splitter).
- 		self createVerticalSpace.
- 		self createCheckbox: 'Filterable lists and trees' translated for: #FilterableLists help: 'Type something to filter lists. Press [return] to clear the filter. Press [backspace] to clear and restore prior selection.' translated.
- 		self createCheckbox: 'Filters clear if unfocused' translated for: #ClearFilterAutomatically help: #(filter clear).
- 		self createVerticalSpace.
- 		self createCheckbox: 'Attach tools to mouse' translated for: #AttachToolsToMouse help: #(tools attach).		
- 		}.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePage05Tools (in category 'initialization - pages') -----
- initializePage05Tools
- 
- 	| currentPage pane |
- 	currentPage := pages add: self createPage.
- 	pane := self createScrollPane.
- 	
- 	currentPage addMorphBack: (self createLabel: 'Choose other settings' color: Color white).
- 	currentPage addMorphBack: pane.
- 	
- 	pane scroller firstSubmorph addAllMorphsBack: {
- 		self createCheckbox: 'Trace messages browser' translated for: #TraceMessages help: #(trace message).
- 		self createCheckbox: 'Browse class hierarchy' translated for: #AlternativeBrowseIt help: 'Whether to spawn a hierarchy browser or full system browser on browse-it commands.' translated.
- 		self createVerticalSpace.
- 		self createCheckbox: 'Reuse tool windows' translated for: #ReuseWindows help: #(window reuse).
- 		self createCheckbox: 'Tool and menu icons' translated for: #ToolAndMenuIcons help: 'Whether to show icons in tools and menus.' translated.
- 		self createVerticalSpace.
- 		self createCheckbox: 'Embed Transcript in Workspace' translated for: #WorkspaceEmbedTranscript help: #(workspace transcript).
- 		self createCheckbox: 'File out Workspace on accept' translated for: #WorkspaceFileOutOnAccept help: #(workspace accept).
- 		}.
- !

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePage99ExtraPackages (in category 'initialization - pages') -----
- initializePage99ExtraPackages
- 	"Let the user install extra packages."
- 
- 	| currentPage packagesList installButton |
- 	currentPage := self createPage.
- 	currentPage
- 		cellPositioning: #topCenter;
- 		addMorphBack: self createHorizontalSpacer;
- 		addMorphBack: ((self createLabel: 'Do you want to install extra packages?' translated color: Color white)
- 			hResizing: #shrinkWrap;
- 			averageLineLength: 65;
- 			yourself);
- 		addMorphBack: ((self createLabel: 'Note that the installation process requires a network connection with Internet access and might take several minutes.' translated color: (Color gray: 0.9))
- 			hResizing: #shrinkWrap;
- 			averageLineLength: 65;
- 			yourself).
- 	
- 	currentPage submorphs last text addAttribute: TextAlignment centered.
- 	currentPage submorphs last layoutChanged.
- 	
- 	currentPage addMorphBack: (self createVerticalSpace height: self layoutInset).
- 	
- 	packagesList := self createScrollPane.
- 	packagesList
- 		width: (self defaultTextStyle compositionWidthFor: 65);
- 		hResizing: #rigid;
- 		vResizing: #spaceFill.
- 
- 	packagesList scroller firstSubmorph addAllMorphsBack: {
- 		self createCheckbox: 'Latest system updates' translated for: #InstallLatestUpdates help: 'Install the latest patches for ' translated, SystemVersion current version.
- 		self createCheckbox: 'Refactoring support in code browsers' translated for: #InstallRefactoringTools help: 'Refactoring is a process of re-writing or re-organizing text or code. The purpose of a refactor is to make the code or text more understandable and readable while exactly preserving its meaning and behavior' translated.
- 		self createCheckbox: 'Autocomplete in code editors' translated for: #InstallAutoComplete help: 'Package that provides interactive, context-sensitive auto-completion for Squeak' translated.
- 		self createCheckbox: 'Git support and browser' translated for: #InstallGitInfrastructure help: 'From the Git Browser, you can create new commits, synchronize with remote repositories (fetch, pull, push), manage and merge branches, switch between them, and compare different versions' translated.
- 		self createCheckbox: 'Foreign function interface (FFI)' translated for: #InstallFFI help: 'FFI, the Squeak Foreign Function Interface, is used to call functions located in shared libraries that are not part of the Squeak VM nor its plugins' translated.
- 		self createCheckbox: 'Access OS functions' translated for: #InstallOSProcess help: 'OSProcess provides access to operating system functions, including pipes and child process creation' translated.
- 		self createCheckbox: 'Integrate Squeak''s mailing lists' translated for: #InstallSqueakInboxTalk help: 'Through Squeak Inbox Talk, you can engage with our community from within Squeak using tools that integrate our mailing lists such as squeak-dev and vm-dev' translated.
- 		"self createCheckbox: 'Compatibility packages for legacy apps' translated for: #InstallCompatibilityPackages help: 'Install protocols (i.e., classes and methods) that got deprecated for this version to make older applications work without changes.' translated."
- 	}.
- 		
- 	currentPage addMorphBack: packagesList.
- 
- 	currentPage addMorphBack: ((self createLabel: 'Find more on www.squeak.org/projects' color: (Color gray: 0.9))
- 		hResizing: #shrinkWrap; yourself).
- 	
- 	installButton := self createButton
- 		action: #installExtraPackagesVia:;
- 		label: 'Yes, install selected packages.' translated;
- 		yourself.
- 	installButton
- 		setProperty: #label toValue: installButton label;
- 		arguments: {installButton}.
- 	
- 	currentPage addMorphBack: installButton.
- 	currentPage addMorphBack: (self createButton action: #showSqueak; label: 'No, maybe later.' translated).
- 	
- 	^ currentPage!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePages (in category 'initialization - playfield') -----
- initializePages
- 
- 	pages := OrderedCollection new.
- 	currentPageIndex := 0.
- 
- 	self
- 		initializePage00ScaleFactor;
- 		initializePage01Themes;
- 		initializePage02Visuals;
- 		initializePage03Interaction;
- 		initializePage04InteractionMore;
- 		initializePage05Tools.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePlayfield (in category 'initialization') -----
- initializePlayfield
- 
- 	self
- 		initializePages;
- 		initializeButtons;
- 		initializeControlMorph;
- 		initializePreviewWorld.
- 		
- 	self
- 		addAllMorphs: {titleMorph. buttonRowMorph. controlMorph. previewWorld. startButton. skipButton. lowPerformanceMorph}.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializePreviewWorld (in category 'initialization - playfield') -----
- initializePreviewWorld
- 
- 	Preferences enable: #systemWindowEmbedOK.
- 
- 	previewWorld := PasteUpMorph new
- 		hResizing: #spaceFill;
- 		vResizing: #spaceFill;
- 		viewBox: (0 at 0 corner: 500 at 500);
- 		layoutFrame: (LayoutFrame fractions: (0.35 @ 0 corner: 1.0 @ 1.0) offsets: (0@ titleMorph height corner: 0 @ buttonRowMorph height negated));
- 		fillStyle: Project current world fillStyle;
- 		borderWidth: (2 * RealEstateAgent scaleFactor) truncated;
- 		borderColor: Color white;
- 		cornerStyle: (self hasLowPerformance ifTrue: [#square] ifFalse: [#rounded]);
- 		yourself.
- 	
- 	self
- 		addOrReplaceBrowser;
- 		addOrReplaceSenders;
- 		addOrReplaceWorkspace;
- 		updateWindowBounds.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>initializeWelcome (in category 'initialization') -----
- initializeWelcome
- 
- 	titleMorph := ('Welcome to Squeak' translated asText
- 		addAttribute: (TextColor color: self defaultTextColor);
- 		addAttribute: (TextFontReference toFont: (UserInterfaceTheme current get: #wizardTitleFont));
- 		yourself) asMorph lock.
- 	titleMorph margins: (self cellGap @ 0 corner: self cellGap @ self cellGap).
- 	titleMorph layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0)).
- 
- 	startButton := (self createButton action: #showPlayfield; label: 'Configure' translated).
- 	skipButton := (self createButton action: #showSqueak; label: 'Skip' translated).
- 	
- 	(startButton width max: skipButton width) in: [:w |
- 		startButton hResizing: #rigid; width: w.
- 		skipButton hResizing: #rigid; width: w.
- 		
- 		startButton layoutFrame: (LayoutFrame fractions: (0.5 @ 0.6 corner: 0.5 @ 0.6) offsets: (2*w negated @ 0 corner: 0 @ 0)).
- 		skipButton layoutFrame: (LayoutFrame fractions: (0.5 @ 0.6 corner: 0.5 @ 0.6) offsets: (0@ 0 corner: 2*w @ 0))].
- 	
- 	lowPerformanceMorph := TextMorph new lock.
- 	
- 	self addAllMorphs: {titleMorph. startButton. skipButton. lowPerformanceMorph}.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installAutoComplete (in category 'actions - packages') -----
- installAutoComplete
- 
- 	Metacello new
- 		configuration: 'OCompletion';
- 		load.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installCompatibilityPackages (in category 'actions - packages') -----
- installCompatibilityPackages
- 	"Install packages that ensure compatibility of older applications not specifically updated to run in this version."
- 	
- 	Installer squeak
- 		project: 'squeak60';
- 		addPackage: '60Deprecated';
- 		install.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installExtraPackages (in category 'actions') -----
- installExtraPackages
- 	"Removes the buttons and adds the progress bar during installation."
- 	
- 	| steps page |
- 	self removeProperty: #checkInternet. "No frequent checks for connectivity from here."
- 	
- 	steps := #(
- 		InstallLatestUpdates
- 		"InstallCompatibilityPackages"
- 		InstallMetacello
- 		InstallRefactoringTools
- 		InstallAutoComplete
- 		InstallGitInfrastructure
- 		InstallFFI
- 		InstallOSProcess
- 		InstallSqueakInboxTalk )
- 			select: [:ea | self perform: ('state', ea) asSymbol].
- 	
- 	page := controlMorph firstSubmorph.
- 
- 	page submorphs second hide. "question"
- 	page submorphs last delete. "url"
- 	page submorphs last delete. "no button"
- 	page submorphs last delete. "yes button"
- 	page submorphs last delete. "package list"
- 	
- 	self refreshWorld.
- 	
- 	[
- 		PreferenceWizardProgressMorph install.
- 		page
- 			addMorphBack: PreferenceWizardProgressMorph uniqueInstance;
- 			addMorphBack: self createVerticalSpacer.
- 			
- 		steps
- 			do: [:step | self perform: step withFirstCharacterDownshifted asSymbol]
- 			displayingProgress: [:step | String streamContents: [:s |
- 				step findFeatureIndicesDo: [:start :end |
- 					s nextPutAll: (step copyFrom: start to: end); space].
- 				s nextPutAll: '...']].
- 	] ensure: [
- 		PreferenceWizardProgressMorph reset.
- 		self showSqueak].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installExtraPackagesVia: (in category 'actions') -----
- installExtraPackagesVia: installButton
- 	"The user requested to install extra packages. Now we can check whether we have access to the internet. If so, install right away. If not, we start polling until it becomes available. Then the user can click again on that button. NOTE THAT we do this extra step so that users do not get annoyed by any platform's firewall tools complaining -- even if users do not want to install extra packages in the first place."
- 	
- 	installButton
- 		action: #installExtraPackages;
- 		arguments: #().
- 
- 	self setProperty: #checkInternet toValue: true.
- 	self checkInternetOn: installButton.
- 
- 	installButton enabled ifTrue: [installButton performAction].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installFFI (in category 'actions - packages') -----
- installFFI
- 
- 	Metacello new
- 		configuration: 'FFI';
- 		load.
- "
- 	(Installer squeak)
- 		project: 'FFI';
- 		install: 'FFI-Pools';
- 		install: 'FFI-Kernel';
- 		install: 'FFI-Libraries';
- 		install: 'FFI-Callbacks';		
- 		install: 'FFI-Tools';
- 		install: 'FFI-Tests';
- 		install: 'FFI-PoolsTests';
- 		install: 'FFI-CallbacksTests'
- "!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installGitInfrastructure (in category 'actions - packages') -----
- installGitInfrastructure
- 
- 	Installer installGitInfrastructure.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installLatestUpdates (in category 'actions - packages') -----
- installLatestUpdates
- 
- 	MCConfiguration ensureOpenTranscript: false.
- 	[MCMcmUpdater default doUpdate: false]
- 		ensure: [MCConfiguration ensureOpenTranscript: true].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installMetacello (in category 'actions - packages') -----
- installMetacello
- 
- 	Installer ensureRecentMetacello.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installOSProcess (in category 'actions - packages') -----
- installOSProcess
- 
- 	Installer ss project: 'OSProcess'; install: 'OSProcess'.
- 	Installer ss project: 'CommandShell'; install: 'CommandShell'.
- !

Item was removed:
- ----- Method: PreferenceWizardMorph>>installRefactoringTools (in category 'actions - packages') -----
- installRefactoringTools
- 
- 	Metacello new
- 		configuration: 'RefactoringTools';
- 		version: '2.0';
- 		load.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>installSqueakInboxTalk (in category 'actions - packages') -----
- installSqueakInboxTalk
- 
- 	Installer installSqueakInboxTalk.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>isInPlayfield (in category 'testing') -----
- isInPlayfield
- 
- 	^ previewWorld notNil and: [previewWorld visible]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>isInWelcome (in category 'testing') -----
- isInWelcome
- 
- 	^ startButton visible!

Item was removed:
- ----- Method: PreferenceWizardMorph>>mouseDown: (in category 'event handling') -----
- mouseDown: evt
- 
- 	(self containsPoint: evt position)
- 		ifFalse: [^ self delete].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>mouseUp: (in category 'event handling') -----
- mouseUp: evt
- 
- 	evt hand newMouseFocus: self.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>next (in category 'actions') -----
- next
- 
- 	currentPageIndex := currentPageIndex + 1 min: pages size.
- 
- 	nextButton enabled: currentPageIndex < pages size.
- 	previousButton enabled: currentPageIndex > 1.
- 	
- 	self updatePageLabel.
- 	
- 	"Remove current page."
- 	controlMorph submorphs size > 1 ifTrue: [controlMorph submorphs last delete].
- 	
- 	"Add new page."
- 	controlMorph addMorphBack: (pages at: currentPageIndex).
- 	self fullBounds.
- 	(pages at: currentPageIndex) layoutChanged.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>openInWorld (in category 'initialization') -----
- openInWorld
- 
- 	super openInWorld.
- 	
- 	self step.
- 	
- 	self world activeHand
- 		newKeyboardFocus: self;
- 		newMouseFocus: self.
- 		
- 	self showWelcome.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>previous (in category 'actions') -----
- previous
- 
- 	currentPageIndex := currentPageIndex - 1 max: 1.
- 	nextButton enabled: currentPageIndex < pages size.
- 	previousButton enabled: currentPageIndex > 1.
- 
- 	self updatePageLabel.
- 	
- 	"Remove current page."
- 	controlMorph submorphs last delete.
- 	
- 	"Add new page."
- 	controlMorph addMorphBack: (pages at: currentPageIndex).!

Item was removed:
- ----- Method: PreferenceWizardMorph>>processFocusEvent:using: (in category 'event handling') -----
- processFocusEvent: evt using: dispatcher
- 
- 	^ dispatcher dispatchFocusEventFully: evt with: self!

Item was removed:
- ----- Method: PreferenceWizardMorph>>radiomark (in category 'initialization') -----
- radiomark
- 
- 	^ radiomark ifNil: [radiomark := Morph new color: Color white; extent: (TextStyle defaultFont height * 0.8) asPoint]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>refreshWorld (in category 'updating') -----
- refreshWorld
- 
- 	self world layoutChanged. "To be really sure to update docking bars..."
- 	self world fullBounds. "Avoid flickering..."
- 	self world doOneCycle.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>resetWorld (in category 'updating') -----
- resetWorld
- 
- 	previewWorld delete.
- 	previewWorld := nil.
- 	self initializePreviewWorld.
- 	self addMorph: previewWorld.
- 	self updateWindowBounds.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>setBalloonText:for: (in category 'support') -----
- setBalloonText: string for: morph
- 
- 	string ifEmpty: [^morph balloonText: nil].
- 
- 	morph
- 		balloonColor: ((self defaultColor alpha: self color alpha) adjustBrightness: 0.2);
- 		balloonText: (string asText
- 			addAttribute: (TextFontReference toFont: (UserInterfaceTheme current get: #wizardHelpFont));
- 			addAttribute: (TextColor color: Color banana)).!

Item was removed:
- ----- Method: PreferenceWizardMorph>>showInstallPage (in category 'actions') -----
- showInstallPage
- 
- 	buttonRowMorph delete.
- 	previewWorld delete.
- 
- 	"self refreshWorld."
- 
- 	controlMorph
- 		removeAllMorphs;
- 		layoutInset: 0;
- 		layoutFrame: (LayoutFrame fractions: (0.0 @ 0 corner: 1.0 @ 1.0) offsets: (0@ titleMorph height corner: 0 @ 0));
- 		addMorphBack: self initializePage99ExtraPackages.
- 
- 	"self refreshWorld."!

Item was removed:
- ----- Method: PreferenceWizardMorph>>showPlayfield (in category 'actions') -----
- showPlayfield
- 
- 	previewWorld ifNil: [self initializePlayfield].
- 
- 	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.
- 
- 	controlMorph show.
- 	previewWorld show.
- 	buttonRowMorph show.
- 
- 	self next.
- 	self refreshWorld.
- 	
- 	!

Item was removed:
- ----- Method: PreferenceWizardMorph>>showSqueak (in category 'actions') -----
- showSqueak
- 
- 	self removeProperty: #checkInternet.
- 	self isInWelcome ifTrue: [^ self delete].
- 	
- 	buttonRowMorph hide.
- 	controlMorph hide.
- 	previewWorld hide.
- 
- 	self refreshWorld.
- 	500 milliSeconds wait.
- 
- 	titleMorph layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 1)).
- 	
- 	self refreshWorld.
- 	500 milliSeconds wait.
- 	
- 	self delete.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>showWelcome (in category 'actions') -----
- showWelcome
- 
- 	self isInPlayfield ifTrue: [^ self "Not possible to go back due to fast-init strategy."].
- 	titleMorph ifNil: [self initializeWelcome].
- 
- 	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 hasLowPerformance
- 		ifFalse: [lowPerformanceMorph hide]
- 		ifTrue: [lowPerformanceMorph show].
- 
- 	self hasLowPerformance
- 		ifTrue: [Cursor wait showWhile: [self adjustSettingsForLowPerformance]].
- 
- 	self refreshWorld.
- 	!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateAlternativeBrowseIt (in category 'actions - buttons') -----
- stateAlternativeBrowseIt
- 
- 	^ Preferences valueOfFlag: #alternativeBrowseIt ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateAttachToolsToMouse (in category 'actions - buttons') -----
- stateAttachToolsToMouse
- 
- 	^ Project uiManager openToolsAttachedToMouseCursor!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateAutoEnclose (in category 'actions - buttons') -----
- stateAutoEnclose
- 
- 	^ TextEditor autoEnclose!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateAutoIndent (in category 'actions - buttons') -----
- stateAutoIndent
- 
- 	^ TextEditor autoIndent!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateBlinkingCursor (in category 'actions - buttons') -----
- stateBlinkingCursor
- 
- 	^ TextEditor blinkingCursor!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateClearFilterAutomatically (in category 'actions - buttons') -----
- stateClearFilterAutomatically
- 
- 	^ PluggableListMorph clearFilterAutomatically!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateEncloseSelection (in category 'actions - buttons') -----
- stateEncloseSelection
- 
- 	^ TextEditor encloseSelection!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateFastDrag (in category 'actions - buttons') -----
- stateFastDrag
- 
- 	^ Preferences valueOfFlag: #fastDragWindowForMorphic ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateFilterableLists (in category 'actions - buttons') -----
- stateFilterableLists
- 
- 	^ PluggableListMorph filterableLists!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateFocusFollowsMouse (in category 'actions - buttons') -----
- stateFocusFollowsMouse
- 
- 	^ Preferences valueOfFlag: #mouseOverForKeyboardFocus ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateGradients (in category 'actions - buttons') -----
- stateGradients
- 
- 	^ SystemWindow gradientWindow not!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateHardShadows (in category 'actions - buttons') -----
- stateHardShadows
- 
- 	^ (Preferences valueOfFlag: #menuAppearance3d ifAbsent: [false]) and: [Morph useSoftDropShadow not]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallAutoComplete (in category 'actions - packages') -----
- stateInstallAutoComplete
- 
- 	^ self
- 		valueOfProperty: #InstallAutoComplete
- 		ifAbsent: [false]
- !

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallCompatibilityPackages (in category 'actions - packages') -----
- stateInstallCompatibilityPackages
- 
- 	^ self
- 		valueOfProperty: #InstallCompatibilityPackages
- 		ifAbsent: [false]
- !

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallFFI (in category 'actions - packages') -----
- stateInstallFFI
- 
- 	^ self
- 		valueOfProperty: #InstallFFI
- 		ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallGitInfrastructure (in category 'actions - packages') -----
- stateInstallGitInfrastructure
- 
- 	^ self
- 		valueOfProperty: #InstallGitInfrastructure
- 		ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallLatestUpdates (in category 'actions - packages') -----
- stateInstallLatestUpdates
- 
- 	^ self
- 		valueOfProperty: #InstallLatestUpdates
- 		ifAbsent: [true]
- !

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallMetacello (in category 'actions - packages') -----
- stateInstallMetacello
- 
- 	^ #(
- 		InstallRefactoringTools
- 		InstallAutoComplete
- 		InstallGitInfrastructure
- 		InstallFFI
- 		InstallOSProcess )
- 			anySatisfy: [:ea | self perform: ('state', ea) asSymbol]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallOSProcess (in category 'actions - packages') -----
- stateInstallOSProcess
- 
- 	^ self
- 		valueOfProperty: #InstallOSProcess
- 		ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallRefactoringTools (in category 'actions - packages') -----
- stateInstallRefactoringTools
- 
- 	^ self
- 		valueOfProperty: #InstallRefactoringTools
- 		ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateInstallSqueakInboxTalk (in category 'actions - packages') -----
- stateInstallSqueakInboxTalk
- 
- 	^ self
- 		valueOfProperty: #InstallSqueakInboxTalk
- 		ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateLegacyShortcuts (in category 'actions - buttons') -----
- stateLegacyShortcuts
- 
- 	^ LegacyShortcutsFilter legacyShortcutsEnabled!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateReuseWindows (in category 'actions - buttons') -----
- stateReuseWindows
- 
- 	^ SystemWindow reuseWindows!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateRoundedButtonLook (in category 'actions - buttons') -----
- stateRoundedButtonLook
- 
- 	^ PluggableButtonMorph roundedButtonCorners!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateRoundedWindowLook (in category 'actions - buttons') -----
- stateRoundedWindowLook
- 
- 	^ SystemWindow roundedWindowCorners!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateScaleFactor: (in category 'actions - radio') -----
- stateScaleFactor: key
- 
- 	^ (Display relativeUiScaleFactor * 100) rounded asString asLegalSelector = key!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateScrollBarsNarrow (in category 'actions - buttons') -----
- stateScrollBarsNarrow
- 
- 	^ Preferences valueOfPreference: #scrollBarsNarrow ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateScrollBarsOnRight (in category 'actions - buttons') -----
- stateScrollBarsOnRight
- 
- 	^ Preferences valueOfFlag: #scrollBarsOnRight ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateScrollBarsWithoutArrowButtons (in category 'actions - buttons') -----
- stateScrollBarsWithoutArrowButtons
- 
- 	^ ScrollBar scrollBarsWithoutArrowButtons not!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateScrollBarsWithoutMenuButton (in category 'actions - buttons') -----
- stateScrollBarsWithoutMenuButton
- 
- 	^ ScrollBar scrollBarsWithoutMenuButton not!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateSendMouseWheelToKeyboardFocus (in category 'actions - buttons') -----
- stateSendMouseWheelToKeyboardFocus
- 
- 	^ HandMorph sendMouseWheelToKeyboardFocus!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateShowKeyboardFocus (in category 'actions - buttons') -----
- stateShowKeyboardFocus
- 
- 	^ Morph indicateKeyboardFocus!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateSimpleFrameAdornments (in category 'actions - buttons') -----
- stateSimpleFrameAdornments
- 
- 	^ PluggableTextMorph simpleFrameAdornments!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateSmartHorizontalSplitters (in category 'actions - buttons') -----
- stateSmartHorizontalSplitters
- 
- 	^ ProportionalSplitterMorph smartHorizontalSplitters!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateSmartVerticalSplitters (in category 'actions - buttons') -----
- stateSmartVerticalSplitters
- 
- 	^ ProportionalSplitterMorph smartVerticalSplitters!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateSoftShadows (in category 'actions - buttons') -----
- stateSoftShadows
- 
- 	^ (Preferences valueOfFlag: #menuAppearance3d ifAbsent: [false]) and: [Morph useSoftDropShadow]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateSwapMouseButtons (in category 'actions - buttons') -----
- stateSwapMouseButtons
- 
- 	^ Preferences valueOfFlag: #swapMouseButtons ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateTheme: (in category 'actions - radio') -----
- stateTheme: key
- 
- 	^ UserInterfaceTheme current name asLegalSelector = key!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateToolAndMenuIcons (in category 'actions - buttons') -----
- stateToolAndMenuIcons
- 
- 	^ Browser showClassIcons!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateTraceMessages (in category 'actions - buttons') -----
- stateTraceMessages
- 
- 	^ Preferences valueOfFlag: #traceMessages ifAbsent: [false]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateUseBiggerCursors (in category 'actions - buttons') -----
- stateUseBiggerCursors
- 
- 	^ Cursor useBiggerCursors!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateUseColorfulSourceCode (in category 'actions - buttons') -----
- stateUseColorfulSourceCode
- 
- 	^ SHTextStylerST80 syntaxHighlightingAsYouType!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateUseColorfulSourceCodeInWorkspaces (in category 'actions - buttons') -----
- stateUseColorfulSourceCodeInWorkspaces
- 
- 	^ Workspace shouldStyle!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateUseColorfulWindows (in category 'actions - buttons') -----
- stateUseColorfulWindows
- 
- 	^ Model useColorfulWindows!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateUseCompactButtons (in category 'actions - buttons') -----
- stateUseCompactButtons
- 
- 	^ MorphicProject useCompactButtons!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateUseCompactLists (in category 'actions - buttons') -----
- stateUseCompactLists
- 
- 	^ MorphicProject useCompactLists!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateUseCompactTextFields (in category 'actions - buttons') -----
- stateUseCompactTextFields
- 
- 	^ MorphicProject useCompactTextFields!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateUseRetractableScrollBars (in category 'actions - buttons') -----
- stateUseRetractableScrollBars
- 
- 	^ ScrollPane useRetractableScrollBars!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateWindowButtonsAlwaysActive (in category 'actions - buttons') -----
- stateWindowButtonsAlwaysActive
- 
- 	^ SystemWindow windowTitleActiveOnFirstClick!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateWindowsAlwaysActive (in category 'actions - buttons') -----
- stateWindowsAlwaysActive
- 
- 	^ Model windowActiveOnFirstClick!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateWindowsRaiseOnClick (in category 'actions - buttons') -----
- stateWindowsRaiseOnClick
- 
- 	^ SystemWindow windowsRaiseOnClick!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateWorkspaceEmbedTranscript (in category 'actions - buttons') -----
- stateWorkspaceEmbedTranscript
- 
- 	^ Workspace embedTranscript!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stateWorkspaceFileOutOnAccept (in category 'actions - buttons') -----
- stateWorkspaceFileOutOnAccept
- 
- 	^ Workspace fileOutOnAccept!

Item was removed:
- ----- Method: PreferenceWizardMorph>>step (in category 'stepping') -----
- step
- 
- 	| oldBounds |
- 	"self comeToFront."
- 
- 	isFullScreen == true
- 		ifTrue: [
- 			oldBounds := self bounds.
- 			self bounds: self world bounds.
- 			self bounds = oldBounds ifFalse: [
- 				self updateWindowBounds.
- 				self updatePageVisibility]]
- 		ifFalse: [
- 			self width: self world width.
- 			self center: self world center].!

Item was removed:
- ----- Method: PreferenceWizardMorph>>stepTime (in category 'stepping') -----
- stepTime
- 	^ 1000!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleAlternativeBrowseIt (in category 'actions - buttons') -----
- toggleAlternativeBrowseIt
- 
- 	Preferences toggle: #alternativeBrowseIt.
- 	self changed: #stateAlternativeBrowseIt.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleAttachToolsToMouse (in category 'actions - buttons') -----
- toggleAttachToolsToMouse
- 
- 	Project uiManager openToolsAttachedToMouseCursor: Project uiManager openToolsAttachedToMouseCursor not.
- 	self changed: #stateAttachToolsToMouse.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleAutoEnclose (in category 'actions - buttons') -----
- toggleAutoEnclose
- 
- 	TextEditor autoEnclose: TextEditor autoEnclose not.	
- 	self changed: #stateAutoEnclose.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleAutoIndent (in category 'actions - buttons') -----
- toggleAutoIndent
- 
- 	TextEditor autoIndent: TextEditor autoIndent not.	
- 	self changed: #stateAutoIndent.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleBlinkingCursor (in category 'actions - buttons') -----
- toggleBlinkingCursor
- 
- 	TextEditor blinkingCursor: TextEditor blinkingCursor not.
- 	
- 	TextMorph allSubInstancesDo: [:ea |
- 		ea stopBlinking.
- 		ea hasFocus ifTrue: [
- 			Editor blinkingCursor
- 				ifTrue: [ea startBlinking]
- 				ifFalse: [ea resetBlinkCursor "ensure caret visible"]]].
- 	
- 	self changed: #stateBlinkingCursor.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleClearFilterAutomatically (in category 'actions - buttons') -----
- toggleClearFilterAutomatically
- 
- 	PluggableListMorph clearFilterAutomatically: PluggableListMorph clearFilterAutomatically not.
- 	self changed: #stateClearFilterAutomatically.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleEncloseSelection (in category 'actions - buttons') -----
- toggleEncloseSelection
- 
- 	TextEditor encloseSelection: TextEditor encloseSelection not.	
- 	self changed: #stateEncloseSelection.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleFastDrag (in category 'actions - buttons') -----
- toggleFastDrag
- 
- 	Preferences toggle: #fastDragWindowForMorphic.
- 	self changed: #stateFastDrag.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleFilterableLists (in category 'actions - buttons') -----
- toggleFilterableLists
- 
- 	PluggableListMorph filterableLists: PluggableListMorph filterableLists not.
- 	self changed: #stateFilterableLists.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleFocusFollowsMouse (in category 'actions - buttons') -----
- toggleFocusFollowsMouse
- 
- 	Preferences toggle: #mouseOverForKeyboardFocus.
- 	self changed: #stateFocusFollowsMouse.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleGradients (in category 'actions - buttons') -----
- toggleGradients
- 
- 	| switch |
- 	switch := SystemWindow gradientWindow not.
- 	
- 	SystemWindow gradientWindow: switch.
- 	DialogWindow gradientDialog: switch.
- 	MenuMorph gradientMenu: switch.
- 	ScrollBar gradientScrollBar: switch.
- 	PluggableButtonMorph gradientButton: switch.
- 	
- 	self changed: #stateGradients.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleHardShadows (in category 'actions - buttons') -----
- toggleHardShadows
- 
- 	self stateSoftShadows
- 		ifFalse: [Preferences toggle: #menuAppearance3d].
- 		
- 	Morph useSoftDropShadow: false.
- 	
- 	SystemWindow refreshAllWindows; reconfigureWindowsForFocus.
- 	SystemProgressMorph reset.
- 	TheWorldMainDockingBar updateInstances.
- 	
- 	self changed: #stateSoftShadows.
- 	self changed: #stateHardShadows.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleInstallAutoComplete (in category 'actions - packages') -----
- toggleInstallAutoComplete
- 
- 	self
- 		setProperty: #InstallAutoComplete
- 		toValue: self stateInstallAutoComplete not.
- 	self changed: #stateInstallAutoComplete.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleInstallCompatibilityPackages (in category 'actions - packages') -----
- toggleInstallCompatibilityPackages
- 
- 	self
- 		setProperty: #InstallCompatibilityPackages
- 		toValue: self stateInstallCompatibilityPackages not.
- 	self changed: #stateInstallCompatibilityPackages.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleInstallFFI (in category 'actions - packages') -----
- toggleInstallFFI
- 
- 	self
- 		setProperty: #InstallFFI
- 		toValue: self stateInstallFFI not.
- 	self changed: #stateInstallFFI.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleInstallGitInfrastructure (in category 'actions - packages') -----
- toggleInstallGitInfrastructure
- 
- 	self
- 		setProperty: #InstallGitInfrastructure
- 		toValue: self stateInstallGitInfrastructure not.
- 	self changed: #stateInstallGitInfrastructure.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleInstallLatestUpdates (in category 'actions - packages') -----
- toggleInstallLatestUpdates
- 
- 	self
- 		setProperty: #InstallLatestUpdates
- 		toValue: self stateInstallLatestUpdates not.
- 	self changed: #stateInstallLatestUpdates.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleInstallOSProcess (in category 'actions - packages') -----
- toggleInstallOSProcess
- 
- 	self
- 		setProperty: #InstallOSProcess
- 		toValue: self stateInstallOSProcess not.
- 	self changed: #stateInstallOSProcess.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleInstallRefactoringTools (in category 'actions - packages') -----
- toggleInstallRefactoringTools
- 
- 	self
- 		setProperty: #InstallRefactoringTools
- 		toValue: self stateInstallRefactoringTools not.
- 	self changed: #stateInstallRefactoringTools.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleInstallSqueakInboxTalk (in category 'actions - packages') -----
- toggleInstallSqueakInboxTalk
- 
- 	self
- 		setProperty: #InstallSqueakInboxTalk
- 		toValue: self stateInstallSqueakInboxTalk not.
- 	self changed: #stateInstallSqueakInboxTalk.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleLegacyShortcuts (in category 'actions - buttons') -----
- toggleLegacyShortcuts
- 
- 	LegacyShortcutsFilter legacyShortcutsEnabled: LegacyShortcutsFilter legacyShortcutsEnabled not.
- 	self changed: #stateLegacyShortcuts.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleReuseWindows (in category 'actions - buttons') -----
- toggleReuseWindows
- 
- 	SystemWindow reuseWindows: SystemWindow reuseWindows not.
- 	self changed: #stateReuseWindows.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleRoundedButtonLook (in category 'actions - buttons') -----
- toggleRoundedButtonLook
- 
- 	| switch |
- 	switch := PluggableButtonMorph roundedButtonCorners not.
- 	
- 	PluggableButtonMorph roundedButtonCorners: switch.
- 	ScrollBar roundedScrollBarLook: switch.
- 	MenuMorph roundedMenuCorners: switch.
- 	
- 	self changed: #stateRoundedButtonLook.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleRoundedWindowLook (in category 'actions - buttons') -----
- toggleRoundedWindowLook
- 
- 	| switch |
- 	switch := SystemWindow roundedWindowCorners not.
- 	
- 	SystemWindow roundedWindowCorners: switch.
- 	DialogWindow roundedDialogCorners: switch.
- 	
- 	self changed: #stateRoundedWindowLook.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleScrollBarsNarrow (in category 'actions - buttons') -----
- toggleScrollBarsNarrow
- 
- 	Preferences toggle: #scrollBarsNarrow.
- 	ScrollPane allSubInstancesDo: [:ea | ea scrollBarThickness: ScrollPane scrollBarThickness].
- 	self changed: #stateScrollBarsNarrow.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleScrollBarsOnRight (in category 'actions - buttons') -----
- toggleScrollBarsOnRight
- 
- 	Preferences toggle: #scrollBarsOnRight.
- 	ScrollPane allSubInstancesDo: [:ea | ea scrollBarOnLeft: self stateScrollBarsOnRight not].
- 	self changed: #stateScrollBarsOnRight.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleScrollBarsWithoutArrowButtons (in category 'actions - buttons') -----
- toggleScrollBarsWithoutArrowButtons
- 
- 	ScrollBar scrollBarsWithoutArrowButtons: ScrollBar scrollBarsWithoutArrowButtons not.
- 	self changed: #stateScrollBarsWithoutArrowButtons.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleScrollBarsWithoutMenuButton (in category 'actions - buttons') -----
- toggleScrollBarsWithoutMenuButton
- 
- 	ScrollBar scrollBarsWithoutMenuButton: ScrollBar scrollBarsWithoutMenuButton not.
- 	self changed: #stateScrollBarsWithoutMenuButton.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleSendMouseWheelToKeyboardFocus (in category 'actions - buttons') -----
- toggleSendMouseWheelToKeyboardFocus
- 
- 	HandMorph sendMouseWheelToKeyboardFocus: HandMorph sendMouseWheelToKeyboardFocus not.
- 	self changed: #stateSendMouseWheelToKeyboardFocus.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleShowKeyboardFocus (in category 'actions - buttons') -----
- toggleShowKeyboardFocus
- 
- 	Morph indicateKeyboardFocus: Morph indicateKeyboardFocus not.
- 	self changed: #stateShowKeyboardFocus.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleSimpleFrameAdornments (in category 'actions - buttons') -----
- toggleSimpleFrameAdornments
- 
- 	PluggableTextMorph simpleFrameAdornments: PluggableTextMorph simpleFrameAdornments not.
- 	self changed: #stateSimpleFrameAdornments.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleSmartHorizontalSplitters (in category 'actions - buttons') -----
- toggleSmartHorizontalSplitters
- 
- 	ProportionalSplitterMorph smartHorizontalSplitters: ProportionalSplitterMorph smartHorizontalSplitters not.
- 	self changed: #stateSmartHorizontalSplitters.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleSmartVerticalSplitters (in category 'actions - buttons') -----
- toggleSmartVerticalSplitters
- 
- 	ProportionalSplitterMorph smartVerticalSplitters: ProportionalSplitterMorph smartVerticalSplitters not.
- 	self changed: #stateSmartVerticalSplitters.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleSoftShadows (in category 'actions - buttons') -----
- toggleSoftShadows
- 
- 	self stateHardShadows
- 		ifFalse: [Preferences toggle: #menuAppearance3d].
- 		
- 	Morph useSoftDropShadow: true.
- 	
- 	SystemWindow refreshAllWindows; reconfigureWindowsForFocus.
- 	SystemProgressMorph reset.
- 	TheWorldMainDockingBar updateInstances.
- 	
- 	self changed: #stateSoftShadows.
- 	self changed: #stateHardShadows.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleSwapMouseButtons (in category 'actions - buttons') -----
- toggleSwapMouseButtons
- 
- 	Preferences toggle: #swapMouseButtons.
- 	self changed: #stateSwapMouseButtons.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleToolAndMenuIcons (in category 'actions - buttons') -----
- toggleToolAndMenuIcons
- 
- 	| switch |
- 	switch := Browser showClassIcons not.
- 	
- 	Browser showClassIcons: switch.
- 	Browser showMessageIcons: switch.
- 	Preferences setFlag: #menuWithIcons toValue: switch.
- 	Preferences setFlag: #visualExplorer toValue: switch.
- 	
- 	self changed: #stateToolAndMenuIcons.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleTraceMessages (in category 'actions - buttons') -----
- toggleTraceMessages
- 
- 	Preferences toggle: #traceMessages.
- 	self changed: #stateTraceMessages.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleUseBiggerCursors (in category 'actions - buttons') -----
- toggleUseBiggerCursors
- 
- 	Cursor useBiggerCursors: self stateUseBiggerCursors not.	
- 	self changed: #stateUseBiggerCursors.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleUseColorfulSourceCode (in category 'actions - buttons') -----
- toggleUseColorfulSourceCode
- 
- 	SHTextStylerST80 syntaxHighlightingAsYouType: SHTextStylerST80 syntaxHighlightingAsYouType not.
- 	self changed: #stateUseColorfulSourceCode.
- 	
- 	Workspace shouldStyle: (Workspace shouldStyle and: [SHTextStylerST80 syntaxHighlightingAsYouType]).
- 	self changed: #stateUseColorfulSourceCodeInWorkspaces.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleUseColorfulSourceCodeInWorkspaces (in category 'actions - buttons') -----
- toggleUseColorfulSourceCodeInWorkspaces
- 
- 	Workspace shouldStyle: Workspace shouldStyle not.
- 	self changed: #stateUseColorfulSourceCodeInWorkspaces.
- 
- 	SHTextStylerST80 syntaxHighlightingAsYouType: (SHTextStylerST80 syntaxHighlightingAsYouType or: [Workspace shouldStyle]).
- 	self changed: #stateUseColorfulSourceCode.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleUseColorfulWindows (in category 'actions - buttons') -----
- toggleUseColorfulWindows
- 
- 	Model useColorfulWindows: Model useColorfulWindows not.
- 	self changed: #stateUseColorfulWindows.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleUseCompactButtons (in category 'actions - buttons') -----
- toggleUseCompactButtons
- 
- 	MorphicProject useCompactButtons: MorphicProject useCompactButtons not.
- 	self changed: #stateUseCompactButtons.
- 	self resetWorld.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleUseCompactLists (in category 'actions - buttons') -----
- toggleUseCompactLists
- 
- 	MorphicProject useCompactLists: MorphicProject useCompactLists not.
- 	self changed: #stateUseCompactLists.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleUseCompactTextFields (in category 'actions - buttons') -----
- toggleUseCompactTextFields
- 
- 	MorphicProject useCompactTextFields: MorphicProject useCompactTextFields not.
- 	self changed: #stateUseCompactTextFields.
- 	self resetWorld.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleUseRetractableScrollBars (in category 'actions - buttons') -----
- toggleUseRetractableScrollBars
- 
- 	ScrollPane useRetractableScrollBars: ScrollPane useRetractableScrollBars not.
- 	self changed: #stateUseRetractableScrollBars.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleWindowButtonsAlwaysActive (in category 'actions - buttons') -----
- toggleWindowButtonsAlwaysActive
- 
- 	SystemWindow windowTitleActiveOnFirstClick: SystemWindow windowTitleActiveOnFirstClick not.
- 	self changed: #stateWindowButtonsAlwaysActive.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleWindowsAlwaysActive (in category 'actions - buttons') -----
- toggleWindowsAlwaysActive
- 
- 	Model windowActiveOnFirstClick: Model windowActiveOnFirstClick not.
- 	self changed: #stateWindowsAlwaysActive.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleWindowsRaiseOnClick (in category 'actions - buttons') -----
- toggleWindowsRaiseOnClick
- 
- 	SystemWindow windowsRaiseOnClick: SystemWindow windowsRaiseOnClick not.
- 	self changed: #stateWindowsRaiseOnClick.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleWorkspaceEmbedTranscript (in category 'actions - buttons') -----
- toggleWorkspaceEmbedTranscript
- 
- 	Workspace embedTranscript: Workspace embedTranscript not.
- 	self addOrReplaceWorkspace.
- 	self changed: #stateWorkspaceEmbedTranscript.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>toggleWorkspaceFileOutOnAccept (in category 'actions - buttons') -----
- toggleWorkspaceFileOutOnAccept
- 
- 	Workspace fileOutOnAccept: Workspace fileOutOnAccept not.
- 	self addOrReplaceWorkspace.
- 	self changed: #stateWorkspaceFileOutOnAccept.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>updateFromChangedScaleFactor (in category 'display scale') -----
- updateFromChangedScaleFactor
- 
- 	checkmark := nil.
- 	radiomark := nil.
- 	
- 	self
- 		layoutInset: (self defaultFont widthOf: $x) * 2;
- 		cellGap: (self defaultFont widthOf: $x).
- 		
- 	titleMorph
- 		font: (UserInterfaceTheme current get: #wizardTitleFont);
- 		margins: (self cellGap @ 0 corner: self cellGap @ self cellGap).
- 	titleMorph layoutFrame
- 		bottomOffset: titleMorph height.
- 	
- 	self updateLowPerformanceLabel: lowPerformanceMorph contents.
- 	
- 	"buttons"
- 	{startButton. skipButton. previousButton. nextButton. doneButton},
- 		(pages gather: [:page | page allMorphs select: [:ea | ea isButton]])
- 			do: [:button |
- 				((button owner hasProperty: #isRadioButton)
- 					or: [button owner hasProperty: #isCheckbox])
- 						ifTrue: [
- 							button
- 								"layoutInset: 0;"
- 								extent: (TextStyle defaultFont height * 1.75) asPoint;
- 								update: button getLabelSelector.
- 							button owner cellGap: (TextStyle defaultFont widthOf: $x).
- 							button owner balloonText ifNotNil: [:text |
- 								text addAttribute: (TextFontReference toFont: (UserInterfaceTheme current get: #wizardHelpFont))]]
- 						ifFalse: [
- 							button
- 								layoutInset: self defaultButtonMargins].
- 				button
- 					borderWidth: (2 * RealEstateAgent scaleFactor) truncated;
- 					font: (UserInterfaceTheme current get: #wizardButtonFont);
- 					updateMinimumExtent "Font might not change but PPI did."].
- 		
- 	self fullBounds.
- 		
- 	(startButton minimumWidth max: skipButton minimumWidth) in: [:w |
- 		startButton hResizing: #rigid; width: w.
- 		skipButton hResizing: #rigid; width: w.
- 		startButton layoutFrame leftOffset: 2*w negated.
- 		skipButton layoutFrame rightOffset: 2*w].
- 
- 	(previousButton minimumWidth max: nextButton minimumWidth) in: [:w |
- 		previousButton hResizing: #rigid; width: w.
- 		nextButton hResizing: #rigid; width: w].
- 	pagesLabel
- 		margins: (self layoutInset at 0 corner: self layoutInset at 0);
- 		font: (UserInterfaceTheme current get: #wizardStandardFont).
- 	buttonRowMorph
- 		cellGap: self cellGap;
- 		layoutInset: (0 at self layoutInset corner: 0 at 0).
- 	buttonRowMorph layoutFrame
- 		topOffset: buttonRowMorph fullBounds height negated.
- 	
- 	"labels"
- 	{controlMorph firstSubmorph}, (pages gather: [:page | page allMorphs select: [:ea | ea isTextMorph]])
- 		do: [:label |
- 			label
- 				font: (UserInterfaceTheme current get: #wizardStandardFont);
- 				margins: self defaultTextMargins
- 			"No need for #releaseParagraph because window resizing will happen anyway."].
- 	
- 	"controlMorph"
- 	controlMorph layoutInset: (0 at 0 corner: self cellGap at 0).
- 	controlMorph layoutFrame
- 		topOffset: titleMorph height;
- 		bottomOffset: buttonRowMorph height negated.
- 	
- 	"scroll panes in pages"
- 	pages do: [:page | | scrollPane |
- 		page
- 			layoutInset: (self layoutInset asPoint corner: self cellGap at 0);
- 			cellGap: self cellGap.
- 		scrollPane := page submorphs second.
- 		scrollPane scrollBarThickness: self layoutInset.
- 		scrollPane scroller firstSubmorph
- 			cellGap: self cellGap;
- 			layoutInset: (0 at 0 corner: self cellGap at 0).
- 		(scrollPane vScrollBar instVarNamed: #slider)
- 			borderWidth: (2 * RealEstateAgent scaleFactor) truncated].
- 	
- 	"previewWorld"
- 	previewWorld layoutFrame
- 		topOffset: titleMorph height;
- 		bottomOffset: buttonRowMorph height negated.
- 	previewWorld borderWidth: (2 * RealEstateAgent scaleFactor) truncated.
- 	self bounds: self world bounds.
- 	self updateWindowBounds.
- 	self updatePageVisibility.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>updateLowPerformanceLabel: (in category 'layout') -----
- updateLowPerformanceLabel: string
- 
- 	lowPerformanceMorph
- 		contentsAsIs: string asText;
- 		textColor: (Color gray: 0.7);
- 		font: (UserInterfaceTheme current get: #wizardHelpFont).
- 	
- 	lowPerformanceMorph fullBounds.
- 		
- 	lowPerformanceMorph layoutFrame: (LayoutFrame
- 		fractions: (1 @ 1 corner: 1 @ 1)
- 		offsets: (lowPerformanceMorph extent negated corner: self layoutInset asPoint "Into margins")).
- 	
- 	self layoutChanged.!

Item was removed:
- ----- Method: PreferenceWizardMorph>>updatePageLabel (in category 'layout') -----
- updatePageLabel
- 
- 	pagesLabel contentsAsIs: (('{1} / {2}' format: {currentPageIndex. pages size}) asText
- 		addAttribute: (TextColor color: (Color gray: 0.8));
- 		addAttribute: (TextFontReference toFont: (UserInterfaceTheme current get: #wizardStandardFont))).!

Item was removed:
- ----- Method: PreferenceWizardMorph>>updatePageVisibility (in category 'layout') -----
- updatePageVisibility
- 	"Hide extra labels if page has not enough space."
- 	
- 	| currentPage scrollPane enoughRoom topText bottomText firstItem |
- 	controlMorph ifNil: [^ self].
- 	controlMorph submorphs size > 1 ifFalse: [^ self].
- 
- 	self fullBounds.
- 
- 	currentPage := controlMorph lastSubmorph.
- 	scrollPane := currentPage submorphs second.
- 
- 	topText := controlMorph firstSubmorph.
- 	bottomText := currentPage lastSubmorph isTextMorph
- 		ifTrue: [currentPage lastSubmorph].
- 	firstItem := scrollPane scroller firstSubmorph firstSubmorph. "checkbox"
- 
- 	enoughRoom := topText visible
- 		ifTrue: [(firstItem height * 3) <= scrollPane height]
- 		ifFalse: [(firstItem height * 3) <= (scrollPane height
- 			- topText height - (bottomText ifNil: [0] ifNotNil: [:t | t height]))].
- 	
- 	enoughRoom not
- 		ifTrue: [
- 			topText
- 				visible: false;
- 				disableLayout: true.
- 			bottomText ifNotNil: [
- 				bottomText
- 					visible: false;
- 					disableLayout: true]]
- 		ifFalse: [
- 			topText
- 				visible: true;
- 				disableLayout: false.
- 			bottomText ifNotNil: [
- 				currentPage lastSubmorph
- 					visible: true;
- 					disableLayout: false]]!

Item was removed:
- ----- Method: PreferenceWizardMorph>>updateWindowBounds (in category 'layout') -----
- updateWindowBounds
- 
- 	| area extentToUse pointsToUse |
- 	isFullScreen == false ifTrue: [^ self].
- 	previewWorld ifNil: [^ self].
- 	
- 	self fullBounds.
- 
- 	area := previewWorld layoutBounds insetBy: self layoutInset.
- 	extentToUse := area extent * (0.8 @ 0.45).
- 	pointsToUse := {
- 		area topLeft.
- 		area rightCenter.
- 		area bottomCenter}.
- 
- 	previewWorld submorphs reversed withIndexDo: [:window :i |
- 		window
- 			extent: extentToUse;
- 			center: (pointsToUse atWrap: i);
- 			bounds: (window bounds translatedToBeWithin: area)].!

Item was removed:
- SystemProgressMorph subclass: #PreferenceWizardProgressMorph
- 	instanceVariableNames: ''
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'PreferenceBrowser'!

Item was removed:
- ----- Method: PreferenceWizardProgressMorph class>>install (in category 'as yet unclassified') -----
- install
- 
- 	self reset.
- 	UniqueInstance := self basicNew initialize; yourself.!

Item was removed:
- ----- Method: PreferenceWizardProgressMorph>>createProgressBar (in category 'as yet unclassified') -----
- createProgressBar
- 	
- 	^ SystemProgressBarMorph new 
- 		extent: ((self defaultFont widthOf: $x) * 35) @ ((self defaultFont widthOf: $x) * 2);
- 		color: Color transparent;
- 		barColor: Color white;
- 		borderColor: Color white;
- 		borderWidth: (2 * RealEstateAgent scaleFactor) truncated;
- 		yourself
- 		!

Item was removed:
- ----- Method: PreferenceWizardProgressMorph>>defaultFont (in category 'as yet unclassified') -----
- defaultFont
- 
- 	^ UserInterfaceTheme current get: #wizardStandardFont!

Item was removed:
- ----- Method: PreferenceWizardProgressMorph>>openInWorld (in category 'as yet unclassified') -----
- openInWorld
- 
- 	"Ignore."!

Item was removed:
- ----- Method: PreferenceWizardProgressMorph>>reposition (in category 'as yet unclassified') -----
- reposition
- 
- 	"Ignore."!

Item was removed:
- ----- Method: PreferenceWizardProgressMorph>>setDefaultParameters (in category 'as yet unclassified') -----
- setDefaultParameters
- 	"change the receiver's appareance parameters"
- 
- 	self
- 		color: Color transparent;
- 		borderWidth: 0;
- 		font: self defaultFont;
- 		textColor: Color white.!

Item was removed:
- ----- Method: Preferences class>>addPreference:categories:default:balloonHelp:projectLocal:changeInformee:changeSelector:viewRegistry: (in category '*PreferenceBrowser') -----
- addPreference: aName categories: categoryList default: aValue balloonHelp: helpString projectLocal: localBoolean changeInformee: informeeSymbol changeSelector: aChangeSelector viewRegistry: aViewRegistry
- 	"For compatibility with the old set of protocols"
- 	^self addPreference: aName categories: categoryList default: aValue balloonHelp: helpString projectLocal: localBoolean changeInformee: informeeSymbol changeSelector: aChangeSelector type: (PreferenceViewRegistry typeOfRegistry: aViewRegistry).!



More information about the Squeak-dev mailing list