AbstractSettingsApplication.st
branchjv
changeset 13391 43eaa1c36082
parent 13356 51a964477563
parent 13372 40c3a88f5698
child 13491 b3afe831ff0a
--- a/AbstractSettingsApplication.st	Sat Aug 24 23:14:04 2013 +0100
+++ b/AbstractSettingsApplication.st	Wed Aug 28 10:50:17 2013 +0100
@@ -196,7 +196,8 @@
 		showRightButtonMenuOnRelease formatHostNameWindowLabel1
 		formatHostNameWindowLabel2 allowMouseWheelZoom
 		forceWindowsIntoMonitorBounds button2WithAltKey
-		autoRaiseOnFocusIn shouldRememberLastExtent'
+		autoRaiseOnFocusIn shouldRememberLastExtent
+		menuPanelTakesFocusOnClick'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication
@@ -3739,146 +3740,146 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: windowSpec
-        window: 
-       (WindowSpec
-          label: 'Editor Settings'
-          name: 'Editor Settings'
-          min: (Point 10 10)
-          bounds: (Rectangle 0 0 600 320)
-        )
-        component: 
-       (SpecCollection
-          collection: (
-           (VerticalPanelViewSpec
-              name: 'VerticalPanel1'
-              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-              horizontalLayout: fit
-              verticalLayout: top
-              horizontalSpace: 3
-              verticalSpace: 3
-              component: 
-             (SpecCollection
-                collection: (
-                 (CheckBoxSpec
-                    label: 'Use the new Code Editor2 (experimental)'
-                    name: 'UserCodeView2'
-                    activeHelpKey: useNewCodeView2
-                    model: useCodeView2InTools
-                    extent: (Point 600 25)
-                  )
-                 (CheckBoxSpec
-                    label: 'Show Accept/Cancel Bar in Editor'
-                    name: 'ShowAcceptCancelBarInBrowser'
-                    activeHelpKey: showAcceptCancelBar
-                    model: showAcceptCancelBarInBrowser
-                    extent: (Point 600 25)
-                  )
-                 (CheckBoxSpec
-                    label: 'SearchBox is Modal'
-                    name: 'SearchBoxModalCheckBox'
-                    activeHelpKey: searchBoxIsModal
-                    model: searchDialogIsModal
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (DividerSpec
-                    name: 'Separator5'
-                    extent: (Point 600 4)
-                  )
-                 (CheckBoxSpec
-                    label: 'Tab Stops in Multiples of 4'
-                    name: 'TabStopsMultiples4CheckBox'
-                    activeHelpKey: tabStops4
-                    model: tabsIs4
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (DividerSpec
-                    name: 'Separator2'
-                    extent: (Point 600 4)
-                  )
-                 (CheckBoxSpec
-                    label: 'CTRL-Key to Start TextDrag'
-                    name: 'CTRLKeyStTextDragCheckBox'
-                    activeHelpKey: startTextDragWithCTRL
-                    model: startTextDragWithControl
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (CheckBoxSpec
-                    label: 'Always Paste the Contents when Dropping a File (Do not Ask) '
-                    name: 'EnforceContentsDropForFiles'
-                    activeHelpKey: alwaysPasteFileContents
-                    model: enforceContentsDropForFiles
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (DividerSpec
-                    name: 'Separator4'
-                    extent: (Point 600 4)
-                  )
-                 (CheckBoxSpec
-                    label: 'Autoindent (Position Cursor on Return Key in Code Editors)'
-                    name: 'CheckBox3'
-                    activeHelpKey: autoIndentInCodeView
-                    model: autoIndentInCodeView
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (CheckBoxSpec
-                    label: 'Cursor has ST80 Line-end Behavior'
-                    name: 'CursorST80LineEndBehaviorCheckBox'
-                    activeHelpKey: st80EditMode
-                    model: st80EditMode
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (CheckBoxSpec
-                    label: 'Select all when Clicking beyond the Text''s End'
-                    name: 'CheckBox2'
-                    activeHelpKey: selectAllWhenClickingBeyondEnd
-                    model: selectAllWhenClickingBeyondEnd
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (DividerSpec
-                    name: 'Separator3'
-                    extent: (Point 600 4)
-                  )
-                 (CheckBoxSpec
-                    label: 'Double Click Select Behavior as in ST80'
-                    name: 'DoubleClickSelectBehaviorST80CheckBox'
-                    activeHelpKey: st80DoubleClickSelectMode
-                    model: st80DoubleClickSelectMode
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (CheckBoxSpec
-                    label: 'Treat Underscore as Letter in Word-Select'
-                    name: 'UnderscoreIsLetterCheckBox'
-                    activeHelpKey: extendedWordSelectMode
-                    model: extendedWordSelectMode
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 (CheckBoxSpec
-                    label: 'Any non-Whitespace in Word-Select'
-                    name: 'CheckBox1'
-                    activeHelpKey: whitespaceWordSelectMode
-                    model: whitespaceWordSelectMode
-                    translateLabel: true
-                    extent: (Point 600 25)
-                  )
-                 )
-               
-              )
-            )
+    #(FullSpec
+       name: windowSpec
+       window: 
+      (WindowSpec
+         label: 'Editor Settings'
+         name: 'Editor Settings'
+         min: (Point 10 10)
+         bounds: (Rectangle 0 0 600 320)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (VerticalPanelViewSpec
+             name: 'VerticalPanel1'
+             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+             horizontalLayout: fit
+             verticalLayout: top
+             horizontalSpace: 3
+             verticalSpace: 3
+             component: 
+            (SpecCollection
+               collection: (
+                (CheckBoxSpec
+                   label: 'Use the New Code Editor2 (experimental)'
+                   name: 'UserCodeView2'
+                   activeHelpKey: useNewCodeView2
+                   model: useCodeView2InTools
+                   extent: (Point 600 25)
+                 )
+                (CheckBoxSpec
+                   label: 'Show Accept/Cancel Bar in Editor'
+                   name: 'ShowAcceptCancelBarInBrowser'
+                   activeHelpKey: showAcceptCancelBar
+                   model: showAcceptCancelBarInBrowser
+                   extent: (Point 600 25)
+                 )
+                (CheckBoxSpec
+                   label: 'SearchBox is Modal'
+                   name: 'SearchBoxModalCheckBox'
+                   activeHelpKey: searchBoxIsModal
+                   model: searchDialogIsModal
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (DividerSpec
+                   name: 'Separator5'
+                   extent: (Point 600 4)
+                 )
+                (CheckBoxSpec
+                   label: 'Tab Stops in Multiples of 4'
+                   name: 'TabStopsMultiples4CheckBox'
+                   activeHelpKey: tabStops4
+                   model: tabsIs4
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (DividerSpec
+                   name: 'Separator2'
+                   extent: (Point 600 4)
+                 )
+                (CheckBoxSpec
+                   label: 'CTRL-Key to Start TextDrag'
+                   name: 'CTRLKeyStTextDragCheckBox'
+                   activeHelpKey: startTextDragWithCTRL
+                   model: startTextDragWithControl
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (CheckBoxSpec
+                   label: 'Always Paste the Contents when Dropping a File (Do not Ask) '
+                   name: 'EnforceContentsDropForFiles'
+                   activeHelpKey: alwaysPasteFileContents
+                   model: enforceContentsDropForFiles
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (DividerSpec
+                   name: 'Separator4'
+                   extent: (Point 600 4)
+                 )
+                (CheckBoxSpec
+                   label: 'Autoindent (Position Cursor on Return Key in Code Editors)'
+                   name: 'CheckBox3'
+                   activeHelpKey: autoIndentInCodeView
+                   model: autoIndentInCodeView
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (CheckBoxSpec
+                   label: 'Cursor has ST80 Line-end Behavior'
+                   name: 'CursorST80LineEndBehaviorCheckBox'
+                   activeHelpKey: st80EditMode
+                   model: st80EditMode
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (CheckBoxSpec
+                   label: 'Select all when Clicking beyond the Text''s End'
+                   name: 'CheckBox2'
+                   activeHelpKey: selectAllWhenClickingBeyondEnd
+                   model: selectAllWhenClickingBeyondEnd
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (DividerSpec
+                   name: 'Separator3'
+                   extent: (Point 600 4)
+                 )
+                (CheckBoxSpec
+                   label: 'Double Click Select Behavior as in ST80'
+                   name: 'DoubleClickSelectBehaviorST80CheckBox'
+                   activeHelpKey: st80DoubleClickSelectMode
+                   model: st80DoubleClickSelectMode
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (CheckBoxSpec
+                   label: 'Treat Underscore as Letter in Word-Select'
+                   name: 'UnderscoreIsLetterCheckBox'
+                   activeHelpKey: extendedWordSelectMode
+                   model: extendedWordSelectMode
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                (CheckBoxSpec
+                   label: 'Any non-Whitespace in Word-Select'
+                   name: 'CheckBox1'
+                   activeHelpKey: whitespaceWordSelectMode
+                   model: whitespaceWordSelectMode
+                   translateLabel: true
+                   extent: (Point 600 25)
+                 )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 ! !
 
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'actions'!
@@ -8885,6 +8886,9 @@
 #focusFollowsMouse
 'Keyboard focus follows the mouse position (no need to click into fields for focus)'
 
+#menuPanelTakesFocusOnClick
+'Menupanel takes the keyboard focus when clicked. If off, the focus remains unchanged'
+
 #mouseWheelFocusFollowsMouse
 'Mousewheel focus follows the mouse position (no need to click into fields for focus)'
 
@@ -9037,6 +9041,14 @@
                    extent: (Point 435 22)
                  )
                 (CheckBoxSpec
+                   label: 'Menu Panels take Focus on Click'
+                   name: 'CheckBox7'
+                   activeHelpKey: menuPanelTakesFocusOnClick
+                   model: menuPanelTakesFocusOnClick
+                   translateLabel: true
+                   extent: (Point 435 22)
+                 )
+                (CheckBoxSpec
                    label: 'Views Catch Focus when Mapped'
                    name: 'takeFocus'
                    activeHelpKey: takeFocus
@@ -9169,7 +9181,7 @@
                       (LabelSpec
                          label: 'Label'
                          name: 'Label1'
-                         layout: (LayoutFrame 0 0 0 0 173 0 17 0)
+                         layout: (LayoutFrame 0 0 0 0 198 0 18 0)
                          activeHelpKey: hostNameInLabel
                          translateLabel: true
                          labelChannel: formatHostNameWindowLabel
@@ -9229,6 +9241,14 @@
                    )
                    extent: (Point 435 30)
                  )
+                (CheckBoxSpec
+                   label: 'Keyboard Focus Follows Mouse'
+                   name: 'CheckBox6'
+                   activeHelpKey: focusFollowsMouse
+                   model: focusFollowsMouse
+                   translateLabel: true
+                   extent: (Point 435 22)
+                 )
                 )
               
              )
@@ -9252,6 +9272,7 @@
         forceWindowsIntoMonitorBounds
         button2WithAltKey
         shouldRememberLastExtent
+        menuPanelTakesFocusOnClick
     )
 
     "Modified: / 31-07-2013 / 18:14:44 / cg"
@@ -9438,6 +9459,14 @@
     ^ hostNameInLabelHolder.
 !
 
+menuPanelTakesFocusOnClick
+    menuPanelTakesFocusOnClick isNil ifTrue:[
+        menuPanelTakesFocusOnClick := false asValue.
+        menuPanelTakesFocusOnClick onChangeSend:#updateModifiedChannel to:self
+    ].
+    ^ menuPanelTakesFocusOnClick.
+!
+
 mouseWheelFocusFollowsMouse
     mouseWheelFocusFollowsMouse isNil ifTrue:[
 	mouseWheelFocusFollowsMouse := true asValue.
@@ -18726,11 +18755,11 @@
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.488 2013-08-22 21:07:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.490 2013-08-25 22:49:40 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.488 2013-08-22 21:07:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.490 2013-08-25 22:49:40 cg Exp $'
 !
 
 version_HG