class: Tools::LintRuleSettingsApplication
class definition
added:
#defaultInBrowserRuleNameHolder
#makeDefaultInBrowser
#smallLintRulesetDefault
changed:
#basicReadSettings
#basicSaveSettings
#flyByHelpSpec
#windowSpec
--- a/Tools__LintRuleSettingsApplication.st Mon Jul 06 17:20:05 2015 +0200
+++ b/Tools__LintRuleSettingsApplication.st Tue Jul 07 12:46:51 2015 +0200
@@ -17,7 +17,8 @@
AbstractSettingsApplication subclass:#LintRuleSettingsApplication
instanceVariableNames:'rulesetList rulesetSelectionHolder hasSelectionHolder
- hasSelectionAndUserDefinedHolder smallSenseEnabledHolder'
+ hasSelectionAndUserDefinedHolder smallSenseEnabledHolder
+ smallLintRulesetDefault defaultInBrowserRuleNameHolder'
classVariableNames:'LastFileName'
poolDictionaries:''
category:'Interface-Lint'
@@ -92,6 +93,9 @@
#resetDefault
'Recreate the default ruleset with all existing RBRules.\(Do this after new rules have been added or rule classes were modified)'
+#makeDefaultInBrowser
+'Make this the default ruleset to be used in browsers'
+
#smallSenseEnabled
'Enable SmallSense (incremental lint rule checking in the editor).\If the SmallSense package is not yet loaded, checking this will force it into the image.\\Sorry, but this will only affect new windows,\so you have to reopen the browsers.'
@@ -178,7 +182,7 @@
)
(SelectionInListModelViewSpec
name: 'ProfileList'
- layout: (LayoutFrame 0 0 30 0 -128 1 0 1)
+ layout: (LayoutFrame 0 0 30 0 -128 1 -30 1)
enableChannel: svnEnabled
model: rulesetSelectionHolder
hasHorizontalScrollBar: true
@@ -190,7 +194,7 @@
)
(VerticalPanelViewSpec
name: 'Buttons1'
- layout: (LayoutFrame -128 1 30 0 0 1 -65 0.70000000000000018)
+ layout: (LayoutFrame -128 1 30 0 0 1 -65 0.70000000000000084)
horizontalLayout: fit
verticalLayout: top
horizontalSpace: 5
@@ -203,8 +207,8 @@
name: 'ButtonEdit'
activeHelpKey: edit
translateLabel: true
+ tabable: true
model: doEdit
- enableChannel: canEditHolder
extent: (Point 128 22)
)
(ActionButtonSpec
@@ -212,8 +216,8 @@
name: 'ButtonCopy'
activeHelpKey: copy
translateLabel: true
+ tabable: true
model: doCopy
- enableChannel: canCopyHolder
extent: (Point 128 22)
)
(ActionButtonSpec
@@ -221,6 +225,7 @@
name: 'ButtonAdd'
activeHelpKey: add
translateLabel: true
+ tabable: true
model: doAdd
extent: (Point 128 22)
)
@@ -229,8 +234,8 @@
name: 'ButtonRemove'
activeHelpKey: remove
translateLabel: true
+ tabable: true
model: doRemove
- enableChannel: canRemoveHolder
extent: (Point 128 22)
)
)
@@ -239,7 +244,7 @@
)
(VerticalPanelViewSpec
name: 'Buttons2'
- layout: (LayoutFrame -128 1 -64 0.70000000000000018 0 1 0 1)
+ layout: (LayoutFrame -128 1 -64 0.70000000000000084 0 1 0 1)
horizontalLayout: fit
verticalLayout: bottom
horizontalSpace: 5
@@ -248,10 +253,27 @@
(SpecCollection
collection: (
(ActionButtonSpec
- label: 'Reset Default'
+ label: 'Make Default\in Browser'
+ name: 'Button5'
+ activeHelpKey: makeDefaultInBrowser
+ translateLabel: true
+ adjust: centerEach
+ multiLineLabel: true
+ tabable: true
+ model: makeDefaultInBrowser
+ enableChannel: hasSelectionHolder
+ extent: (Point 128 44)
+ )
+ (ViewSpec
+ name: 'Box3'
+ extent: (Point 128 29)
+ )
+ (ActionButtonSpec
+ label: 'Reinitialize'
name: 'Button4'
activeHelpKey: resetDefault
translateLabel: true
+ tabable: true
model: doResetDefault
extent: (Point 128 22)
)
@@ -264,8 +286,8 @@
name: 'Button2'
activeHelpKey: export
translateLabel: true
+ tabable: true
model: doExport
- enableChannel: canExportHolder
extent: (Point 128 22)
)
(ActionButtonSpec
@@ -273,6 +295,7 @@
name: 'Button3'
activeHelpKey: import
translateLabel: true
+ tabable: true
model: doImport
extent: (Point 128 22)
)
@@ -280,6 +303,20 @@
)
)
+ (LabelSpec
+ label: 'Default in Browser:'
+ name: 'Label1'
+ layout: (LayoutFrame 0 0 -30 1 200 0 0 1)
+ translateLabel: true
+ adjust: left
+ )
+ (LabelSpec
+ label: 'default ruleset in browser'
+ name: 'Label2'
+ layout: (LayoutFrame 200 0 -30 1 -128 1 0 1)
+ translateLabel: true
+ labelChannel: defaultInBrowserRuleNameHolder
+ )
)
)
@@ -432,6 +469,12 @@
<resource: #uiCallback>
RBBuiltinRuleSet flushBuiltinDefault.
+!
+
+makeDefaultInBrowser
+ <resource: #uiCallback>
+
+ self smallLintRulesetDefault value:(self rulesetSelectionHolder value).
! !
!LintRuleSettingsApplication methodsFor:'aspects'!
@@ -462,6 +505,13 @@
"Modified: / 11-11-2014 / 15:12:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+defaultInBrowserRuleNameHolder
+ defaultInBrowserRuleNameHolder isNil ifTrue:[
+ defaultInBrowserRuleNameHolder := '' asValue
+ ].
+ ^ defaultInBrowserRuleNameHolder
+!
+
hasSelectionAndUserDefinedHolder
@@ -514,6 +564,21 @@
^ rulesetSelectionHolder
!
+smallLintRulesetDefault
+ smallLintRulesetDefault isNil ifTrue:[
+ smallLintRulesetDefault := ValueHolder with:false.
+ smallLintRulesetDefault
+ onChangeEvaluate:[
+ self updateModifiedChannel.
+ self defaultInBrowserRuleNameHolder
+ value:(smallLintRulesetDefault value isNil
+ ifTrue:['* none *']
+ ifFalse:[ smallLintRulesetDefault value name ])
+ ].
+ ].
+ ^ smallLintRulesetDefault
+!
+
smallSenseEnabledHolder
smallSenseEnabledHolder isNil ifTrue:[
smallSenseEnabledHolder := ValueHolder with:false.
@@ -531,7 +596,9 @@
self smallSenseEnabledHolder
value:(self hasSmallSenseLoaded
- and:[ UserPreferences current perform:#smallSenseEnabled ifNotUnderstood:false]).
+ and:[ currentUserPrefs perform:#smallSenseEnabled ifNotUnderstood:false]).
+
+ self smallLintRulesetDefault value:(currentUserPrefs smallLintRulesetDefault).
rbCompositeLintRuleClass := Smalltalk at:#'RBCompositeLintRule'.
@@ -560,10 +627,12 @@
| oldRulesets newRulesets toRemove toAdd rbCompositeLintRuleClass|
self smallSenseEnabledHolder value ifTrue:[
- UserPreferences current addPreloadedPackage:'stx:goodies/smallsense'
+ currentUserPrefs addPreloadedPackage:'stx:goodies/smallsense'
] ifFalse:[
- UserPreferences current removePreloadedPackage:'stx:goodies/smallsense'
+ currentUserPrefs removePreloadedPackage:'stx:goodies/smallsense'
].
+ currentUserPrefs smallLintRulesetDefault:(smallLintRulesetDefault value).
+
(Smalltalk at:#'SmallSense::SmalltalkChecker') notNil ifTrue:[
UserPreferences current
perform:#smallSenseEnabled: with:(self smallSenseEnabledHolder value) ifNotUnderstood:[]