[squeak-dev] The Trunk: PreferenceBrowser-mt.92.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Thu Sep 12 14:30:51 UTC 2019




Am 12.09.2019 16:25:15 schrieb commits at source.squeak.org <commits at source.squeak.org>:
Marcel Taeumel uploaded a new version of PreferenceBrowser to project The Trunk:
http://source.squeak.org/trunk/PreferenceBrowser-mt.92.mcz

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

Name: PreferenceBrowser-mt.92
Author: mt
Time: 12 September 2019, 4:25:05.125077 pm
UUID: 7ec5722c-bc3b-1c4b-8749-d0bbc537e2d5
Ancestors: PreferenceBrowser-mt.91

Preference wizard
- adds scroll bars (just in case)
- adds option to install common packages
- checks for internet connection

=============== Diff against PreferenceBrowser-mt.91 ===============

Item was changed:
----- Method: PreferenceWizardMorph>>accept (in category 'actions') -----
accept

+ self showInstallPage.!
- self showSqueak.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>adjustSettingsForLowPerformance (in category 'support') -----
- ----- Method: PreferenceWizardMorph>>adjustSettingsForLowPerformance (in category 'actions') -----
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.
TheWorldMainDockingBar showSecondsInClock: false.
Preferences disable: #balloonHelpInMessageLists.


"Set simple background."
ActiveWorld setAsBackground: MorphicProject defaultFill.
previewWorld fillStyle: ActiveWorld fillStyle.

"Done."
self updateLowPerformanceLabel: 'Settings were adjusted for optimal performance.' translated.
!

Item was added:
+ ----- Method: PreferenceWizardMorph>>checkInternetOn: (in category 'updating') -----
+ checkInternetOn: button
+
+ self isInWorld ifFalse: [^ self].
+ (self hasProperty: #checkInternet) ifFalse: [^ self].
+
+ self hasInternetConnection
+ ifTrue: [button enabled: true; label: 'Yes, install selected packages.' translated]
+ ifFalse: [button enabled: false; label: 'Please check your internet connection...' translated].
+
+ (self future: 1000) checkInternetOn: button.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>chooseTheme: (in category 'support') -----
- ----- Method: PreferenceWizardMorph>>chooseTheme: (in category 'actions') -----
chooseTheme: aTheme

aTheme apply.

"The theme does not theme this fake world."
+ previewWorld fillStyle: self world fillStyle.!
- previewWorld fillStyle: ActiveWorld fillStyle.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createButton (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createButton (in category 'initialization') -----
createButton

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

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createCheckbox:for: (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createCheckbox:for: (in category 'initialization') -----
createCheckbox: label for: selector

^ self
createCheckbox: label
for: selector
help: #()!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createCheckbox:for:help: (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createCheckbox:for:help: (in category 'initialization') -----
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: 25 at 25.

lbl := self createLabel: label color: self defaultTextColor.
+ lbl hResizing: #spaceFill.

box := Morph new
color: Color transparent;
changeTableLayout;
listDirection: #leftToRight;
cellPositioning: #topLeft;
hResizing: #spaceFill;
vResizing: #shrinkWrap;
+ rubberBandCells: true;
cellGap: 10;
yourself.

box addAllMorphs: {btn. lbl}.
self
setBalloonText: (terms isString ifTrue: [terms] ifFalse: [self findHelpStringFor: terms])
for: box.
^ box!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createHorizontalSpacer (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createHorizontalSpacer (in category 'initialization') -----
createHorizontalSpacer

^ Morph new
color: Color transparent;
hResizing: #spaceFill;
extent: 5 at 5;
yourself!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createLabel: (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createLabel: (in category 'initialization') -----
createLabel: aString

^ self createLabel: aString color: (self defaultTextColor adjustBrightness: -0.1)!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createLabel:color: (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createLabel:color: (in category 'initialization') -----
createLabel: aString color: aColor

^ self createLabel: aString color: aColor pointSize: 12!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createLabel:color:pointSize: (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createLabel:color:pointSize: (in category 'initialization') -----
createLabel: aString color: aColor pointSize: size

| lbl |
lbl := TextMorph new hResizing: #spaceFill; vResizing: #shrinkWrap.
lbl newContents:aString.
lbl text
addAttribute: (TextColor color: aColor);
addAttribute: (TextFontReference toFont: ((StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: size))).
lbl lock.
^ lbl!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createPage (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createPage (in category 'initialization') -----
createPage

^ Morph new
color: Color transparent;
hResizing: #spaceFill;
vResizing: #spaceFill;
changeTableLayout;
listDirection: #topToBottom;
cellPositioning: #topLeft;
+ layoutInset: (20 at 20 corner: 10 at 0);
- layoutInset: 20;
cellGap: 10;
yourself!

Item was added:
+ ----- 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: 20;
+ yourself.
+
+ pane
+ hResizing: #spaceFill;
+ vResizing: #spaceFill.
+
+ pane scroller changeTableLayout.
+ pane scroller addMorph: (Morph new
+ changeTableLayout;
+ color: Color transparent;
+ hResizing: #spaceFill;
+ vResizing: #shrinkWrap;
+ cellGap: 10;
+ layoutInset: (0 at 0 corner: 10 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.
+ (pane vScrollBar instVarNamed: #pagingArea)
+ cornerStyle: (self hasLowPerformance ifTrue: [#square] ifFalse: [#rounded]).
+
+ ^ pane!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createVerticalSpace (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createVerticalSpace (in category 'initialization') -----
createVerticalSpace

^ Morph new
color: Color transparent;
vResizing: #rigid;
extent: 5 at 5;
yourself!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>createVerticalSpacer (in category 'initialization - building') -----
- ----- Method: PreferenceWizardMorph>>createVerticalSpacer (in category 'initialization') -----
createVerticalSpacer

^ Morph new
color: Color transparent;
vResizing: #spaceFill;
extent: 5 at 5;
yourself!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>doesNotUnderstand: (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>doesNotUnderstand: (in category '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: [' '] ].

^ super doesNotUnderstand: msg!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>findHelpStringFor: (in category 'support') -----
- ----- Method: PreferenceWizardMorph>>findHelpStringFor: (in category 'initialization') -----
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 added:
+ ----- Method: PreferenceWizardMorph>>hasInternetConnection (in category 'testing') -----
+ hasInternetConnection
+
+ ^ [TestCase new ensureSecureInternetConnection. true]
+ on: Error do: [false]!

Item was changed:
----- Method: PreferenceWizardMorph>>initialize (in category 'initialization') -----
initialize

super initialize.

isFullScreen := false.

self hasLowPerformance
ifTrue: [self color: self defaultColor]
ifFalse: [self color: (self defaultColor alpha: 0.75)].

self setProperty: #indicateKeyboardFocus toValue: #never.

Preferences enable: #systemWindowEmbedOK.

titleMorph := ('Welcome to Squeak' translated asText
addAttribute: (TextColor color: self defaultTextColor);
addAttribute: (TextFontReference toFont: (StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: 20));
yourself) asMorph lock.
titleMorph margins: (10 at 0 corner: 10 at 10).
titleMorph layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0) offsets: (0@ 0 corner: 0 @ titleMorph height)).

self
initializePages;
initializeButtons;
initializeControlMorph;
initializePreviewWorld;
initializeForLowPerformance.

self
changeProportionalLayout;
layoutInset: 20;
cellGap: 10;
cellPositioning: #center;
addAllMorphs: {titleMorph. buttonRowMorph. controlMorph. previewWorld. startButton. skipButton. lowPerformanceMorph}.

self addKeyboardCaptureFilter: self.!

Item was changed:
----- Method: PreferenceWizardMorph>>initializeButtons (in category 'initialization') -----
initializeButtons

buttonRowMorph := Morph new
color: Color transparent;
changeTableLayout;
listDirection: #leftToRight;
cellGap: 10;
layoutInset: (0 at 20 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: (20 at 0 corner: 20 at 0); fullBounds; yourself.
nextButton := self createButton action: #next; label: 'Next' translated.
self createHorizontalSpacer.
+ self createButton action: #accept; label: 'Done' translated}.
- self createButton action: #showSqueak; label: 'Done' translated}.


buttonRowMorph fullBounds.
buttonRowMorph layoutFrame: (LayoutFrame fractions: (0 @ 1 corner: 1 @ 1) offsets: (0@ buttonRowMorph height negated corner: 0 @ 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))].!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>initializePage01Themes (in category 'initialization - pages') -----
- ----- Method: PreferenceWizardMorph>>initializePage01Themes (in category 'initialization') -----
initializePage01Themes

+ | currentPage pane |
- | currentPage |
currentPage := pages add: self createPage.
+ pane := self createScrollPane.
+
currentPage addMorphBack: (self createLabel: 'Choose a theme:' color: Color white).
+ currentPage addMorphBack: pane.
+
((UserInterfaceTheme allThemes
reject: [:uit | uit name beginsWith: 'Demo'])
sorted: [:a :b | a name <= b="">
do: [:ea |
+ pane scroller firstSubmorph addMorphBack: (self createButton
- currentPage addMorphBack: (self createButton
label: ea name;
hResizing: #spaceFill;
action: #chooseTheme:;
arguments: {ea})].
+
- currentPage addMorphBack: self createVerticalSpacer.
!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>initializePage02Visuals (in category 'initialization - pages') -----
- ----- Method: PreferenceWizardMorph>>initializePage02Visuals (in category 'initialization') -----
initializePage02Visuals

+ | currentPage pane |
- | currentPage |
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: {
-
- currentPage addAllMorphsBack: {
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 createVerticalSpace.
self createCheckbox: 'Rounded windows' translated for: #RoundedWindowLook help: #(round window).
self createCheckbox: 'Rounded buttons' translated for: #RoundedButtonLook help: #(round button).
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).
+ }.!
- }.
-
- currentPage addMorphBack: self createVerticalSpacer.
- !

Item was changed:
+ ----- Method: PreferenceWizardMorph>>initializePage02bVisualsMore (in category 'initialization - pages') -----
- ----- Method: PreferenceWizardMorph>>initializePage02bVisualsMore (in category 'initialization') -----
initializePage02bVisualsMore

+ | currentPage pane |
- | currentPage |
currentPage := pages add: self createPage.
+ pane := self createScrollPane.
+
currentPage addMorphBack: (self createLabel: 'Choose more visual settings' color: Color white).
+ currentPage addMorphBack: pane.

+ pane scroller firstSubmorph addAllMorphsBack: {
- currentPage addAllMorphsBack: {
self createCheckbox: 'Bigger Fonts' translated for: #UseBiggerFonts help: 'For high-DPI displays, bigger fonts can improve readability.'.
self createCheckbox: 'Bigger Cursors' translated for: #UseBiggerCursors help: #(bigger cursor).
+ }.!
- }.
-
- currentPage addMorphBack: self createVerticalSpacer.
- !

Item was changed:
+ ----- Method: PreferenceWizardMorph>>initializePage03Interaction (in category 'initialization - pages') -----
- ----- Method: PreferenceWizardMorph>>initializePage03Interaction (in category 'initialization') -----
initializePage03Interaction

+ | currentPage pane |
- | currentPage |
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: {
-
- currentPage 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 enclose brackets' translated for: #AutoEnclose help: #(auto enclose).
self createCheckbox: 'Auto indent lines' translated for: #AutoIndent help: #(auto indent).
self createCheckbox: 'Enclose text selections' translated for: #EncloseSelection help: #(enclose selection).
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).

+ }.!
- }.
-
- currentPage addMorphBack: self createVerticalSpacer.
- !

Item was changed:
+ ----- Method: PreferenceWizardMorph>>initializePage04InteractionMore (in category 'initialization - pages') -----
- ----- Method: PreferenceWizardMorph>>initializePage04InteractionMore (in category 'initialization') -----
initializePage04InteractionMore

+ | currentPage pane |
- | currentPage |
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: {
-
- currentPage 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: #(filterable).
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).
+ }.!
- }.
-
- currentPage addMorphBack: self createVerticalSpacer.
- !

Item was changed:
+ ----- Method: PreferenceWizardMorph>>initializePage05Tools (in category 'initialization - pages') -----
- ----- Method: PreferenceWizardMorph>>initializePage05Tools (in category 'initialization') -----
initializePage05Tools

+ | currentPage pane |
- | currentPage |
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: {
-
- currentPage addAllMorphsBack: {
self createCheckbox: 'Trace messages browser' translated for: #TraceMessages help: #(trace message).
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 createCheckbox: 'Browse class hierarchy' translated for: #AlternativeBrowseIt help: 'Whether to spawn a hierarchy browser or full system browser on browse-it commands.' translated.
}.
-
- currentPage addMorphBack: self createVerticalSpacer.
!

Item was added:
+ ----- Method: PreferenceWizardMorph>>initializePage99ExtraPackages (in category 'initialization - pages') -----
+ initializePage99ExtraPackages
+ "Let the user install extra packages."
+
+ | currentPage packagesList installButton |
+ currentPage := self createPage.
+ currentPage
+ cellPositioning: #topCenter;
+ layoutInset: (150 at 40 corner: 150 at 20);
+ addMorphBack: self createHorizontalSpacer;
+ addMorphBack: ((self createLabel: 'Do you want to install extra packages?' color: Color white)
+ hResizing: #shrinkWrap;
+ yourself);
+ addMorphBack: ((self createLabel: 'Note that the installation process requires an internet connection and may take several minutes.' color: (Color gray: 0.9))
+ hResizing: #rigid;
+ vResizing: #shrinkWrap;
+ width: 450;
+ yourself).
+
+ currentPage submorphs last text addAttribute: TextAlignment centered.
+ currentPage submorphs last layoutChanged.
+
+ currentPage addMorphBack: (self createVerticalSpace height: 20).
+
+ packagesList := self createScrollPane.
+ packagesList
+ width: 350;
+ 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.
+ }.
+
+ 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: #installExtraPackages).
+ currentPage addMorphBack: installButton.
+ currentPage addMorphBack: (self createButton action: #showSqueak; label: 'No, maybe later.' translated).
+
+ self setProperty: #checkInternet toValue: true.
+ self checkInternetOn: installButton.
+
+ ^ currentPage!

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

Item was added:
+ ----- 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
+ InstallMetacello
+ InstallRefactoringTools
+ InstallAutoComplete
+ InstallGitInfrastructure
+ InstallFFI
+ InstallOSProcess )
+ select: [:ea | self perform: ('state', ea) asSymbol]
+ thenCollect: [:ea | ea withFirstCharacterDownshifted 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]
+ displayingProgress: [:step | (step findFeatures joinSeparatedBy: String space), ' ...'].
+ ] ensure: [
+ PreferenceWizardProgressMorph reset.
+ self showSqueak].!

Item was added:
+ ----- Method: PreferenceWizardMorph>>installFFI (in category 'actions - packages') -----
+ installFFI
+
+ Metacello new
+ configuration: 'FFI';
+ load.!

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

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

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

Item was added:
+ ----- Method: PreferenceWizardMorph>>installOSProcess (in category 'actions - packages') -----
+ installOSProcess
+
+ Metacello new
+ configuration: 'OSProcess';
+ load.!

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

Item was changed:
+ ----- Method: PreferenceWizardMorph>>refreshWorld (in category 'updating') -----
- ----- Method: PreferenceWizardMorph>>refreshWorld (in category 'initialization') -----
refreshWorld

self world layoutChanged. "To be really sure to update docking bars..."
self world fullBounds. "Avoid flickering..."
self world doOneCycle.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>setBalloonText:for: (in category 'support') -----
- ----- Method: PreferenceWizardMorph>>setBalloonText:for: (in category 'initialization') -----
setBalloonText: string for: morph

morph
balloonColor: ((self defaultColor alpha: self color alpha) adjustBrightness: 0.2);
balloonText: (string asText
addAttribute: (TextFontReference toFont: (StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: 9));
addAttribute: (TextColor color: Color banana)).!

Item was added:
+ ----- 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 changed:
----- Method: PreferenceWizardMorph>>showPlayfield (in category 'actions') -----
showPlayfield

startButton hide.
skipButton hide.
lowPerformanceMorph hide.
isFullScreen := true.
self step.

titleMorph layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0) offsets: (0@ 0 corner: 0 @ titleMorph height)).
- self refreshWorld.
- (Delay forMilliseconds: 1000) wait.

+ self refreshWorld.
+ 500 milliSeconds wait.

controlMorph show.
previewWorld show.
buttonRowMorph show.

self next.
self refreshWorld.

!

Item was changed:
----- 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.
- (Delay forMilliseconds: 1000) wait.

-
titleMorph layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 1)).
+
self refreshWorld.
+ 500 milliSeconds wait.
+
- (Delay forMilliseconds: 1000) wait.
self delete.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateAlternativeBrowseIt (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateAlternativeBrowseIt (in category 'buttons') -----
stateAlternativeBrowseIt

^ Preferences valueOfFlag: #alternativeBrowseIt ifAbsent: [false]!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateAttachToolsToMouse (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateAttachToolsToMouse (in category 'buttons') -----
stateAttachToolsToMouse

^ Project uiManager openToolsAttachedToMouseCursor!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateAutoEnclose (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateAutoEnclose (in category 'buttons') -----
stateAutoEnclose

^ TextEditor autoEnclose!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateAutoIndent (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateAutoIndent (in category 'buttons') -----
stateAutoIndent

^ TextEditor autoIndent!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateBlinkingCursor (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateBlinkingCursor (in category 'buttons') -----
stateBlinkingCursor

^ TextEditor blinkingCursor!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateClearFilterAutomatically (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateClearFilterAutomatically (in category 'buttons') -----
stateClearFilterAutomatically

^ PluggableListMorph clearFilterAutomatically!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateEncloseSelection (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateEncloseSelection (in category 'buttons') -----
stateEncloseSelection

^ TextEditor encloseSelection!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateFastDrag (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateFastDrag (in category 'buttons') -----
stateFastDrag

^ Preferences valueOfFlag: #fastDragWindowForMorphic ifAbsent: [false]!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateFilterableLists (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateFilterableLists (in category 'buttons') -----
stateFilterableLists

^ PluggableListMorph filterableLists!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateFocusFollowsMouse (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateFocusFollowsMouse (in category 'buttons') -----
stateFocusFollowsMouse

^ Preferences valueOfFlag: #mouseOverForKeyboardFocus ifAbsent: [false]!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateGradients (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateGradients (in category 'buttons') -----
stateGradients

^ SystemWindow gradientWindow not!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateHardShadows (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateHardShadows (in category 'buttons') -----
stateHardShadows

^ (Preferences valueOfFlag: #menuAppearance3d ifAbsent: [false]) and: [Morph useSoftDropShadow not]!

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

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

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

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

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

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

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

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateReuseWindows (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateReuseWindows (in category 'buttons') -----
stateReuseWindows

^ SystemWindow reuseWindows!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateRoundedButtonLook (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateRoundedButtonLook (in category 'buttons') -----
stateRoundedButtonLook

^ PluggableButtonMorph roundedButtonCorners!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateRoundedWindowLook (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateRoundedWindowLook (in category 'buttons') -----
stateRoundedWindowLook

^ SystemWindow roundedWindowCorners!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateScrollBarsNarrow (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateScrollBarsNarrow (in category 'buttons') -----
stateScrollBarsNarrow

^ Preferences valueOfPreference: #scrollBarsNarrow ifAbsent: [false]!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateScrollBarsOnRight (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateScrollBarsOnRight (in category 'buttons') -----
stateScrollBarsOnRight

^ Preferences valueOfFlag: #scrollBarsOnRight ifAbsent: [false]!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateScrollBarsWithoutArrowButtons (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateScrollBarsWithoutArrowButtons (in category 'buttons') -----
stateScrollBarsWithoutArrowButtons

^ ScrollBar scrollBarsWithoutArrowButtons not!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateScrollBarsWithoutMenuButton (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateScrollBarsWithoutMenuButton (in category 'buttons') -----
stateScrollBarsWithoutMenuButton

^ ScrollBar scrollBarsWithoutMenuButton not!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateSendMouseWheelToKeyboardFocus (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateSendMouseWheelToKeyboardFocus (in category 'buttons') -----
stateSendMouseWheelToKeyboardFocus

^ HandMorph sendMouseWheelToKeyboardFocus!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateShowKeyboardFocus (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateShowKeyboardFocus (in category 'buttons') -----
stateShowKeyboardFocus

^ Morph indicateKeyboardFocus!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateSimpleFrameAdornments (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateSimpleFrameAdornments (in category 'buttons') -----
stateSimpleFrameAdornments

^ PluggableTextMorph simpleFrameAdornments!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateSmartHorizontalSplitters (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateSmartHorizontalSplitters (in category 'buttons') -----
stateSmartHorizontalSplitters

^ ProportionalSplitterMorph smartHorizontalSplitters!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateSmartVerticalSplitters (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateSmartVerticalSplitters (in category 'buttons') -----
stateSmartVerticalSplitters

^ ProportionalSplitterMorph smartVerticalSplitters!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateSoftShadows (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateSoftShadows (in category 'buttons') -----
stateSoftShadows

^ (Preferences valueOfFlag: #menuAppearance3d ifAbsent: [false]) and: [Morph useSoftDropShadow]!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateSwapMouseButtons (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateSwapMouseButtons (in category 'buttons') -----
stateSwapMouseButtons

^ Preferences valueOfFlag: #swapMouseButtons ifAbsent: [false]!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateToolAndMenuIcons (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateToolAndMenuIcons (in category 'buttons') -----
stateToolAndMenuIcons

^ Browser showClassIcons!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateTraceMessages (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateTraceMessages (in category 'buttons') -----
stateTraceMessages

^ Preferences valueOfFlag: #traceMessages ifAbsent: [false]!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateUseBiggerCursors (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateUseBiggerCursors (in category 'buttons') -----
stateUseBiggerCursors

^ Cursor useBiggerCursors!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateUseBiggerFonts (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateUseBiggerFonts (in category 'buttons') -----
stateUseBiggerFonts

^ UserInterfaceTheme current name beginsWith: 'Demo'!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateUseColorfulWindows (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateUseColorfulWindows (in category 'buttons') -----
stateUseColorfulWindows

^ Model useColorfulWindows!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateUseRetractableScrollBars (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateUseRetractableScrollBars (in category 'buttons') -----
stateUseRetractableScrollBars

^ ScrollPane useRetractableScrollBars!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateWindowButtonsAlwaysActive (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateWindowButtonsAlwaysActive (in category 'buttons') -----
stateWindowButtonsAlwaysActive

^ SystemWindow windowTitleActiveOnFirstClick!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateWindowsAlwaysActive (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateWindowsAlwaysActive (in category 'buttons') -----
stateWindowsAlwaysActive

^ Model windowActiveOnFirstClick!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stateWindowsRaiseOnClick (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>stateWindowsRaiseOnClick (in category 'buttons') -----
stateWindowsRaiseOnClick

^ SystemWindow windowsRaiseOnClick!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>step (in category 'stepping') -----
- ----- Method: PreferenceWizardMorph>>step (in category 'stepping and presenter') -----
step

| oldWidth oldBounds |
"self comeToFront."

isFullScreen == true
ifTrue: [
oldBounds := self bounds.
self bounds: self world bounds.
self bounds = oldBounds ifFalse: [
self updateWindowBounds]]
ifFalse: [
oldWidth := self width.
self width: self world width.
self center: self world center.
self width = oldWidth ifFalse: [
self updateWindowBounds]].!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>stepTime (in category 'stepping') -----
- ----- Method: PreferenceWizardMorph>>stepTime (in category 'stepping and presenter') -----
stepTime
^ 1000!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleAlternativeBrowseIt (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleAlternativeBrowseIt (in category 'buttons') -----
toggleAlternativeBrowseIt

Preferences toggle: #alternativeBrowseIt.
self changed: #stateAlternativeBrowseIt.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleAttachToolsToMouse (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleAttachToolsToMouse (in category 'buttons') -----
toggleAttachToolsToMouse

Project uiManager openToolsAttachedToMouseCursor: Project uiManager openToolsAttachedToMouseCursor not.
self changed: #stateAttachToolsToMouse.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleAutoEnclose (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleAutoEnclose (in category 'buttons') -----
toggleAutoEnclose

TextEditor autoEnclose: TextEditor autoEnclose not.
self changed: #stateAutoEnclose.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleAutoIndent (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleAutoIndent (in category 'buttons') -----
toggleAutoIndent

TextEditor autoIndent: TextEditor autoIndent not.
self changed: #stateAutoIndent.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleBlinkingCursor (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleBlinkingCursor (in category '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 changed:
+ ----- Method: PreferenceWizardMorph>>toggleClearFilterAutomatically (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleClearFilterAutomatically (in category 'buttons') -----
toggleClearFilterAutomatically

PluggableListMorph clearFilterAutomatically: PluggableListMorph clearFilterAutomatically not.
self changed: #stateClearFilterAutomatically.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleEncloseSelection (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleEncloseSelection (in category 'buttons') -----
toggleEncloseSelection

TextEditor encloseSelection: TextEditor encloseSelection not.
self changed: #stateEncloseSelection.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleFastDrag (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleFastDrag (in category 'buttons') -----
toggleFastDrag

Preferences toggle: #fastDragWindowForMorphic.
self changed: #stateFastDrag.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleFilterableLists (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleFilterableLists (in category 'buttons') -----
toggleFilterableLists

PluggableListMorph filterableLists: PluggableListMorph filterableLists not.
self changed: #stateFilterableLists.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleFocusFollowsMouse (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleFocusFollowsMouse (in category 'buttons') -----
toggleFocusFollowsMouse

Preferences toggle: #mouseOverForKeyboardFocus.
self changed: #stateFocusFollowsMouse.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleGradients (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleGradients (in category '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 changed:
+ ----- Method: PreferenceWizardMorph>>toggleHardShadows (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleHardShadows (in category '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 added:
+ ----- Method: PreferenceWizardMorph>>toggleInstallAutoComplete (in category 'actions - packages') -----
+ toggleInstallAutoComplete
+
+ self
+ setProperty: #InstallAutoComplete
+ toValue: self stateInstallAutoComplete not.
+ self changed: #stateInstallAutoComplete.!

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

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

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

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

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

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleReuseWindows (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleReuseWindows (in category 'buttons') -----
toggleReuseWindows

SystemWindow reuseWindows: SystemWindow reuseWindows not.
self changed: #stateReuseWindows.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleRoundedButtonLook (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleRoundedButtonLook (in category 'buttons') -----
toggleRoundedButtonLook

| switch |
switch := PluggableButtonMorph roundedButtonCorners not.

PluggableButtonMorph roundedButtonCorners: switch.
ScrollBar roundedScrollBarLook: switch.

self changed: #stateRoundedButtonLook.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleRoundedWindowLook (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleRoundedWindowLook (in category 'buttons') -----
toggleRoundedWindowLook

| switch |
switch := SystemWindow roundedWindowCorners not.

SystemWindow roundedWindowCorners: switch.
DialogWindow roundedDialogCorners: switch.
MenuMorph roundedMenuCorners: switch.

self changed: #stateRoundedWindowLook.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleScrollBarsNarrow (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleScrollBarsNarrow (in category 'buttons') -----
toggleScrollBarsNarrow

Preferences toggle: #scrollBarsNarrow.
ScrollPane allSubInstancesDo: [:ea | ea scrollBarThickness: ScrollPane scrollBarThickness].
self changed: #stateScrollBarsNarrow.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleScrollBarsOnRight (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleScrollBarsOnRight (in category 'buttons') -----
toggleScrollBarsOnRight

Preferences toggle: #scrollBarsOnRight.
ScrollPane allSubInstancesDo: [:ea | ea scrollBarOnLeft: self stateScrollBarsOnRight not].
self changed: #stateScrollBarsOnRight.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleScrollBarsWithoutArrowButtons (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleScrollBarsWithoutArrowButtons (in category 'buttons') -----
toggleScrollBarsWithoutArrowButtons

ScrollBar scrollBarsWithoutArrowButtons: ScrollBar scrollBarsWithoutArrowButtons not.
self changed: #stateScrollBarsWithoutArrowButtons.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleScrollBarsWithoutMenuButton (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleScrollBarsWithoutMenuButton (in category 'buttons') -----
toggleScrollBarsWithoutMenuButton

ScrollBar scrollBarsWithoutMenuButton: ScrollBar scrollBarsWithoutMenuButton not.
self changed: #stateScrollBarsWithoutMenuButton.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleSendMouseWheelToKeyboardFocus (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleSendMouseWheelToKeyboardFocus (in category 'buttons') -----
toggleSendMouseWheelToKeyboardFocus

HandMorph sendMouseWheelToKeyboardFocus: HandMorph sendMouseWheelToKeyboardFocus not.
self changed: #stateSendMouseWheelToKeyboardFocus.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleShowKeyboardFocus (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleShowKeyboardFocus (in category 'buttons') -----
toggleShowKeyboardFocus

Morph indicateKeyboardFocus: Morph indicateKeyboardFocus not.
self changed: #stateShowKeyboardFocus.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleSimpleFrameAdornments (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleSimpleFrameAdornments (in category 'buttons') -----
toggleSimpleFrameAdornments

PluggableTextMorph simpleFrameAdornments: PluggableTextMorph simpleFrameAdornments not.
self changed: #stateSimpleFrameAdornments.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleSmartHorizontalSplitters (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleSmartHorizontalSplitters (in category 'buttons') -----
toggleSmartHorizontalSplitters

ProportionalSplitterMorph smartHorizontalSplitters: ProportionalSplitterMorph smartHorizontalSplitters not.
self changed: #stateSmartHorizontalSplitters.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleSmartVerticalSplitters (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleSmartVerticalSplitters (in category 'buttons') -----
toggleSmartVerticalSplitters

ProportionalSplitterMorph smartVerticalSplitters: ProportionalSplitterMorph smartVerticalSplitters not.
self changed: #stateSmartVerticalSplitters.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleSoftShadows (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleSoftShadows (in category '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 changed:
+ ----- Method: PreferenceWizardMorph>>toggleSwapMouseButtons (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleSwapMouseButtons (in category 'buttons') -----
toggleSwapMouseButtons

Preferences toggle: #swapMouseButtons.
self changed: #stateSwapMouseButtons.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleToolAndMenuIcons (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleToolAndMenuIcons (in category '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 changed:
+ ----- Method: PreferenceWizardMorph>>toggleTraceMessages (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleTraceMessages (in category 'buttons') -----
toggleTraceMessages

Preferences toggle: #traceMessages.
self changed: #stateTraceMessages.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleUseBiggerCursors (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleUseBiggerCursors (in category 'buttons') -----
toggleUseBiggerCursors

Cursor useBiggerCursors: self stateUseBiggerCursors not.
Cursor currentCursor: Cursor currentCursor.

self changed: #stateUseBiggerCursors.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleUseBiggerFonts (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleUseBiggerFonts (in category 'buttons') -----
toggleUseBiggerFonts

[
self stateUseBiggerFonts
ifFalse: [Preferences setDemoFonts]
ifTrue: [Preferences restoreDefaultFonts].
] valueSupplyingAnswer: true.

self changed: #stateUseBiggerFonts.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleUseColorfulWindows (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleUseColorfulWindows (in category 'buttons') -----
toggleUseColorfulWindows

Model useColorfulWindows: Model useColorfulWindows not.
self changed: #stateUseColorfulWindows.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleUseRetractableScrollBars (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleUseRetractableScrollBars (in category 'buttons') -----
toggleUseRetractableScrollBars

ScrollPane useRetractableScrollBars: ScrollPane useRetractableScrollBars not.
self changed: #stateUseRetractableScrollBars.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleWindowButtonsAlwaysActive (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleWindowButtonsAlwaysActive (in category 'buttons') -----
toggleWindowButtonsAlwaysActive

SystemWindow windowTitleActiveOnFirstClick: SystemWindow windowTitleActiveOnFirstClick not.
self changed: #stateWindowButtonsAlwaysActive.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleWindowsAlwaysActive (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleWindowsAlwaysActive (in category 'buttons') -----
toggleWindowsAlwaysActive

Model windowActiveOnFirstClick: Model windowActiveOnFirstClick not.
self changed: #stateWindowsAlwaysActive.!

Item was changed:
+ ----- Method: PreferenceWizardMorph>>toggleWindowsRaiseOnClick (in category 'actions - buttons') -----
- ----- Method: PreferenceWizardMorph>>toggleWindowsRaiseOnClick (in category 'buttons') -----
toggleWindowsRaiseOnClick

SystemWindow windowsRaiseOnClick: SystemWindow windowsRaiseOnClick not.
self changed: #stateWindowsRaiseOnClick.!

Item was added:
+ SystemProgressMorph subclass: #PreferenceWizardProgressMorph
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'PreferenceBrowser'!

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

Item was added:
+ ----- Method: PreferenceWizardProgressMorph>>createProgressBar (in category 'as yet unclassified') -----
+ createProgressBar
+
+ ^ SystemProgressBarMorph new
+ extent: 500 at 20;
+ color: Color transparent;
+ barColor: Color white;
+ borderColor: Color white;
+ borderWidth: 2;
+ yourself
+ !

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

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

Item was added:
+ ----- Method: PreferenceWizardProgressMorph>>setDefaultParameters (in category 'as yet unclassified') -----
+ setDefaultParameters
+ "change the receiver's appareance parameters"
+
+ self
+ color: Color transparent;
+ borderWidth: 0;
+ font: (StrikeFont familyName: 'Darkmap DejaVu Sans' pointSize: 12);
+ textColor: Color white.!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190912/faecd212/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 249877 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190912/faecd212/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 245942 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190912/faecd212/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 228452 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190912/faecd212/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 209230 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190912/faecd212/attachment-0007.png>


More information about the Squeak-dev mailing list