[squeak-dev] The Trunk: PreferenceBrowser-mt.92.mcz
David T. Lewis
lewis at mail.msen.com
Fri Sep 13 12:54:15 UTC 2019
This looks very good. It provides a comfortable "quick start" for
new users in a classroom setting, and I think it will work well for
new hobby users who may be encountering Squeak for the first time.
Dave
On Thu, Sep 12, 2019 at 02:25:06PM +0000, commits at source.squeak.org wrote:
> 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 name])
> 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.!
>
>
More information about the Squeak-dev
mailing list
|