<div dir="ltr">Now I remember why I quit comitting to Squeak,<div><br></div><div><br></div><div>Bye</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 10, 2015 at 10:31 PM, Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I strongly object to this change!  I use this feature everytime I<br>
start a base image, but now you&#39;ve introduced an unnecessary and<br>
horribly-hard-to-use modal UI interaction to something that,<br>
previously, could be done in one-click or non-interactively via<br>
script.  I&#39;m sorry, but this is utterly *awful* and, wrong-headed in<br>
the first place.  There is now no quick and easy way to transfer of<br>
personal preferences from one image to another -- I have to click 57<br>
times instead of 1.  No way.<br>
<br>
Please put it back the way it was and let&#39;s talk about what you want<br>
to do and work out an amicable way of doing it before slamming such a<br>
thing into trunk.<br>
<br>
My guess is you want to have multiple .prefs files.  Maybe we need a<br>
new button for that.  Or, how about holding the Shift key when<br>
clicking &quot;load from disk&quot; as a way to tell it to pop up your<br>
file-selection dialog?<br>
<br>
PS -- Plus, you forgot to put a log message in the version and now its<br>
part of trunk.  Please always include a log message explaining &quot;why&quot;<br>
(not &quot;what&quot;) the change is being made.<br>
<div class="HOEnZb"><div class="h5"><br>
On Fri, Jan 9, 2015 at 6:58 AM,  &lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt; wrote:<br>
&gt; Karl Ramberg uploaded a new version of System to project The Trunk:<br>
&gt; <a href="http://source.squeak.org/trunk/System-kfr.693.mcz" target="_blank">http://source.squeak.org/trunk/System-kfr.693.mcz</a><br>
&gt;<br>
&gt; ==================== Summary ====================<br>
&gt;<br>
&gt; Name: System-kfr.693<br>
&gt; Author: kfr<br>
&gt; Time: 2 January 2015, 8:41:05.888 pm<br>
&gt; UUID: 760e94c5-2386-f642-a545-55a1fe293351<br>
&gt; Ancestors: System-bf.692<br>
&gt;<br>
&gt; empty log message<br>
&gt;<br>
&gt; =============== Diff against System-bf.692 ===============<br>
&gt;<br>
&gt; Item was changed:<br>
&gt;   ----- Method: Preferences class&gt;&gt;loadPreferencesFrom: (in category &#39;personalization&#39;) -----<br>
&gt; + loadPreferencesFrom: aFile<br>
&gt; - loadPreferencesFrom: aFileName<br>
&gt;         | stream params dict desktopColor |<br>
&gt; +       stream := ReferenceStream on: aFile.<br>
&gt; -       stream := ReferenceStream fileNamed: aFileName.<br>
&gt;         params := stream next.<br>
&gt;         self assert: (params isKindOf: IdentityDictionary).<br>
&gt;         params removeKey: #PersonalDictionaryOfPreferences.<br>
&gt;         dict := stream next.<br>
&gt;         self assert: (dict isKindOf: IdentityDictionary).<br>
&gt;         desktopColor := stream next.<br>
&gt;         stream close.<br>
&gt;         dict keysAndValuesDo:<br>
&gt;                 [:key :value | (self preferenceAt: key ifAbsent: [nil]) ifNotNil:<br>
&gt;                         [:pref | pref preferenceValue: value preferenceValue]].<br>
&gt;<br>
&gt;         params keysAndValuesDo: [ :key :value | self setParameter: key to: value ].<br>
&gt;<br>
&gt;         Smalltalk isMorphic<br>
&gt;                 ifTrue: [ World fillStyle: desktopColor ]<br>
&gt;                 ifFalse: [ self desktopColor: desktopColor. ScheduledControllers updateGray ].<br>
&gt;   !<br>
&gt;<br>
&gt; Item was changed:<br>
&gt;   ----- Method: Preferences class&gt;&gt;restorePreferencesFromDisk (in category &#39;personalization&#39;) -----<br>
&gt;   restorePreferencesFromDisk<br>
&gt; +       | result |<br>
&gt; +       result := (FileList2 modalFileSelectorForSuffixes: #(&#39;prefs&#39;)) .<br>
&gt; +       result ifNil: [^ self].<br>
&gt; +       self restorePreferencesFromDisk: result<br>
&gt; +<br>
&gt; -       (FileDirectory default fileExists: &#39;my.prefs&#39;)<br>
&gt; -               ifTrue: [ Cursor wait showWhile: [<br>
&gt; -                       [ self loadPreferencesFrom: &#39;my.prefs&#39; ] on: Error do: [ :ex | self inform: &#39;there was an error restoring the preferences&#39; ]<br>
&gt; -               ] ]<br>
&gt; -               ifFalse: [ self inform: &#39;you haven&#39;&#39;t saved your preferences yet!!&#39; ].<br>
&gt;         !<br>
&gt;<br>
&gt; Item was added:<br>
&gt; + ----- Method: Preferences class&gt;&gt;restorePreferencesFromDisk: (in category &#39;personalization&#39;) -----<br>
&gt; + restorePreferencesFromDisk: aFile<br>
&gt; +       Cursor wait<br>
&gt; +               showWhile: [[self loadPreferencesFrom: aFile]<br>
&gt; +                               on: Error<br>
&gt; +                               do: [:ex | self halt.self inform: &#39;there was an error restoring the preferences&#39; translated]]!<br>
&gt;<br>
&gt; Item was changed:<br>
&gt;   ----- Method: Preferences class&gt;&gt;storePreferencesToDisk (in category &#39;personalization&#39;) -----<br>
&gt;   storePreferencesToDisk<br>
&gt; +       | newName |<br>
&gt; +       newName := UIManager default request: &#39;Please confirm name for save...&#39; initialAnswer: &#39;myPreferences&#39;.<br>
&gt; +       newName isEmpty<br>
&gt; +               ifTrue: [^ self].<br>
&gt; +       Cursor wait<br>
&gt; +               showWhile: [[self storePreferencesIn: newName , &#39;.prefs&#39;]<br>
&gt; +                               on: Error<br>
&gt; +                               do: [:ex | self inform: &#39;there was an error storing your preferences to disk. you probably already have stored your preferences&#39; translated]]!<br>
&gt; -       Cursor wait showWhile: [<br>
&gt; -               [ self storePreferencesIn: &#39;my.prefs&#39; ] on: Error do: [ :ex | self inform: &#39;there was an error storing your preferences to disk&#39; ]]!<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>