--- a/AbstractSettingsApplication.st Sat Jun 14 13:13:19 2014 +0200
+++ b/AbstractSettingsApplication.st Sat Jun 14 13:39:01 2014 +0200
@@ -571,7 +571,7 @@
"
aListOfAspects do:[:eachAspectSymbol |
- (self perform:eachAspectSymbol) value ~= (anAspectProvider perform:eachAspectSymbol) ifTrue:[
+ (self myAspectHolderFor:eachAspectSymbol) value ~= (anAspectProvider perform:eachAspectSymbol) ifTrue:[
self debuggingCodeFor:#cg is:[
Transcript showCR:'settings aspect is different: ',eachAspectSymbol.
Transcript showCR:' here: ',((self perform:eachAspectSymbol) value) printString.
@@ -585,6 +585,24 @@
"Modified: / 23-03-2011 / 15:45:11 / cg"
!
+myAspectHolderFor:aspectSymbol
+ "/ used to be (self perform:aspectSymbol),
+ "/ but I am tired of having to add all those aspect getters.
+
+ ^ self
+ perform:aspectSymbol
+ ifNotUnderstood:[
+ |holder|
+
+ self createBuilder.
+ (holder := builder bindingAt:aspectSymbol) isNil ifTrue:[
+ builder aspectAt:aspectSymbol put:(holder := nil asValue).
+ holder onChangeSend:#updateModifiedChannel to:self.
+ ].
+ holder
+ ].
+!
+
readAspects:aListOfAspects from:anAspectProvider
"this code-sharing helper reads a bunch of aspect values from some object.
The object is typically the current userPreferences object, or a flag-holder, such
@@ -599,7 +617,7 @@
"
aListOfAspects do:[:eachAspectSymbol |
- (self perform:eachAspectSymbol)
+ (self myAspectHolderFor:eachAspectSymbol)
value:(anAspectProvider perform:eachAspectSymbol)
withoutNotifying:self
].
@@ -621,7 +639,9 @@
"
aListOfAspects do:[:eachAspectSymbol |
- anAspectProvider perform:eachAspectSymbol asMutator with:(self perform:eachAspectSymbol) value
+ anAspectProvider
+ perform:eachAspectSymbol asMutator
+ with:(self myAspectHolderFor:eachAspectSymbol) value
].
"Modified: / 24-08-2010 / 16:52:42 / sr"
@@ -3835,6 +3855,9 @@
#codeCompletionOnTabKey
'Show code completion suggestions when you hit the TAB key, and the character before the cursor is non-blank.\This is an experimental feature, please disable it if you encounter problems.'
+#codeCompletionViewKeyboardNavigationNeedsModifier
+'If on, cursor up/down are only passed to the floating completion view,\if a shift- or control modifier is pressed.\Check this, if you find it annoying, that cursor up/down is intercepted by a floating completion view.'
+
#alwaysPasteFileContents
'When pasting a file (from the Filebrowser or Explorer), always paste the file''s contents\without asking. If off, a dialog appears to ask the name or the contents of the file should be pasted'
@@ -3967,19 +3990,37 @@
translateLabel: true
extent: (Point 658 25)
)
- (CheckBoxSpec
- label: 'Code Completion on CTRL Key (experimental)'
- name: 'CheckBox6'
- activeHelpKey: codeCompletionOnControlKey
- model: codeCompletionOnControlKey
- translateLabel: true
+ (ViewSpec
+ name: 'Box1'
+ component:
+ (SpecCollection
+ collection: (
+ (CheckBoxSpec
+ label: 'Code Completion on CTRL Key (experimental)'
+ name: 'CheckBox6'
+ layout: (LayoutFrame 0 0 0 0 350 0 25 0)
+ activeHelpKey: codeCompletionOnControlKey
+ model: codeCompletionOnControlKey
+ translateLabel: true
+ )
+ (CheckBoxSpec
+ label: 'On TAB Key (experimental)'
+ name: 'CheckBox7'
+ layout: (LayoutFrame 380 0 0 0 658 0 25 0)
+ activeHelpKey: codeCompletionOnTabKey
+ model: codeCompletionOnTabKey
+ translateLabel: true
+ )
+ )
+
+ )
extent: (Point 658 25)
)
(CheckBoxSpec
- label: 'Code Completion on TAB Key (experimental)'
- name: 'CheckBox7'
- activeHelpKey: codeCompletionOnTabKey
- model: codeCompletionOnTabKey
+ label: 'Shift/Control for Navigation in Completion View'
+ name: 'CheckBox8'
+ activeHelpKey: codeCompletionViewKeyboardNavigationNeedsModifier
+ model: codeCompletionViewKeyboardNavigationNeedsModifier
translateLabel: true
extent: (Point 658 25)
)
@@ -4155,6 +4196,7 @@
#immediateCodeCompletion
#codeCompletionOnControlKey
#codeCompletionOnTabKey
+ #codeCompletionViewKeyboardNavigationNeedsModifier
#selectionExtensionMode
)
@@ -18316,10 +18358,10 @@
!AbstractSettingsApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.547 2014-06-10 14:27:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.548 2014-06-14 11:39:01 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.547 2014-06-10 14:27:40 cg Exp $'
-! !
-
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.548 2014-06-14 11:39:01 cg Exp $'
+! !
+