From 11752ea4f6868594b511fceac05d5677670e2f1c Mon Sep 17 00:00:00 2001
From: Sebastian Koslowski <koslowski@kit.edu>
Date: Fri, 17 Jul 2015 10:03:17 +0200
Subject: grc: only show code preview tab after user enables it

---
 grc/gui/PropsDialog.py | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

(limited to 'grc/gui/PropsDialog.py')

diff --git a/grc/gui/PropsDialog.py b/grc/gui/PropsDialog.py
index 009c763dd4..9594470588 100644
--- a/grc/gui/PropsDialog.py
+++ b/grc/gui/PropsDialog.py
@@ -104,15 +104,18 @@ class PropsDialog(gtk.Dialog):
         notebook.append_page(self._docs_box, gtk.Label("Documentation"))
 
         # Generated code for the block
-        self._code_text_display = code_view = SimpleTextDisplay()
-        code_view.set_wrap_mode(gtk.WRAP_NONE)
-        code_view.get_buffer().create_tag('b', weight=pango.WEIGHT_BOLD)
-        code_view.modify_font(pango.FontDescription(
-            'monospace %d' % FONT_SIZE))
-        code_box = gtk.ScrolledWindow()
-        code_box.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-        code_box.add_with_viewport(self._code_text_display)
-        notebook.append_page(code_box, gtk.Label("Generated Code"))
+        if Actions.TOGGLE_SHOW_CODE_PREVIEW_TAB.get_active():
+            self._code_text_display = code_view = SimpleTextDisplay()
+            code_view.set_wrap_mode(gtk.WRAP_NONE)
+            code_view.get_buffer().create_tag('b', weight=pango.WEIGHT_BOLD)
+            code_view.modify_font(pango.FontDescription(
+                'monospace %d' % FONT_SIZE))
+            code_box = gtk.ScrolledWindow()
+            code_box.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+            code_box.add_with_viewport(self._code_text_display)
+            notebook.append_page(code_box, gtk.Label("Generated Code"))
+        else:
+            self._code_text_display = None
 
         # Error Messages for the block
         self._error_messages_text_display = SimpleTextDisplay()
@@ -201,6 +204,9 @@ class PropsDialog(gtk.Dialog):
         self._update_generated_code_page()
 
     def _update_generated_code_page(self):
+        if not self._code_text_display:
+            return  # user disabled code preview
+
         buffer = self._code_text_display.get_buffer()
         block = self._block
 
-- 
cgit v1.2.3