[sushi] Use gedit current scheme for syntax highlighting. Fixes bgo:#670725



commit 8b7c5569a7e8109b68dab85e819fedd733e7552b
Author: Vadim Rutkovsky <roignac gmail com>
Date:   Wed Apr 11 21:59:49 2012 +0300

    Use gedit current scheme for syntax highlighting. Fixes bgo:#670725

 src/js/viewers/text.js |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/src/js/viewers/text.js b/src/js/viewers/text.js
index 209a2a3..9e6bbd6 100644
--- a/src/js/viewers/text.js
+++ b/src/js/viewers/text.js
@@ -30,6 +30,7 @@ let GtkClutter = imports.gi.GtkClutter;
 let Gtk = imports.gi.Gtk;
 let GLib = imports.gi.GLib;
 let GtkSource = imports.gi.GtkSource;
+let Gio = imports.gi.Gio;
 
 let Sushi = imports.gi.Sushi;
 
@@ -54,6 +55,17 @@ TextRenderer.prototype = {
         this._textLoader.connect("loaded",
                                  Lang.bind(this, this._onBufferLoaded));
         this._textLoader.uri = file.get_uri();
+
+        this._geditScheme = "tango";
+        let schemaName = "org.gnome.gedit.preferences.editor";
+        let installedSchemas = Gio.Settings.list_schemas();
+        if (installedSchemas.indexOf(schemaName) > -1) {
+            let geditSettings = new Gio.Settings({ schema: schema_name });
+            let geditSchemeName = geditSettings.get_string('scheme');
+            if (geditSchemeName != '') 
+                this._geditScheme = geditSchemeName;
+        }
+
     },
 
     render : function() {
@@ -65,7 +77,7 @@ TextRenderer.prototype = {
         this._buffer["highlight-syntax"] = true;
 
         let styleManager = GtkSource.StyleSchemeManager.get_default();
-        let scheme = styleManager.get_scheme("tango");
+        let scheme = styleManager.get_scheme(this._geditScheme);
         this._buffer.set_style_scheme(scheme);
 
         this._view = new GtkSource.View({ buffer: this._buffer,
@@ -123,4 +135,4 @@ let mimeTypes = [
     "text/plain",
 ];
 
-handler.registerMimeTypes(mimeTypes, renderer);
\ No newline at end of file
+handler.registerMimeTypes(mimeTypes, renderer);



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