[squeak-dev] [5.3?] The Inbox: PreferenceBrowser-ct.99.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Mon Jan 6 14:20:18 UTC 2020

The wizard is already in the "Apps" menu. :-)

Am 06.01.2020 15:19:26 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:
Hi all,

do you think we can move this one into Trunk for the 5.3 release? It would complement the recent PreferenceWizardMorph upgrade well ... :-)


Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Dienstag, 31. Dezember 2019 02:53 Uhr
An: squeak-dev at lists.squeakfoundation.org
Betreff: [squeak-dev] The Inbox: PreferenceBrowser-ct.99.mcz
Christoph Thiede uploaded a new version of PreferenceBrowser to project The Inbox:
http://source.squeak.org/inbox/PreferenceBrowser-ct.99.mcz [http://source.squeak.org/inbox/PreferenceBrowser-ct.99.mcz]

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

Name: PreferenceBrowser-ct.99
Author: ct
Time: 31 December 2019, 2:53:14.748022 am
UUID: dd537552-5f25-8648-9f2c-0d83840c16a8
Ancestors: PreferenceBrowser-mt.97

Add a button to open the preference wizard from the preference browser. It's just too cool to not being reused after initial setup!

=============== Diff against PreferenceBrowser-mt.97 ===============

Item was added:
+ ----- Method: PreferenceBrowser>>wizardSelected (in category 'preferences search') -----
+ wizardSelected
+        PreferenceWizardMorph openPlayfield!

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

Item was added:
+ ----- Method: PreferenceBrowserMorph>>wizardButton (in category 'submorphs - buttons') -----
+ wizardButton
+        ^ wizardButton ifNil: [wizardButton :=
+                self basicButton
+                        label: 'wizard' translated;
+                        setBalloonText: 'The preferences wizard guides you through the most important preferences for your Squeak image.' translated;
+                        action: #wizardSelected]!

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

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

Item was added:
+ ----- Method: PreferenceWizardMorph class>>openPlayfield (in category 'instance creation') -----
+ openPlayfield
+        "PreferenceWizardMorph openPlayfield"
+        ^ PreferenceWizardMorph new openPlayfield!

Item was changed:
  ----- Method: PreferenceWizardMorph>>accept (in category 'actions') -----
+        wantsInstallPage
+                ifTrue: [       self showInstallPage]
+                ifFalse: [self delete]!
-        self showInstallPage.!

Item was changed:
  ----- Method: PreferenceWizardMorph>>initialize (in category 'initialization') -----
         super initialize.
+        wantsInstallPage := true.
         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)).
                 layoutInset: 20;
                 cellGap: 10;
                 cellPositioning: #center;
                 addAllMorphs: {titleMorph. buttonRowMorph. controlMorph. previewWorld. startButton. skipButton. lowPerformanceMorph}.
         self addKeyboardCaptureFilter: self.!

Item was added:
+ ----- Method: PreferenceWizardMorph>>openPlayfield (in category 'initialization') -----
+ openPlayfield
+        wantsInstallPage := false.
+        super openInWorld.
+        self showPlayfield.!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200106/47467db5/attachment-0001.html>

More information about the Squeak-dev mailing list