From 0c85f79baeaca393a9b12ed24ec35cc6bdc0d989 Mon Sep 17 00:00:00 2001
From: Kushagra Gour <chinchang457@gmail.com>
Date: Tue, 25 Apr 2017 01:34:57 +0530
Subject: [PATCH] provide settings for refreshing preview on resize. fixes #97

---
 src/index.html |  3 +++
 src/script.js  | 17 +++++++++++------
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/index.html b/src/index.html
index 438dc88..2440aaf 100644
--- a/src/index.html
+++ b/src/index.html
@@ -366,6 +366,9 @@
 							<input type="radio" name="keymap" value="vim" d-change="updateSetting" data-setting="keymap"> Vim
 						</label>
 					</div>
+					<label class="line">
+						<input type="checkbox" d-change="updateSetting" data-setting="refreshOnResize"> Refresh preview on resize
+					</label>
 					<label class="line">
 						<input type="checkbox" d-change="updateSetting" data-setting="preserveLastCode"> Preserve last written code
 					</label>
diff --git a/src/script.js b/src/script.js
index 1a0a746..429e914 100644
--- a/src/script.js
+++ b/src/script.js
@@ -158,11 +158,13 @@ onboardDontShowInTabOptionBtn, TextareaAutoComplete, savedItemCountEl, indentati
 			gutterSize: 6,
 			sizes: getMainSplitSizesToApply(),
 			onDragEnd: function () {
-				// Running preview updation in next call stack, so that error there
-				// doesn't affect this dragend listener.
-				setTimeout(function () {
-					scope.setPreviewContent(true);
-				}, 1);
+				if (prefs.refreshOnResize) {
+					// Running preview updation in next call stack, so that error there
+					// doesn't affect this dragend listener.
+					setTimeout(function () {
+						scope.setPreviewContent(true);
+					}, 1);
+				}
 			}
 		});
 	}
@@ -1171,6 +1173,7 @@ onboardDontShowInTabOptionBtn, TextareaAutoComplete, savedItemCountEl, indentati
 		$('[data-setting=editorTheme]').value = prefs.editorTheme;
 		$('[data-setting=keymap][value=' + (prefs.keymap || 'sublime') + ']').checked = true;
 		$('[data-setting=fontSize]').value = prefs.fontSize || 16;
+		$('[data-setting=refreshOnResize]').checked = prefs.refreshOnResize;
 	}
 
 	/**
@@ -1491,7 +1494,8 @@ onboardDontShowInTabOptionBtn, TextareaAutoComplete, savedItemCountEl, indentati
 			indentSize: 2,
 			editorTheme: 'monokai',
 			keymap: 'sublime',
-			fontSize: 16
+			fontSize: 16,
+			refreshOnResize: false
 		}, function syncGetCallback(result) {
 			if (result.preserveLastCode && lastCode) {
 				unsavedEditCount = 0;
@@ -1520,6 +1524,7 @@ onboardDontShowInTabOptionBtn, TextareaAutoComplete, savedItemCountEl, indentati
 			prefs.editorTheme = result.editorTheme;
 			prefs.keymap = result.keymap;
 			prefs.fontSize = result.fontSize;
+			prefs.refreshOnResize = result.refreshOnResize;
 
 			updateSettingsInUi();
 			scope.updateSetting();