[gnome-builder] editor: add gsetting to draw spaces on editor content



commit 197f9f42a561674282903ac0acc8b1788b73e6cb
Author: Christian Hergert <christian hergert me>
Date:   Wed Apr 22 19:04:17 2015 -0700

    editor: add gsetting to draw spaces on editor content
    
    This maps to GtkSourceDrawSpaces enum. Setting this with gsettings will
    cause marks to be drawn on the editor.
    
    gsettings set org.gnome.builder.editor draw-spaces "['newline','tab']"

 .../org.gnome.builder.editor.gschema.xml.in        |   16 ++++++++++++++++
 src/editor/gb-editor-frame.c                       |    1 +
 2 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/data/gsettings/org.gnome.builder.editor.gschema.xml.in 
b/data/gsettings/org.gnome.builder.editor.gschema.xml.in
index 0d0a5b9..1ca1131 100644
--- a/data/gsettings/org.gnome.builder.editor.gschema.xml.in
+++ b/data/gsettings/org.gnome.builder.editor.gschema.xml.in
@@ -1,4 +1,15 @@
 <schemalist>
+
+  <flags id="org.gnome.builder.editor.DrawSpaces">
+    <value nick="space" value="1"/>
+    <value nick="tab" value="2"/>
+    <value nick="newline" value="4"/>
+    <value nick="nbsp" value="8"/>
+    <value nick="leading" value="16"/>
+    <value nick="text" value="32"/>
+    <value nick="trailing" value="64"/>
+  </flags>
+
   <schema id="org.gnome.builder.editor" path="/org/gnome/builder/editor/" gettext-domain="gnome-builder">
     <key name="keybindings" type="s">
       <choices>
@@ -68,5 +79,10 @@
       <summary>Show overview map</summary>
       <description>If enabled, Builder will display an overview map of the source file next to the 
editor.</description>
     </key>
+    <key name="draw-spaces" flags="org.gnome.builder.editor.DrawSpaces">
+      <default>[]</default>
+      <summary>Draw Spaces</summary>
+      <description>The various types of space to draw in the editor.</description>
+    </key>
   </schema>
 </schemalist>
diff --git a/src/editor/gb-editor-frame.c b/src/editor/gb-editor-frame.c
index e62899b..89cee7a 100644
--- a/src/editor/gb-editor-frame.c
+++ b/src/editor/gb-editor-frame.c
@@ -663,6 +663,7 @@ gb_editor_frame_init (GbEditorFrame *self)
   gb_editor_frame_actions_init (self);
 
   settings = g_settings_new ("org.gnome.builder.editor");
+  g_settings_bind (settings, "draw-spaces", self->source_view, "draw-spaces", G_SETTINGS_BIND_DEFAULT);
   g_settings_bind (settings, "font-name", self->source_view, "font-name", G_SETTINGS_BIND_GET);
   g_settings_bind (settings, "highlight-current-line", self->source_view, "highlight-current-line", 
G_SETTINGS_BIND_GET);
   g_settings_bind (settings, "scroll-offset", self->source_view, "scroll-offset", G_SETTINGS_BIND_GET);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]