import the config module properly.
shit all over stderr and exit when something from the config module couldn't be loaded
This commit is contained in:
parent
bb4990af2b
commit
8cbabdcb93
1 changed files with 21 additions and 10 deletions
|
@ -6,6 +6,9 @@
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
|
|
||||||
|
#include "gettext.h"
|
||||||
|
#define _(str) gettext(str)
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
@ -50,24 +53,32 @@ bool python_get_stringlist(const char *name, std::vector<otk::ustring> *value)
|
||||||
|
|
||||||
Config::Config()
|
Config::Config()
|
||||||
{
|
{
|
||||||
PyRun_SimpleString("import config;");
|
|
||||||
// set up access to the python global variables
|
// set up access to the python global variables
|
||||||
PyObject *obmodule = PyImport_AddModule("config");
|
PyObject *obmodule = PyImport_ImportModule("config");
|
||||||
obdict = PyModule_GetDict(obmodule);
|
obdict = PyModule_GetDict(obmodule);
|
||||||
|
Py_DECREF(obmodule);
|
||||||
|
|
||||||
python_get_stringlist("DESKTOP_NAMES", &desktop_names);
|
python_get_stringlist("DESKTOP_NAMES", &desktop_names);
|
||||||
|
|
||||||
python_get_string("THEME", &theme);
|
python_get_string("THEME", &theme);
|
||||||
|
|
||||||
if (!python_get_string("TITLEBAR_LAYOUT", &titlebar_layout))
|
if (!python_get_string("TITLEBAR_LAYOUT", &titlebar_layout)) {
|
||||||
titlebar_layout = "NTIMC";
|
fprintf(stderr, _("Unable to load config.%s\n"), "TITLEBAR_LAYOUT");
|
||||||
|
::exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!python_get_long("DOUBLE_CLICK_DELAY", &double_click_delay))
|
if (!python_get_long("DOUBLE_CLICK_DELAY", &double_click_delay)) {
|
||||||
double_click_delay = 300;
|
fprintf(stderr, _("Unable to load config.%s\n"), "DOUBLE_CLICK_DELAY");
|
||||||
if (!python_get_long("DRAG_THRESHOLD", &drag_threshold))
|
::exit(1);
|
||||||
drag_threshold = 3;
|
}
|
||||||
if (!python_get_long("NUMBER_OF_DESKTOPS", (long*)&num_desktops))
|
if (!python_get_long("DRAG_THRESHOLD", &drag_threshold)) {
|
||||||
num_desktops = 1;
|
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()
|
Config::~Config()
|
||||||
|
|
Loading…
Reference in a new issue