[squeak-dev] The Trunk: System-kfr.693.mcz

Chris Muller asqueaker at gmail.com
Sat Jan 10 21:31:09 UTC 2015


I strongly object to this change!  I use this feature everytime I
start a base image, but now you've introduced an unnecessary and
horribly-hard-to-use modal UI interaction to something that,
previously, could be done in one-click or non-interactively via
script.  I'm sorry, but this is utterly *awful* and, wrong-headed in
the first place.  There is now no quick and easy way to transfer of
personal preferences from one image to another -- I have to click 57
times instead of 1.  No way.

Please put it back the way it was and let's talk about what you want
to do and work out an amicable way of doing it before slamming such a
thing into trunk.

My guess is you want to have multiple .prefs files.  Maybe we need a
new button for that.  Or, how about holding the Shift key when
clicking "load from disk" as a way to tell it to pop up your
file-selection dialog?

PS -- Plus, you forgot to put a log message in the version and now its
part of trunk.  Please always include a log message explaining "why"
(not "what") the change is being made.

On Fri, Jan 9, 2015 at 6:58 AM,  <commits at source.squeak.org> wrote:
> Karl Ramberg uploaded a new version of System to project The Trunk:
> http://source.squeak.org/trunk/System-kfr.693.mcz
>
> ==================== Summary ====================
>
> Name: System-kfr.693
> Author: kfr
> Time: 2 January 2015, 8:41:05.888 pm
> UUID: 760e94c5-2386-f642-a545-55a1fe293351
> Ancestors: System-bf.692
>
> empty log message
>
> =============== Diff against System-bf.692 ===============
>
> Item was changed:
>   ----- Method: Preferences class>>loadPreferencesFrom: (in category 'personalization') -----
> + loadPreferencesFrom: aFile
> - loadPreferencesFrom: aFileName
>         | stream params dict desktopColor |
> +       stream := ReferenceStream on: aFile.
> -       stream := ReferenceStream fileNamed: aFileName.
>         params := stream next.
>         self assert: (params isKindOf: IdentityDictionary).
>         params removeKey: #PersonalDictionaryOfPreferences.
>         dict := stream next.
>         self assert: (dict isKindOf: IdentityDictionary).
>         desktopColor := stream next.
>         stream close.
>         dict keysAndValuesDo:
>                 [:key :value | (self preferenceAt: key ifAbsent: [nil]) ifNotNil:
>                         [:pref | pref preferenceValue: value preferenceValue]].
>
>         params keysAndValuesDo: [ :key :value | self setParameter: key to: value ].
>
>         Smalltalk isMorphic
>                 ifTrue: [ World fillStyle: desktopColor ]
>                 ifFalse: [ self desktopColor: desktopColor. ScheduledControllers updateGray ].
>   !
>
> Item was changed:
>   ----- Method: Preferences class>>restorePreferencesFromDisk (in category 'personalization') -----
>   restorePreferencesFromDisk
> +       | result |
> +       result := (FileList2 modalFileSelectorForSuffixes: #('prefs')) .
> +       result ifNil: [^ self].
> +       self restorePreferencesFromDisk: result
> +
> -       (FileDirectory default fileExists: 'my.prefs')
> -               ifTrue: [ Cursor wait showWhile: [
> -                       [ self loadPreferencesFrom: 'my.prefs' ] on: Error do: [ :ex | self inform: 'there was an error restoring the preferences' ]
> -               ] ]
> -               ifFalse: [ self inform: 'you haven''t saved your preferences yet!!' ].
>         !
>
> Item was added:
> + ----- Method: Preferences class>>restorePreferencesFromDisk: (in category 'personalization') -----
> + restorePreferencesFromDisk: aFile
> +       Cursor wait
> +               showWhile: [[self loadPreferencesFrom: aFile]
> +                               on: Error
> +                               do: [:ex | self halt.self inform: 'there was an error restoring the preferences' translated]]!
>
> Item was changed:
>   ----- Method: Preferences class>>storePreferencesToDisk (in category 'personalization') -----
>   storePreferencesToDisk
> +       | newName |
> +       newName := UIManager default request: 'Please confirm name for save...' initialAnswer: 'myPreferences'.
> +       newName isEmpty
> +               ifTrue: [^ self].
> +       Cursor wait
> +               showWhile: [[self storePreferencesIn: newName , '.prefs']
> +                               on: Error
> +                               do: [:ex | self inform: 'there was an error storing your preferences to disk. you probably already have stored your preferences' translated]]!
> -       Cursor wait showWhile: [
> -               [ self storePreferencesIn: 'my.prefs' ] on: Error do: [ :ex | self inform: 'there was an error storing your preferences to disk' ]]!
>
>


More information about the Squeak-dev mailing list