AbstractSettingsApplication.st
changeset 15921 d3527cddc842
parent 15920 6eb9b5a638a1
child 15927 b134b5ad8d68
child 15947 4d3269f7b832
--- a/AbstractSettingsApplication.st	Wed Oct 28 18:08:04 2015 +0100
+++ b/AbstractSettingsApplication.st	Wed Oct 28 18:26:27 2015 +0100
@@ -2816,27 +2816,13 @@
      )
 ! !
 
-!AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'actions'!
-
-basicReadSettings
-    self
-	readAspects:(self aspectSelectors)
-	from:currentUserPrefs.
-!
-
-basicSaveSettings
-    self
-	writeAspects:(self aspectSelectors)
-	to:currentUserPrefs.
-! !
-
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'aspects'!
 
-aspectSelectors
+aspects
     ^ #(
-	generateComments
-	generateCommentsForGetters
-	generateCommentsForSetters
+        generateComments
+        generateCommentsForGetters
+        generateCommentsForSetters
     )
 !
 
@@ -2870,16 +2856,6 @@
     ^ 'Launcher/codeGeneratorSettings.html'
 ! !
 
-!AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'queries'!
-
-hasUnsavedChanges
-    ^ self
-	hasChangedAspectIn:(self aspectSelectors)
-	asComparedTo:currentUserPrefs
-
-    "Modified: / 25-11-2011 / 15:22:51 / cg"
-! !
-
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -3003,29 +2979,15 @@
      )
 ! !
 
-!AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'actions'!
-
-aspectsFromUserPreferences
+!AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'aspects'!
+
+aspects
     ^ #(
-	logHTTPRequests
-	logSOAPRequests
+        logHTTPRequests
+        logSOAPRequests
     )
 !
 
-basicReadSettings
-    self
-	readAspects:(self aspectsFromUserPreferences)
-	from:currentUserPrefs.
-!
-
-basicSaveSettings
-    self
-	writeAspects:(self aspectsFromUserPreferences)
-	to:currentUserPrefs.
-! !
-
-!AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'aspects'!
-
 logHTTPRequests
     logHTTPRequests isNil ifTrue:[
 	logHTTPRequests := false asValue.
@@ -3048,14 +3010,6 @@
     ^ 'Launcher/comLoggingSettings.html'
 ! !
 
-!AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'queries'!
-
-hasUnsavedChanges
-     ^ self
-	hasChangedAspectIn:(self aspectsFromUserPreferences)
-	asComparedTo:currentUserPrefs
-! !
-
 !AbstractSettingsApplication::DebuggerSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -3248,24 +3202,18 @@
 
 basicReadSettings
     self showErrorNotifier value:(NoHandlerError emergencyHandler == AbstractLauncherApplication notifyingEmergencyHandler).
-    self allowSendMailFromDebugger value:currentUserPrefs allowSendMailFromDebugger.
-    self verboseBacktraceInDebugger value:(currentUserPrefs verboseBacktraceInDebugger).
-    self hideSupportCodeInDebugger value:(currentUserPrefs hideSupportCodeInDebugger).
-    self useNewLayoutInDebugger value:(currentUserPrefs useNewLayoutInDebugger).
+    super basicReadSettings.
 
     "Modified: / 10-06-2012 / 21:23:24 / cg"
 !
 
 basicSaveSettings
     self showErrorNotifier value ifFalse:[
-	NoHandlerError emergencyHandler:nil
+        NoHandlerError emergencyHandler:nil
     ] ifTrue:[
-	NoHandlerError emergencyHandler:(AbstractLauncherApplication notifyingEmergencyHandler)
-    ].
-    currentUserPrefs allowSendMailFromDebugger:(self allowSendMailFromDebugger value).
-    currentUserPrefs verboseBacktraceInDebugger:(self verboseBacktraceInDebugger value).
-    currentUserPrefs useNewLayoutInDebugger:(self useNewLayoutInDebugger value).
-    currentUserPrefs hideSupportCodeInDebugger:(self hideSupportCodeInDebugger value).
+        NoHandlerError emergencyHandler:(AbstractLauncherApplication notifyingEmergencyHandler)
+    ].
+    super basicSaveSettings.
     Debugger newDebugger.
 
     "Modified: / 10-06-2012 / 21:23:32 / cg"
@@ -3282,6 +3230,15 @@
     ^ allowSendMailFromDebugger.
 !
 
+aspects
+    ^ #(
+        allowSendMailFromDebugger
+        verboseBacktraceInDebugger
+        hideSupportCodeInDebugger
+        useNewLayoutInDebugger
+    )
+!
+
 hideSupportCodeInDebugger
 
     hideSupportCodeInDebugger isNil ifTrue:[
@@ -3330,11 +3287,7 @@
 
 hasUnsavedChanges
     self showErrorNotifier value ~= (NoHandlerError emergencyHandler == AbstractLauncherApplication notifyingEmergencyHandler) ifTrue:[^ true].
-    currentUserPrefs verboseBacktraceInDebugger ~= self verboseBacktraceInDebugger value ifTrue:[^ true].
-    currentUserPrefs hideSupportCodeInDebugger ~= self hideSupportCodeInDebugger value ifTrue:[^ true].
-    currentUserPrefs allowSendMailFromDebugger ~= self allowSendMailFromDebugger value ifTrue:[^ true].
-    currentUserPrefs useNewLayoutInDebugger ~= self useNewLayoutInDebugger value ifTrue:[^ true].
-    ^ false
+    ^ super hasUnsavedChanges
 
     "Modified: / 10-06-2012 / 21:23:54 / cg"
 ! !
@@ -4398,9 +4351,7 @@
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
-    self
-	readAspects:self commonAspects
-	from:currentUserPrefs.
+    super basicReadSettings.
 
     self st80DoubleClickSelectMode value:TextView st80SelectMode.
     self tabsIs4 value:(ListView userDefaultTabPositions = ListView tab4Positions).
@@ -4408,9 +4359,7 @@
 !
 
 basicSaveSettings
-    self
-        writeAspects:self commonAspects
-        to:currentUserPrefs.
+    super basicSaveSettings.
 
     currentUserPrefs enforcedDropModeForFiles:
         ( self enforceContentsDropForFiles value 
@@ -4456,6 +4405,28 @@
 
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'aspects'!
 
+aspects
+    ^ #(
+        #useCodeView2InTools
+         #showAcceptCancelBarInBrowser
+         #searchDialogIsModal
+         #startTextDragWithControl
+         #st80EditMode
+         #extendedWordSelectMode
+         #whitespaceWordSelectMode
+         #selectAllWhenClickingBeyondEnd
+         #autoIndentInCodeView
+         #immediateCodeCompletion
+         #codeCompletionOnControlKey
+         #codeCompletionOnTabKey
+         #codeCompletionViewKeyboardNavigationNeedsModifier
+         #selectionExtensionMode
+    )
+
+    "Modified: / 07-03-2012 / 14:33:40 / cg"
+    "Modified: / 27-03-2014 / 10:10:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 autoIndentInCodeView
     autoIndentInCodeView isNil ifTrue:[
 	autoIndentInCodeView := false asValue.
@@ -4612,14 +4583,12 @@
     self enforceContentsDropForFiles value ~= (currentUserPrefs enforcedDropModeForFiles == #text) ifTrue:[^ true].
     TextView st80SelectMode ~= (self st80DoubleClickSelectMode value) ifTrue:[^ true].
     tabsIs4 value ~~ (ListView userDefaultTabPositions = ListView tab4Positions) ifTrue:[
-	ListView userDefaultTabPositions ~= (self tabsIs4 value
-						ifTrue:[ListView tab4Positions]
-						ifFalse:[ListView tab8Positions]) ifTrue:[^ true].
-    ].
-
-    ^ self
-	hasChangedAspectIn:self commonAspects
-	asComparedTo:currentUserPrefs
+        ListView userDefaultTabPositions ~= (self tabsIs4 value
+                                                ifTrue:[ListView tab4Positions]
+                                                ifFalse:[ListView tab8Positions]) ifTrue:[^ true].
+    ].
+
+    ^ super hasUnsavedChanges
 
     "Modified: / 25-11-2011 / 15:23:02 / cg"
 ! !
@@ -7370,12 +7339,8 @@
 
 basicReadSettings
     self
-	readAspects:
-	    #(
-		newSpaceSize
-		maxOldSpace
-	    )
-	from:ObjectMemory.
+        readAspects:(self aspectsInObjectMemory)
+        from:ObjectMemory.
 
     self igcLimit value:ObjectMemory incrementalGCLimit.
     self igcFreeLimit value:ObjectMemory freeSpaceGCLimit.
@@ -7394,12 +7359,8 @@
 
 basicSaveSettings
     self
-	writeAspects:
-	    #(
-		newSpaceSize
-		maxOldSpace
-	    )
-	to:ObjectMemory.
+        writeAspects:(self aspectsInObjectMemory)
+        to:ObjectMemory.
 
     ObjectMemory freeSpaceGCAmount:self igcFreeAmount value.
     ObjectMemory freeSpaceGCLimit:self igcFreeLimit value.
@@ -7418,6 +7379,13 @@
 
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'aspects'!
 
+aspectsInObjectMemory
+    ^ #(
+                newSpaceSize
+                maxOldSpace
+            )
+!
+
 codeLimit
 
     codeLimit isNil ifTrue:[
@@ -7562,12 +7530,8 @@
 
 hasUnsavedChanges
      (self
-	hasChangedAspectIn:
-	    #(
-		newSpaceSize
-		maxOldSpace
-	    )
-	asComparedTo:ObjectMemory) ifTrue:[^ true].
+        hasChangedAspectIn:(self aspectsInObjectMemory)
+        asComparedTo:ObjectMemory) ifTrue:[^ true].
 
     ObjectMemory freeSpaceGCAmount ~= self igcFreeAmount value ifTrue:[^ true].
     ObjectMemory freeSpaceGCLimit ~= self igcFreeLimit value ifTrue:[^ true].
@@ -8112,38 +8076,39 @@
 
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'actions'!
 
+aspects
+    ^ #(
+                smtpServerName
+                dotNetBridgeRunsInIDE
+                dotNetBridgeVerbose
+            )
+!
+
 basicReadSettings
     |pw auth|
 
-    self
-	readAspects:
-	    #(
-		smtpServerName
-		dotNetBridgeRunsInIDE
-		dotNetBridgeVerbose
-	    )
-	from:currentUserPrefs.
+    super basicReadSettings.
 
     SmallTeam notNil ifTrue:[
-	self smallTeamServerEnabled value:(SmallTeam isLoaded and:[SmallTeam serverRunning]).
-	self listOfSmallTeamHosts contents:(SmallTeam connectedHosts).
+        self smallTeamServerEnabled value:(SmallTeam isLoaded and:[SmallTeam serverRunning]).
+        self listOfSmallTeamHosts contents:(SmallTeam connectedHosts).
     ].
 
     self remoteBrowsingEnabled
-	value:(self hasRemoteBrowsingSupport
-	       and:[SmalltalkShareServer isLoaded and:[SmalltalkShareServer serverRunning]]).
+        value:(self hasRemoteBrowsingSupport
+               and:[SmalltalkShareServer isLoaded and:[SmalltalkShareServer serverRunning]]).
 
     self windowMigrationEnabled
-	value:(self hasWindowMigrationServer
-	       and:[ WindowMigrationServer isLoaded
-	       and:[ WindowMigrationServer serverRunning ]]).
+        value:(self hasWindowMigrationServer
+               and:[ WindowMigrationServer isLoaded
+               and:[ WindowMigrationServer serverRunning ]]).
 
 
     pw := nil.
     auth := false.
     (self hasWindowMigrationServer and:[WindowMigrationServer isLoaded]) ifTrue:[
-	pw := WindowMigrationServer password.
-	auth := self windowMigrationPassword value notNil
+        pw := WindowMigrationServer password.
+        auth := self windowMigrationPassword value notNil
     ].
 
     self windowMigrationPassword value:pw.
@@ -8153,14 +8118,7 @@
 !
 
 basicSaveSettings
-    self
-        writeAspects:
-            #(
-                smtpServerName
-                dotNetBridgeRunsInIDE
-                dotNetBridgeVerbose
-            )
-        to:currentUserPrefs.
+    super basicSaveSettings.
 
     BRIDGE::SmalltalkBridge notNil ifTrue:[
         BRIDGE::SmalltalkBridge verbose:(self smalltalkBridgeVerbose value).
@@ -8450,14 +8408,7 @@
 !
 
 hasUnsavedChanges
-    (self
-        hasChangedAspectIn:
-            #(
-                smtpServerName
-                dotNetBridgeRunsInIDE
-                dotNetBridgeVerbose
-            )
-        asComparedTo:currentUserPrefs) ifTrue:[^ true].
+    (super hasUnsavedChanges) ifTrue:[^ true].
 
     BRIDGE::SmalltalkBridge notNil ifTrue:[
         BRIDGE::SmalltalkBridge verbose ~= (self smalltalkBridgeVerbose value) ifTrue:[^ true].
@@ -8769,39 +8720,28 @@
 
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'actions'!
 
-aspectsFromUserPreferences
-    ^ #(
-	opaqueVariablePanelResizing
-	opaqueTableColumnResizing
-    )
-
-    "Modified: / 24-08-2010 / 17:26:38 / sr"
-!
-
 basicReadSettings
     |currentScreen|
 
     currentScreen := Screen current.
 
     self
-	readAspects:
-	    #(
-		nativeWidgets
-		nativeDialogs
-		nativeFileDialogs
-	    )
-	from:currentScreen.
-
-    self
-	readAspects:(self aspectsFromUserPreferences)
-	from:currentUserPrefs.
+        readAspects:
+            #(
+                nativeWidgets
+                nativeDialogs
+                nativeFileDialogs
+            )
+        from:currentScreen.
+
+    super basicReadSettings.
 
     self shadows value:PopUpView shadows.
     self cartoonToolTipStyle value: (currentUserPrefs toolTipShapeStyle == #cartoon).
 
     currentScreen isWindowsPlatform ifTrue:[
-	self lowerOnRightClickInTitle value:(currentScreen rightButtonIsLowerWindow:nil).
-	self lowerOnShiftClickInTitle value:(currentScreen shiftedLeftButtonIsLowerWindow:nil).
+        self lowerOnRightClickInTitle value:(currentScreen rightButtonIsLowerWindow:nil).
+        self lowerOnShiftClickInTitle value:(currentScreen shiftedLeftButtonIsLowerWindow:nil).
     ].
 
     "Modified: / 24-08-2010 / 16:43:39 / sr"
@@ -8815,37 +8755,35 @@
     currentScreen := Screen current.
 
     self displaySupportsNativeWidgets ifTrue:[
-	currentScreen nativeWidgets ~= self nativeWidgets value ifTrue:[
-	    mustReopenTools := true.
-	    currentScreen nativeWidgets:self nativeWidgets value.
-	    currentUserPrefs nativeWidgets:self nativeWidgets value.
-	].
+        currentScreen nativeWidgets ~= self nativeWidgets value ifTrue:[
+            mustReopenTools := true.
+            currentScreen nativeWidgets:self nativeWidgets value.
+            currentUserPrefs nativeWidgets:self nativeWidgets value.
+        ].
     ].
     self displaySupportsNativeDialogs ifTrue:[
-	currentScreen nativeDialogs:self nativeDialogs value.
-	currentUserPrefs nativeDialogs:self nativeDialogs value.
+        currentScreen nativeDialogs:self nativeDialogs value.
+        currentUserPrefs nativeDialogs:self nativeDialogs value.
     ].
     self displaySupportsNativeFileDialogs ifTrue:[
-	currentScreen nativeFileDialogs:self nativeFileDialogs value.
-	currentUserPrefs nativeFileDialogs:self nativeFileDialogs value.
+        currentScreen nativeFileDialogs:self nativeFileDialogs value.
+        currentUserPrefs nativeFileDialogs:self nativeFileDialogs value.
     ].
 
     currentUserPrefs toolTipShapeStyle:((self cartoonToolTipStyle value)
-						ifTrue:[ #cartoon ]
-						ifFalse:[ nil ]).
+                                                ifTrue:[ #cartoon ]
+                                                ifFalse:[ nil ]).
     PopUpView shadows:self shadows value.
 
-    self
-	writeAspects:(self aspectsFromUserPreferences)
-	to:currentUserPrefs.
+    super basicSaveSettings.
 
     currentScreen isWindowsPlatform ifTrue:[
-	currentScreen rightButtonIsLowerWindow:(self lowerOnRightClickInTitle value).
-	currentScreen shiftedLeftButtonIsLowerWindow:(self lowerOnShiftClickInTitle value).
+        currentScreen rightButtonIsLowerWindow:(self lowerOnRightClickInTitle value).
+        currentScreen shiftedLeftButtonIsLowerWindow:(self lowerOnShiftClickInTitle value).
     ].
 
     mustReopenTools ifTrue:[
-	self reopenToolsAfterChangedViewStyleSetting.
+        self reopenToolsAfterChangedViewStyleSetting.
     ].
 
     "Modified: / 24-08-2010 / 17:27:25 / sr"
@@ -8853,6 +8791,15 @@
 
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'aspects'!
 
+aspects
+    ^ #(
+        opaqueVariablePanelResizing
+        opaqueTableColumnResizing
+    )
+
+    "Modified: / 24-08-2010 / 17:26:38 / sr"
+!
+
 cartoonToolTipStyle
     cartoonToolTipStyle isNil ifTrue:[
 	cartoonToolTipStyle := false asValue.
@@ -8959,24 +8906,22 @@
      currentScreen := Screen current.
 
      (self
-	hasChangedAspectIn:
-	    #(
-		nativeWidgets
-		nativeDialogs
-		nativeFileDialogs
-	    )
-	asComparedTo:currentScreen) ifTrue:[^ true].
-
-     (self
-	hasChangedAspectIn:(self aspectsFromUserPreferences)
-	asComparedTo:currentUserPrefs) ifTrue:[^ true].
+        hasChangedAspectIn:
+            #(
+                nativeWidgets
+                nativeDialogs
+                nativeFileDialogs
+            )
+        asComparedTo:currentScreen) ifTrue:[^ true].
+
+     (super hasUnsavedChanges) ifTrue:[^ true].
 
     self shadows value ~= PopUpView shadows ifTrue:[^ true].
     (currentUserPrefs toolTipShapeStyle == #cartoon) ~= cartoonToolTipStyle value ifTrue:[^ true].
 
     currentScreen isWindowsPlatform ifTrue:[
-	(currentScreen rightButtonIsLowerWindow:nil) ~= (self lowerOnRightClickInTitle value) ifTrue:[^ true].
-	(currentScreen shiftedLeftButtonIsLowerWindow:nil) ~= (self lowerOnShiftClickInTitle value) ifTrue:[^ true].
+        (currentScreen rightButtonIsLowerWindow:nil) ~= (self lowerOnRightClickInTitle value) ifTrue:[^ true].
+        (currentScreen shiftedLeftButtonIsLowerWindow:nil) ~= (self lowerOnShiftClickInTitle value) ifTrue:[^ true].
     ].
     ^ false
 
@@ -9369,27 +9314,8 @@
 
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'actions'!
 
-aspectsFromUserPreferences
-    ^ #(
-	beepEnabled
-	focusFollowsMouse
-	mouseWheelFocusFollowsMouse
-	showRightButtonMenuOnRelease
-	selectOnRightClick
-	allowMouseWheelZoom
-	forceWindowsIntoMonitorBounds
-	button2WithAltKey
-	shouldRememberLastExtent
-	menuPanelTakesFocusOnClick
-    )
-
-    "Modified: / 31-07-2013 / 18:14:44 / cg"
-!
-
 basicReadSettings
-    self
-	readAspects:(self aspectsFromUserPreferences)
-	from:currentUserPrefs.
+    super basicReadSettings.
 
     self newWindowLabelFormat value:StandardSystemView windowLabelFormat.
     self hostNameInLabelHolder value:StandardSystemView includeHostNameInLabel.
@@ -9408,28 +9334,26 @@
 
     (self hostNameInLabelHolder value ~= StandardSystemView includeHostNameInLabel
     or:[self newWindowLabelFormat value ~= StandardSystemView windowLabelFormat]) ifTrue:[
-	StandardSystemView includeHostNameInLabel:self hostNameInLabelHolder value.
-	self newWindowLabelFormat value notNil ifTrue:[
-	    StandardSystemView windowLabelFormat:self newWindowLabelFormat value
-	].
-
-	Screen allScreens do:[:aDisplay |
-	    aDisplay allViewsDo:[:aView |
-		|l|
-
-		aView isTopView ifTrue:[
-		    l := aView label.
-		    l notNil ifTrue:[
-			aView label:(l , ' '); label:l.  "/ force a change
-		    ]
-		]
-	    ]
-	]
-    ].
-
-    self
-	writeAspects:(self aspectsFromUserPreferences)
-	to:currentUserPrefs.
+        StandardSystemView includeHostNameInLabel:self hostNameInLabelHolder value.
+        self newWindowLabelFormat value notNil ifTrue:[
+            StandardSystemView windowLabelFormat:self newWindowLabelFormat value
+        ].
+
+        Screen allScreens do:[:aDisplay |
+            aDisplay allViewsDo:[:aView |
+                |l|
+
+                aView isTopView ifTrue:[
+                    l := aView label.
+                    l notNil ifTrue:[
+                        aView label:(l , ' '); label:l.  "/ force a change
+                    ]
+                ]
+            ]
+        ]
+    ].
+
+    super basicSaveSettings.
 
     StandardSystemView returnFocusWhenClosingModalBoxes:self returnFocus value.
     StandardSystemView takeFocusWhenMapped:self takeFocus value.
@@ -9438,8 +9362,8 @@
     MenuView showAcceleratorKeys:self showAccelerators value.
 
     self autoRaiseOnFocusIn value ~= (currentUserPrefs autoRaiseOnFocusInDelay notNil) ifTrue:[
-	currentUserPrefs autoRaiseOnFocusInDelay:(
-	    self autoRaiseOnFocusIn value ifTrue:[ 750 ] ifFalse:[nil]).
+        currentUserPrefs autoRaiseOnFocusInDelay:(
+            self autoRaiseOnFocusIn value ifTrue:[ 750 ] ifFalse:[nil]).
     ].
 
     "Modified: / 16.12.2002 / 18:06:31 / penk"
@@ -9476,6 +9400,23 @@
     ^ allowMouseWheelZoom.
 !
 
+aspects
+    ^ #(
+        beepEnabled
+        focusFollowsMouse
+        mouseWheelFocusFollowsMouse
+        showRightButtonMenuOnRelease
+        selectOnRightClick
+        allowMouseWheelZoom
+        forceWindowsIntoMonitorBounds
+        button2WithAltKey
+        shouldRememberLastExtent
+        menuPanelTakesFocusOnClick
+    )
+
+    "Modified: / 31-07-2013 / 18:14:44 / cg"
+!
+
 autoRaiseOnFocusIn
     autoRaiseOnFocusIn isNil ifTrue:[
 	autoRaiseOnFocusIn := true asValue.
@@ -9657,9 +9598,7 @@
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
-     (self
-	hasChangedAspectIn:(self aspectsFromUserPreferences)
-	asComparedTo:currentUserPrefs) ifTrue:[^ true].
+     (super hasUnsavedChanges) ifTrue:[^ true].
 
     self newWindowLabelFormat value ~= StandardSystemView windowLabelFormat ifTrue:[^ true].
     self hostNameInLabelHolder value ~= StandardSystemView includeHostNameInLabel ifTrue:[^ true].
@@ -16395,25 +16334,26 @@
 
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'actions'!
 
+aspects
+    ^ #(
+        syntaxColoring
+        fullSelectorCheck
+    )
+!
+
 basicReadSettings
     |colorList resetListLoc|
 
     oldUserPreferences notNil ifTrue:[
-	(UserPreferences reset; current) addAll:oldUserPreferences
-    ].
-
-    self
-	readAspects:
-	    #(
-		syntaxColoring
-		fullSelectorCheck
-	    )
-	from:currentUserPrefs.
+        (UserPreferences reset; current) addAll:oldUserPreferences
+    ].
+
+    super basicReadSettings.
 
     oldUserPreferences := currentUserPrefs copy.
     colorList := UserPreferences syntaxColorNames.
     resetListLoc := currentUserPrefs listOfPredefinedSyntaxColoringSchemes
-		collect:[:entry | entry second].
+                collect:[:entry | entry second].
     self resetList value:resetListLoc.
     self resetListSelection value:resetListLoc first.
     self syntaxEmphasisList value:self class emphasisList.
@@ -16424,10 +16364,7 @@
 basicSaveSettings
 
     oldUserPreferences := currentUserPrefs copy.
-    currentUserPrefs syntaxColoring:(self syntaxColoring value).
-    currentUserPrefs at:#fullSelectorCheck put:(self fullSelectorCheck value).
-
-    "Modified (format): / 14-02-2012 / 11:19:11 / cg"
+    super basicSaveSettings.
 !
 
 recolor
@@ -16689,24 +16626,18 @@
 
     colorList := UserPreferences syntaxColorNames.
     colorList do:[:syntaxElement |
-	colorPerformer := (self syntaxColorSelectorForElement:syntaxElement).
-	emphasisPerformer := (self syntaxEmphasisSelectorForElement:syntaxElement).
-	((oldUserPreferences perform:colorPerformer) ~= (currentUserPrefs perform:colorPerformer)) ifTrue:[
-	    ^ true
-	].
-	((oldUserPreferences perform:emphasisPerformer) ~= (currentUserPrefs perform:emphasisPerformer)) ifTrue:[
-	    ^ true
-	].
-	syntaxElement
-    ].
-
-    (self
-	hasChangedAspectIn:
-	    #(
-		syntaxColoring
-		fullSelectorCheck
-	    )
-	asComparedTo:currentUserPrefs) ifTrue:[^ true].
+        colorPerformer := (self syntaxColorSelectorForElement:syntaxElement).
+        emphasisPerformer := (self syntaxEmphasisSelectorForElement:syntaxElement).
+        ((oldUserPreferences perform:colorPerformer) ~= (currentUserPrefs perform:colorPerformer)) ifTrue:[
+            ^ true
+        ].
+        ((oldUserPreferences perform:emphasisPerformer) ~= (currentUserPrefs perform:emphasisPerformer)) ifTrue:[
+            ^ true
+        ].
+        syntaxElement
+    ].
+
+    (super hasUnsavedChanges) ifTrue:[^ true].
 
     ^ false
 !
@@ -17104,46 +17035,6 @@
     "Created: / 14-10-2014 / 09:18:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-aspects
-    ^ #(
-	"/ showAcceptCancelBarInBrowser
-	useSearchBarInBrowser
-	showMethodTemplate
-	"/ useCodeView2InTools
-	showEmbeddedTestRunnerInBrowser
-	showBookmarkBar
-	webBrowserLikeLayout
-	sortAndIndentClassesByInheritance
-	showGlobalHistory
-	showLocalHistory
-	useInPlaceSearchInBrowserLists
-	sourceCodeManagementMenuLayout
-	confirmRefactorings
-	smallLintRulesetDefault
-    )
-
-    "Created: / 25-11-2011 / 15:09:28 / cg"
-    "Modified: / 14-10-2014 / 08:19:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-basicReadSettings
-    self
-	readAspects:(self aspects)
-	from:currentUserPrefs.
-
-    "Modified: / 06-10-2011 / 18:57:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-11-2011 / 15:09:39 / cg"
-!
-
-basicSaveSettings
-    self
-	writeAspects:(self aspects)
-	to:currentUserPrefs.
-
-    "Modified: / 06-10-2011 / 18:57:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-11-2011 / 15:09:49 / cg"
-!
-
 doConfigureRulesets
     Tools::LintRuleSettingsApplication open
 
@@ -17166,6 +17057,28 @@
 
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'aspects'!
 
+aspects
+    ^ #(
+	"/ showAcceptCancelBarInBrowser
+	useSearchBarInBrowser
+	showMethodTemplate
+	"/ useCodeView2InTools
+	showEmbeddedTestRunnerInBrowser
+	showBookmarkBar
+	webBrowserLikeLayout
+	sortAndIndentClassesByInheritance
+	showGlobalHistory
+	showLocalHistory
+	useInPlaceSearchInBrowserLists
+	sourceCodeManagementMenuLayout
+	confirmRefactorings
+	smallLintRulesetDefault
+    )
+
+    "Created: / 25-11-2011 / 15:09:28 / cg"
+    "Modified: / 14-10-2014 / 08:19:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 confirmRefactorings
 
     confirmRefactorings isNil ifTrue:[
@@ -17349,17 +17262,6 @@
     ^ 'Launcher/browserSettings.html'
 ! !
 
-!AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'queries'!
-
-hasUnsavedChanges
-    ^ self
-	hasChangedAspectIn:(self aspects)
-	asComparedTo:currentUserPrefs
-
-    "Modified: / 06-10-2011 / 18:58:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-11-2011 / 15:23:47 / cg"
-! !
-
 !AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -17669,24 +17571,8 @@
 
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'actions'!
 
-aspects
-    ^ #(
-		beepEnabled
-		beepInEditor
-		beepForInfoDialog
-		beepForWarningDialog
-		beepForErrorDialog
-		flyByHelpActive
-		toolTipAutoHideDelay
-		sendMessagesAlsoToTranscript
-		onlyShowTooltipsForActiveWindow
-	    )
-
-    "Created: / 10-11-2010 / 12:07:42 / cg"
-!
-
 basicReadSettings
-    self readAspects:(self aspects) from:currentUserPrefs.
+    super basicReadSettings.
 
     self vmInfo value:ObjectMemory infoPrinting.
     self vmErrors value:ObjectMemory debugPrinting.
@@ -17703,13 +17589,29 @@
     Object infoPrinting:self classInfos value.
     DeviceWorkstation errorPrinting:self displayErrors value.
 
-    self writeAspects:(self aspects) to:currentUserPrefs.
+    super basicSaveSettings.
 
     "Modified: / 10-11-2010 / 12:08:14 / cg"
 ! !
 
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'aspects'!
 
+aspects
+    ^ #(
+		beepEnabled
+		beepInEditor
+		beepForInfoDialog
+		beepForWarningDialog
+		beepForErrorDialog
+		flyByHelpActive
+		toolTipAutoHideDelay
+		sendMessagesAlsoToTranscript
+		onlyShowTooltipsForActiveWindow
+	    )
+
+    "Created: / 10-11-2010 / 12:07:42 / cg"
+!
+
 beepEnabled
     beepEnabled isNil ifTrue:[
 	beepEnabled := true asValue.
@@ -17856,7 +17758,7 @@
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
-    (self hasChangedAspectIn:(self aspects) asComparedTo:currentUserPrefs) ifTrue:[^ true].
+    (super hasUnsavedChanges) ifTrue:[^ true].
 
     self vmInfo value ~= ObjectMemory infoPrinting ifTrue:[^ true].
     self vmErrors value ~= ObjectMemory debugPrinting ifTrue:[^ true].
@@ -17968,28 +17870,14 @@
      )
 ! !
 
-!AbstractSettingsApplication::TerminalViewSettingsAppl methodsFor:'actions'!
-
-basicReadSettings
-    self
-	readAspects:self commonAspects
-	from:currentUserPrefs.
-!
-
-basicSaveSettings
-    self
-	writeAspects:self commonAspects
-	to:currentUserPrefs.
-!
-
-commonAspects
+!AbstractSettingsApplication::TerminalViewSettingsAppl methodsFor:'aspects'!
+
+aspects
     ^ #(
         #terminalOutputIsUTF8
         #terminalInputIsUTF8
     )
-! !
-
-!AbstractSettingsApplication::TerminalViewSettingsAppl methodsFor:'aspects'!
+!
 
 terminalInputIsUTF8
     terminalInputIsUTF8 isNil ifTrue:[
@@ -18013,14 +17901,6 @@
     ^ 'Launcher/terminalSettings.html'
 ! !
 
-!AbstractSettingsApplication::TerminalViewSettingsAppl methodsFor:'queries'!
-
-hasUnsavedChanges
-    ^ self
-	hasChangedAspectIn:self commonAspects
-	asComparedTo:currentUserPrefs
-! !
-
 !AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -18319,22 +18199,6 @@
 
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'protocol'!
 
-basicReadSettings
-    "superclass AbstractSettingsApplication says that I am responsible to implement this method"
-
-    self readAspects: self aspects from: currentUserPrefs.
-
-    "Modified: / 14-02-2012 / 18:37:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-basicSaveSettings
-    "superclass AbstractSettingsApplication says that I am responsible to implement this method"
-
-    self writeAspects: self aspects to: currentUserPrefs
-
-    "Modified: / 14-02-2012 / 18:38:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 helpFilename
     "subclasses must return the relative name of a helpFile
      in the doc/online/<language>/help directory.
@@ -18343,16 +18207,6 @@
     ^ self shouldImplement
 ! !
 
-!AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'queries'!
-
-hasUnsavedChanges
-    "superclass AbstractSettingsApplication says that I am responsible to implement this method"
-
-    ^self hasChangedAspectIn: self aspects asComparedTo:currentUserPrefs
-
-    "Modified: / 14-02-2012 / 18:38:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting class methodsFor:'interface specs'!
 
 windowSpec
@@ -19027,9 +18881,7 @@
 basicReadSettings
     |transcript|
 
-    self
-        readAspects: (self aspects)
-        from:currentUserPrefs.
+    super basicReadSettings.
 
     transcript := Transcript current.
     transcript isTextCollector ifTrue:[
@@ -19048,61 +18900,59 @@
 
     newSystemBrowserClass := Tools::NewSystemBrowser ? NewSystemBrowser.
 
-    self
-	writeAspects:(self aspects)
-	to:currentUserPrefs.
+    super basicSaveSettings.
 
     currentUserPrefs useNewSettingsApplication ~= self useNewSettingsApplication value ifTrue:[
-	currentUserPrefs useNewSettingsApplication:self useNewSettingsApplication value.
+        currentUserPrefs useNewSettingsApplication:self useNewSettingsApplication value.
     ].
 
     currentUserPrefs useNewSystemBrowser ~= self useNewSystemBrowser value ifTrue:[
-	currentUserPrefs useNewSystemBrowser:self useNewSystemBrowser value.
-	    (self useNewSystemBrowser value and:[newSystemBrowserClass isLoaded]) ifTrue:[
-		newSystemBrowserClass installInLauncher.
-	    ] ifFalse:[
-		newSystemBrowserClass removeFromLauncher.
-	    ].
-	    reopenLauncher := true.
+        currentUserPrefs useNewSystemBrowser:self useNewSystemBrowser value.
+            (self useNewSystemBrowser value and:[newSystemBrowserClass isLoaded]) ifTrue:[
+                newSystemBrowserClass installInLauncher.
+            ] ifFalse:[
+                newSystemBrowserClass removeFromLauncher.
+            ].
+            reopenLauncher := true.
     ].
 
     (Smalltalk at:#FileBrowserV2) isBehavior ifTrue:[
-	currentUserPrefs useNewFileBrowser ~= self useNewFileBrowser value ifTrue:[
-	    currentUserPrefs useNewFileBrowser:self useNewFileBrowser value.
-	    (self useNewFileBrowser value and:[FileBrowserV2 isLoaded]) ifTrue:[
-		FileBrowserV2 installInLauncher.
-	    ] ifFalse:[
-		FileBrowserV2 removeFromLauncher.
-	    ].
-	    reopenLauncher := true.
-	]
+        currentUserPrefs useNewFileBrowser ~= self useNewFileBrowser value ifTrue:[
+            currentUserPrefs useNewFileBrowser:self useNewFileBrowser value.
+            (self useNewFileBrowser value and:[FileBrowserV2 isLoaded]) ifTrue:[
+                FileBrowserV2 installInLauncher.
+            ] ifFalse:[
+                FileBrowserV2 removeFromLauncher.
+            ].
+            reopenLauncher := true.
+        ]
     ].
 
     transcript := Transcript current.
     (transcript notNil and:[transcript isExternalStream not]) ifTrue:[
-	transcript lineLimit:self transcriptBufferSize value.
-	"/ now already done by UserPreferences
-	"/ transcript autoRaise:self autoRaiseTranscript value.
-	launcher := transcript application.
+        transcript lineLimit:self transcriptBufferSize value.
+        "/ now already done by UserPreferences
+        "/ transcript autoRaise:self autoRaiseTranscript value.
+        launcher := transcript application.
     ].
 
     showClock := self showClockInLauncher value.
     currentUserPrefs showClockInLauncher ~= showClock ifTrue:[
-	currentUserPrefs showClockInLauncher:showClock.
-	launcher notNil ifTrue:[
-	    showClock ifTrue:[
-		launcher startClock
-	    ] ifFalse:[
-		launcher stopClock
-	    ]
-	]
+        currentUserPrefs showClockInLauncher:showClock.
+        launcher notNil ifTrue:[
+            showClock ifTrue:[
+                launcher startClock
+            ] ifFalse:[
+                launcher stopClock
+            ]
+        ]
     ].
     Inspector := currentUserPrefs inspectorClassSetting.
 
     reopenLauncher ifTrue:[
-	launcher notNil ifTrue:[
-	    launcher reopenLauncher.
-	]
+        launcher notNil ifTrue:[
+            launcher reopenLauncher.
+        ]
     ].
 
     "Modified: / 27-07-2012 / 20:51:46 / cg"
@@ -19321,9 +19171,7 @@
 hasUnsavedChanges
     |transcript|
 
-    (self
-        hasChangedAspectIn:(self aspects)
-        asComparedTo:currentUserPrefs) ifTrue:[^ true].
+    super hasUnsavedChanges ifTrue:[^ true].
 
     transcript := Transcript current.
     transcript isTextCollector ifTrue:[