From ea25e6ad1eeab10daefe1b38c0499edf4963da26 Mon Sep 17 00:00:00 2001 From: drdev Date: Mon, 20 Apr 2015 13:30:28 +0000 Subject: [PATCH] Prevent Workshop always prompting to save right away --- .../forge/screens/workshop/controllers/CCardScript.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java index ebaab68d08a..fcc8167e24b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java @@ -42,6 +42,7 @@ public enum CCardScript implements ICDoc { private CardScriptInfo currentScriptInfo; private boolean isTextDirty; private boolean switchInProgress; + private boolean refreshing; private CCardScript() { VCardScript.SINGLETON_INSTANCE.getTxtScript().getDocument().addDocumentListener(new DocumentListener() { @@ -70,7 +71,7 @@ public enum CCardScript implements ICDoc { } private void updateDirtyFlag() { - boolean isTextNowDirty = currentScriptInfo != null && !VCardScript.SINGLETON_INSTANCE.getTxtScript().getText().equals(currentScriptInfo.getText()); + boolean isTextNowDirty = !refreshing && currentScriptInfo != null && !VCardScript.SINGLETON_INSTANCE.getTxtScript().getText().equals(currentScriptInfo.getText()); if (isTextDirty == isTextNowDirty) { return; } isTextDirty = isTextNowDirty; VCardDesigner.SINGLETON_INSTANCE.getBtnSaveCard().setEnabled(isTextNowDirty); @@ -96,6 +97,8 @@ public enum CCardScript implements ICDoc { } public void refresh() { + if (refreshing) { return; } + refreshing = true; final JTextPane txtScript = VCardScript.SINGLETON_INSTANCE.getTxtScript(); txtScript.setText(currentScriptInfo != null ? currentScriptInfo.getText() : ""); txtScript.setEditable(currentScriptInfo != null ? currentScriptInfo.canEdit() : false); @@ -108,6 +111,7 @@ public enum CCardScript implements ICDoc { doc.setCharacterAttributes(region.getKey(), region.getValue(), error, true); } } + refreshing = false; } public boolean hasChanges() {