From 2fba4979f9e67a992cf09828fe0750ba6cb0909c Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Wed, 18 Feb 2015 11:07:46 -0700 Subject: [PATCH] Use presenter to determine gutter visibility --- spec/text-editor-component-spec.coffee | 4 ++-- src/text-editor-component.coffee | 14 ++------------ 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/spec/text-editor-component-spec.coffee b/spec/text-editor-component-spec.coffee index 9f221b54b..d024f7f91 100644 --- a/spec/text-editor-component-spec.coffee +++ b/spec/text-editor-component-spec.coffee @@ -580,12 +580,12 @@ describe "TextEditorComponent", -> expect(componentNode.querySelector('.gutter')).toBeNull() atom.config.set("editor.showLineNumbers", false) - expect(nextAnimationFrame).toBe noAnimationFrame + nextAnimationFrame() expect(componentNode.querySelector('.gutter')).toBeNull() editor.setGutterVisible(true) - expect(nextAnimationFrame).toBe noAnimationFrame + nextAnimationFrame() expect(componentNode.querySelector('.gutter')).toBeNull() diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index 663e08a19..00698e723 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -46,7 +46,6 @@ TextEditorComponent = React.createClass @oldState ?= {} @newState = @presenter.state - {showLineNumbers} = @state {editor, cursorBlinkPeriod, cursorBlinkResumeDelay, hostElement, useShadowDOM} = @props hasSelection = editor.getLastSelection()? and !editor.getLastSelection().isEmpty() style = {} @@ -93,7 +92,7 @@ TextEditorComponent = React.createClass componentDidMount: -> {editor, stylesElement, hostElement, useShadowDOM} = @props - @mountGutterComponent() if @gutterVisible + @mountGutterComponent() if @presenter.state.gutter.visible node = @getDOMNode() scrollViewNode = @refs.scrollView.getDOMNode() @@ -145,7 +144,7 @@ TextEditorComponent = React.createClass @cursorMoved = false @selectionChanged = false - if @gutterVisible + if @presenter.state.gutter.visible @mountGutterComponent() unless @gutterComponent? @gutterComponent.updateSync() else @@ -219,7 +218,6 @@ TextEditorComponent = React.createClass observeEditor: -> {editor} = @props - @subscribe editor.onDidChangeGutterVisible(@updateGutterVisible) @subscribe editor.onDidChangeMini(@setMini) @subscribe editor.observeGrammar(@onGrammarChanged) @subscribe editor.observeCursors(@onCursorAdded) @@ -294,7 +292,6 @@ TextEditorComponent = React.createClass scopeDescriptor = editor.getRootScopeDescriptor() subscriptions.add atom.config.observe 'editor.showIndentGuide', scope: scopeDescriptor, @requestUpdate - subscriptions.add atom.config.observe 'editor.showLineNumbers', scope: scopeDescriptor, @updateGutterVisible subscriptions.add atom.config.observe 'editor.scrollSensitivity', scope: scopeDescriptor, @setScrollSensitivity focused: -> @@ -783,15 +780,8 @@ TextEditorComponent = React.createClass atom.config.set("editor.showIndentGuide", showIndentGuide) setMini: -> - @updateGutterVisible() @requestUpdate() - updateGutterVisible: -> - gutterVisible = not @props.editor.isMini() and @props.editor.isGutterVisible() and atom.config.get('editor.showLineNumbers') - if gutterVisible isnt @gutterVisible - @gutterVisible = gutterVisible - @requestUpdate() - # Deprecated setInvisibles: (invisibles={}) -> grim.deprecate "Use config.set('editor.invisibles', invisibles) instead"