# HG changeset patch # User Claus Gittinger # Date 1436266011 -7200 # Node ID 4c376216e8aa1281c7f395bced76ac2b8153fe41 # Parent a40158f537795653dccaf5524ee5c09f59dde4b6 class: Tools::LintRuleSettingsApplication class definition added: #defaultInBrowserRuleNameHolder #makeDefaultInBrowser #smallLintRulesetDefault changed: #basicReadSettings #basicSaveSettings #flyByHelpSpec #windowSpec diff -r a40158f53779 -r 4c376216e8aa Tools__LintRuleSettingsApplication.st --- 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 @@ RBBuiltinRuleSet flushBuiltinDefault. +! + +makeDefaultInBrowser + + + self smallLintRulesetDefault value:(self rulesetSelectionHolder value). ! ! !LintRuleSettingsApplication methodsFor:'aspects'! @@ -462,6 +505,13 @@ "Modified: / 11-11-2014 / 15:12:10 / Jan Vrany " ! +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:[]