From 42fa7d777b7f7fda77611b4f491d23b3b4aef482 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Mon, 11 Jan 2016 11:38:35 +0100 Subject: [PATCH] Fix replace not working in untitled file --- .../editor/contrib/find/browser/findWidget.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/vs/editor/contrib/find/browser/findWidget.ts b/src/vs/editor/contrib/find/browser/findWidget.ts index 4b9ad2f2d2a..a686184d8cd 100644 --- a/src/vs/editor/contrib/find/browser/findWidget.ts +++ b/src/vs/editor/contrib/find/browser/findWidget.ts @@ -95,6 +95,20 @@ export class FindWidget extends Widget implements EditorBrowser.IOverlayWidget { this.focusTracker = this._register(DomUtils.trackFocus(this._findInput.inputBox.inputElement)); this.focusTracker.addFocusListener(() => this._reseedFindScope()); + let updateCanReplace = () => { + let canReplace = !this._codeEditor.getConfiguration().readOnly; + DomUtils.toggleClass(this._domNode, 'can-replace', canReplace); + if (!canReplace) { + this._state.change({ isReplaceRevealed: false }, false); + } + }; + this._register(this._codeEditor.addListener2(EditorCommon.EventType.ConfigurationChanged, (e:EditorCommon.IConfigurationChangedEvent) => { + if (e.readOnly) { + updateCanReplace(); + } + })); + updateCanReplace(); + this._codeEditor.addOverlayWidget(this); } @@ -513,10 +527,6 @@ export class FindWidget extends Widget implements EditorBrowser.IOverlayWidget { this._domNode.className = 'editor-widget find-widget'; this._domNode.setAttribute('aria-hidden', 'false'); - if (!this._codeEditor.getConfiguration().readOnly) { - DomUtils.addClass(this._domNode, 'can-replace'); - } - this._domNode.appendChild(this._toggleReplaceBtn.domNode); this._domNode.appendChild(findPart); this._domNode.appendChild(replacePart); -- GitLab