[gedit-latex/from_source: 3/4] Support running from source



commit c6906fc1b64d4ef8ad2441b9bacb18bf9c350df4
Author: Pietro Battiston <pbattiston src gnome org>
Date:   Sun Apr 19 13:05:49 2020 +0200

    Support running from source

 latex/__init__.py             |  6 ------
 latex/preferences/__init__.py | 17 ++++++++++++++++-
 2 files changed, 16 insertions(+), 7 deletions(-)
---
diff --git a/latex/__init__.py b/latex/__init__.py
index 1083e29..1b5ae65 100644
--- a/latex/__init__.py
+++ b/latex/__init__.py
@@ -29,12 +29,6 @@ logging.basicConfig(
     level=log_level,
     format="%(levelname)-8s:%(name)-30s: %(message)s (l.%(lineno)d)")
 
-from gi.repository import Gio
-
-if "org.gnome.gedit.plugins.latex" not in Gio.Settings.list_schemas():
-    logging.critical("Could not find GSettings schema: org.gnome.gedit.plugins.latex")
-    raise Exception("Plugin schema not installed")
-
 from .appactivatable import LaTeXAppActivatable
 from .windowactivatable import LaTeXWindowActivatable
 
diff --git a/latex/preferences/__init__.py b/latex/preferences/__init__.py
index 9996e9a..28868ef 100644
--- a/latex/preferences/__init__.py
+++ b/latex/preferences/__init__.py
@@ -30,6 +30,7 @@ import logging
 import configparser
 
 from ..util import singleton
+from ..resources import Resources
 
 LOG = logging.getLogger(__name__)
 
@@ -92,7 +93,21 @@ class Preferences(_Preferences):
 
     def __init__(self):
         _Preferences.__init__(self)
-        self._settings = Gio.Settings("org.gnome.gedit.plugins.latex")
+
+        if Resources().from_source:
+            schema_source = Gio.SettingsSchemaSource.new_from_directory(
+                                        Resources().systemdir,
+                                        Gio.SettingsSchemaSource.get_default(),
+                                        False)
+            schema = schema_source.lookup("org.gnome.gedit.plugins.latex",
+                                          False)
+            self._settings = Gio.Settings.new_full(schema, None, None)
+
+        elif "org.gnome.gedit.plugins.latex" not in Gio.Settings.list_schemas():
+            logging.critical("Could not find GSettings schema: org.gnome.gedit.plugins.latex")
+            raise Exception("Plugin schema not installed")
+        else:
+            self._settings = Gio.Settings("org.gnome.gedit.plugins.latex")
         
         LOG.debug("Pref singleton constructed")
 


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