AbstractSettingsApplication.st
changeset 19494 a6253a3d0a45
parent 19493 2863a2a0d7be
child 19495 f95054ef3c84
--- a/AbstractSettingsApplication.st	Fri Feb 21 14:49:30 2020 +0100
+++ b/AbstractSettingsApplication.st	Fri Feb 21 14:59:29 2020 +0100
@@ -6957,63 +6957,34 @@
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'aspects'!
 
 changeMapHolder
-    changeMapHolder isNil ifTrue:[
-        changeMapHolder := false asValue.
-    ].
     ^ changeMapHolder.
 !
 
 currentKeyHolder
-    currentKeyHolder isNil ifTrue:[
-        currentKeyHolder := nil asValue.
-    ].
     ^ currentKeyHolder.
 !
 
 functionKeyList
-    functionKeyList isNil ifTrue:[
-        functionKeyList := List new.
-    ].
     ^ functionKeyList.
 !
 
 labelTextHolder
-    labelTextHolder isNil ifTrue:[
-        labelTextHolder := ValueHolder new.
-    ].
     ^ labelTextHolder.
 !
 
 macroTextHolder
-    macroTextHolder isNil ifTrue:[
-        macroTextHolder := ValueHolder new.
-    ].
     ^ macroTextHolder.
 !
 
 rawKeyList
-
-    rawKeyList isNil ifTrue:[
-        rawKeyList := List new.
-    ].
     ^ rawKeyList.
 !
 
 selectedFunctionKey
-
-    selectedFunctionKey isNil ifTrue:[
-        selectedFunctionKey := ValueHolder new.
-        selectedFunctionKey addDependent:self.
-    ].
     ^ selectedFunctionKey.
 !
 
 selectedRawKey
-
-    selectedRawKey isNil ifTrue:[
-        selectedRawKey := ValueHolder new.
-        selectedRawKey addDependent:self.
-    ].
     ^ selectedRawKey.
 ! !
 
@@ -7112,7 +7083,18 @@
 
     super initialize.
 
-    self labelTextHolder value:(resources at:'KEY_MSG' default:'keyboard mapping:') withCRs.
+    changeMapHolder := ValueHolder with:false.
+    currentKeyHolder := ValueHolder new.
+    functionKeyList := List new.
+    labelTextHolder := ValueHolder with:(resources at:'KEY_MSG' default:'keyboard mapping:') withCRs.
+    macroTextHolder := ValueHolder new.
+    rawKeyList := List new.
+
+    selectedFunctionKey := ValueHolder new.
+    selectedFunctionKey addDependent:self.
+
+    selectedRawKey := ValueHolder new.
+    selectedRawKey addDependent:self.
 
     "Modified: / 08-02-2017 / 00:30:32 / cg"
 !
@@ -7294,10 +7276,10 @@
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
-    self useSystemLanguageHolder value:(currentUserPrefs useSystemLanguage).
-    self languageIndexHolder value:self currentLanguageIndex.
-    self languageHolder value:self currentLanguage.
-    self currentFlagAndLanguageChannel value:self currentLanguage.
+    useSystemLanguageHolder value:(currentUserPrefs useSystemLanguage).
+    languageIndexHolder value:self currentLanguageIndex.
+    languageHolder value:self currentLanguage.
+    currentFlagAndLanguageChannel value:self currentLanguage.
 
     "Modified: / 24-08-2010 / 18:52:48 / sr"
 !
@@ -7306,11 +7288,11 @@
     |fontPref fontPrefs language oldLanguage languageString territory enc
      answer matchingFonts l screen switch dialog anyWrong|
 
-    currentUserPrefs useSystemLanguage:(self useSystemLanguageHolder value).
+    currentUserPrefs useSystemLanguage:(useSystemLanguageHolder value).
     
     self withWaitCursorDo:[
-        languageString := translatedLanguages at:(self languageIndexHolder value).
-        language := self languageHolder value asString string.
+        languageString := translatedLanguages at:(languageIndexHolder value).
+        language := languageHolder value asString string.
         (language includes:$-) ifTrue:[
             l := language asCollectionOfSubstringsSeparatedBy:$-.
             language := l at:1.
@@ -7456,8 +7438,8 @@
 updateForChangedLanguage
     self initializeLanguages.
     languageListHolder value:languageList.
-    self languageListHolder value:languageList.
-    self currentFlagAndLanguageChannel value:self currentLanguage.
+    languageListHolder value:languageList.
+    currentFlagAndLanguageChannel value:self currentLanguage.
     self setCurrentLanguageLabel.
     self setNoticeLabel.
 ! !
@@ -7465,76 +7447,43 @@
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'aspects'!
 
 currentFlagAndLanguageChannel
-    currentFlagAndLanguageChannel isNil ifTrue:[
-        currentFlagAndLanguageChannel := self currentLanguage asValue.
-    ].
     ^ currentFlagAndLanguageChannel.
 !
 
 currentLanguageLabel
-    currentLanguageLabel isNil ifTrue:[
-        currentLanguageLabel := ValueHolder new.
-        self setCurrentLanguageLabel.
-    ].
     ^ currentLanguageLabel.
 !
 
 languageHolder
-    languageHolder isNil ifTrue:[
-        languageHolder := self currentLanguage asValue.
-        languageHolder onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ languageHolder.
 !
 
-languageIndexChanged
-    |langIdx|
-
-    langIdx := self languageIndexHolder value ? 1.
-    self languageHolder value:(listOfLanguages at:langIdx).
-    self updateModifiedChannel.
-!
-
 languageIndexHolder
-    languageIndexHolder isNil ifTrue:[
-        languageIndexHolder := (self currentLanguageIndex) asValue.
-        languageIndexHolder onChangeSend:#languageIndexChanged to:self.
-    ].
     ^ languageIndexHolder.
 !
 
 languageListHolder
-    languageListHolder isNil ifTrue:[
-        languageListHolder := self languageList asValue.
-    ].
     ^ languageListHolder.
 !
 
 noticeLabelHolder
-    noticeLabelHolder isNil ifTrue:[
-        noticeLabelHolder := ValueHolder new.
-        self setNoticeLabel.
-    ].
     ^ noticeLabelHolder.
 !
 
-setCurrentLanguageLabel
-    currentLanguageLabel value: (resources string:'Current Language:')
-!
-
-setNoticeLabel
-    noticeLabelHolder
-        value: ((resources at:'LANG_MSG' default:'Select a Language') withCRs).
-!
-
 useSystemLanguageHolder
-    useSystemLanguageHolder isNil ifTrue:[
-        useSystemLanguageHolder := true asValue.
-        useSystemLanguageHolder onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ useSystemLanguageHolder.
 ! !
 
+!AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'change & update'!
+
+languageIndexChanged
+    |langIdx|
+
+    langIdx := languageIndexHolder value ? 1.
+    languageHolder value:(listOfLanguages at:langIdx).
+    self updateModifiedChannel.
+! !
+
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -7546,8 +7495,29 @@
 initialize
     <modifier: #super> "must be called if redefined"
 
+    super initialize.
+
     self initializeLanguages.
-    super initialize.
+
+    currentFlagAndLanguageChannel := ValueHolder with:(self currentLanguage).
+
+    currentLanguageLabel := ValueHolder new.
+    self setCurrentLanguageLabel.
+
+    languageHolder := self currentLanguage asValue.
+    languageHolder onChangeSend:#updateModifiedChannel to:self.
+
+    languageIndexHolder := (self currentLanguageIndex) asValue.
+    languageIndexHolder onChangeSend:#languageIndexChanged to:self.
+
+    languageListHolder := self languageList asValue.
+
+    noticeLabelHolder := ValueHolder new.
+    self setNoticeLabel.
+
+    useSystemLanguageHolder := true asValue.
+    useSystemLanguageHolder onChangeSend:#updateModifiedChannel to:self.
+
 
     "Modified: / 08-02-2017 / 00:30:07 / cg"
 !
@@ -7729,6 +7699,17 @@
     aWidget font:(Label defaultFont).
 ! !
 
+!AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'private'!
+
+setCurrentLanguageLabel
+    currentLanguageLabel value: (resources string:'Current Language:')
+!
+
+setNoticeLabel
+    noticeLabelHolder
+        value: ((resources at:'LANG_MSG' default:'Select a Language') withCRs).
+! !
+
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'queries'!
 
 currentLanguage