]> Dogcows Code - chaz/openbox/commitdiff
import the config module properly.
authorDana Jansens <danakj@orodu.net>
Sun, 16 Feb 2003 16:32:21 +0000 (16:32 +0000)
committerDana Jansens <danakj@orodu.net>
Sun, 16 Feb 2003 16:32:21 +0000 (16:32 +0000)
shit all over stderr and exit when something from the config module couldn't be loaded

src/config.cc

index d464ebbc5234a72cf3c59419dbee4f7c728d198b..b1495dc85a7d3b5f067755347c42fcf51f552b01 100644 (file)
@@ -6,6 +6,9 @@
 
 extern "C" {
 #include <Python.h>
+
+#include "gettext.h"
+#define _(str) gettext(str)
 }
 
 #include <cstring>
@@ -50,24 +53,32 @@ bool python_get_stringlist(const char *name, std::vector<otk::ustring> *value)
 
 Config::Config()
 {
-  PyRun_SimpleString("import config;");
   // set up access to the python global variables
-  PyObject *obmodule = PyImport_AddModule("config");
+  PyObject *obmodule = PyImport_ImportModule("config");
   obdict = PyModule_GetDict(obmodule);
+  Py_DECREF(obmodule);
 
   python_get_stringlist("DESKTOP_NAMES", &desktop_names);
 
   python_get_string("THEME", &theme);
 
-  if (!python_get_string("TITLEBAR_LAYOUT", &titlebar_layout))
-    titlebar_layout = "NTIMC";
+  if (!python_get_string("TITLEBAR_LAYOUT", &titlebar_layout)) {
+    fprintf(stderr, _("Unable to load config.%s\n"), "TITLEBAR_LAYOUT");
+    ::exit(1);
+  }
 
-  if (!python_get_long("DOUBLE_CLICK_DELAY", &double_click_delay))
-    double_click_delay = 300;
-  if (!python_get_long("DRAG_THRESHOLD", &drag_threshold))
-    drag_threshold = 3;
-  if (!python_get_long("NUMBER_OF_DESKTOPS", (long*)&num_desktops))
-    num_desktops = 1;
+  if (!python_get_long("DOUBLE_CLICK_DELAY", &double_click_delay)) {
+    fprintf(stderr, _("Unable to load config.%s\n"), "DOUBLE_CLICK_DELAY");
+    ::exit(1);
+  }
+  if (!python_get_long("DRAG_THRESHOLD", &drag_threshold)) {
+    fprintf(stderr, _("Unable to load config.%s\n"), "DRAG_THRESHOLD");
+    ::exit(1);
+  }
+  if (!python_get_long("NUMBER_OF_DESKTOPS", (long*)&num_desktops)) {
+    fprintf(stderr, _("Unable to load config.%s\n"), "NUMBER_OF_DESKTOPS");
+    ::exit(1);
+  }
 }
 
 Config::~Config()
This page took 0.022971 seconds and 4 git commands to generate.