fix #9688: Fix disabled toggleable text field
authorKatja Luther <k.luther@bgbm.org>
Thu, 1 Jul 2021 12:54:06 +0000 (14:54 +0200)
committerKatja Luther <k.luther@bgbm.org>
Thu, 1 Jul 2021 12:54:06 +0000 (14:54 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java

index bcc4b5fc96d183579920a5bc4952408c1e07ec79..c152c0faad968f3b6307f88fc76250cc9d1ee0ca 100644 (file)
@@ -74,7 +74,9 @@ public class ToggleableTextElement
 
                text_cache = formFactory.createText(container, initialText, SWT.WRAP | SWT.MULTI);
                addControl(text_cache);
-               text_cache.addModifyListener(this);
+               if (initialState){
+                   text_cache.addModifyListener(this);
+               }
                text_cache.setLayoutData(LayoutConstants.FILL());
 
                // Don't accept carriage returns as input
@@ -135,6 +137,12 @@ public class ToggleableTextElement
 
     public void setCacheEnabled(boolean enabled) {
         text_cache.setEditable(enabled);
+        if (enabled){
+            text_cache.removeModifyListener(this);
+            text_cache.addModifyListener(this);
+        }else{
+            text_cache.removeModifyListener(this);
+        }
                btnToggleProtectTitleCache.setGrayed(enabled);
                btnToggleProtectTitleCache.setSelection(enabled);
                Color color = enabled ? null : AbstractUtility.getColor(Resources.COLOR_TEXT_DISABLED);
@@ -145,7 +153,9 @@ public class ToggleableTextElement
     @Override
     public void setEnabled(boolean isEnabled){
         this.isEnabled = isEnabled;
-        text_cache.setEditable(isEnabled);
+        if (state){
+            text_cache.setEditable(isEnabled);
+        }
         btnToggleProtectTitleCache.setEnabled(isEnabled);
     }