Fix make distcheck.
This commit is contained in:
@ -53,6 +53,7 @@ G_DEFINE_TYPE_WITH_CODE (EekXmlLayout, eek_xml_layout, EEK_TYPE_LAYOUT,
|
|||||||
struct _EekXmlLayoutPrivate
|
struct _EekXmlLayoutPrivate
|
||||||
{
|
{
|
||||||
gchar *id;
|
gchar *id;
|
||||||
|
gchar *keyboards_dir;
|
||||||
EekXmlKeyboardDesc *desc;
|
EekXmlKeyboardDesc *desc;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -69,7 +70,8 @@ static gboolean parse_geometry (const gchar *path,
|
|||||||
EekKeyboard *keyboard,
|
EekKeyboard *keyboard,
|
||||||
GError **error);
|
GError **error);
|
||||||
static gboolean parse_symbols_with_prerequisites
|
static gboolean parse_symbols_with_prerequisites
|
||||||
(const gchar *name,
|
(const gchar *keyboards_dir,
|
||||||
|
const gchar *name,
|
||||||
EekKeyboard *keyboard,
|
EekKeyboard *keyboard,
|
||||||
GList **loaded,
|
GList **loaded,
|
||||||
GError **error);
|
GError **error);
|
||||||
@ -923,7 +925,7 @@ eek_xml_layout_real_create_keyboard (EekLayout *self,
|
|||||||
|
|
||||||
/* Read geometry information. */
|
/* Read geometry information. */
|
||||||
filename = g_strdup_printf ("%s.xml", layout->priv->desc->geometry);
|
filename = g_strdup_printf ("%s.xml", layout->priv->desc->geometry);
|
||||||
path = g_build_filename (KEYBOARDSDIR, "geometry", filename, NULL);
|
path = g_build_filename (layout->priv->keyboards_dir, "geometry", filename, NULL);
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
@ -940,7 +942,8 @@ eek_xml_layout_real_create_keyboard (EekLayout *self,
|
|||||||
|
|
||||||
/* Read symbols information. */
|
/* Read symbols information. */
|
||||||
loaded = NULL;
|
loaded = NULL;
|
||||||
retval = parse_symbols_with_prerequisites (layout->priv->desc->symbols,
|
retval = parse_symbols_with_prerequisites (layout->priv->keyboards_dir,
|
||||||
|
layout->priv->desc->symbols,
|
||||||
keyboard,
|
keyboard,
|
||||||
&loaded,
|
&loaded,
|
||||||
&error);
|
&error);
|
||||||
@ -1009,6 +1012,8 @@ eek_xml_layout_finalize (GObject *object)
|
|||||||
if (priv->desc)
|
if (priv->desc)
|
||||||
keyboard_desc_free (priv->desc);
|
keyboard_desc_free (priv->desc);
|
||||||
|
|
||||||
|
g_free (priv->keyboards_dir);
|
||||||
|
|
||||||
G_OBJECT_CLASS (eek_xml_layout_parent_class)->finalize (object);
|
G_OBJECT_CLASS (eek_xml_layout_parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1062,7 +1067,12 @@ initable_init (GInitable *initable,
|
|||||||
gchar *path;
|
gchar *path;
|
||||||
EekXmlKeyboardDesc *desc;
|
EekXmlKeyboardDesc *desc;
|
||||||
|
|
||||||
path = g_build_filename (KEYBOARDSDIR, "keyboards.xml", NULL);
|
layout->priv->keyboards_dir = (gchar *) g_getenv ("EEKBOARD_KEYBOARDSDIR");
|
||||||
|
if (layout->priv->keyboards_dir == NULL)
|
||||||
|
layout->priv->keyboards_dir = KEYBOARDSDIR;
|
||||||
|
layout->priv->keyboards_dir = g_strdup (layout->priv->keyboards_dir);
|
||||||
|
|
||||||
|
path = g_build_filename (layout->priv->keyboards_dir, "keyboards.xml", NULL);
|
||||||
keyboards = parse_keyboards (path, error);
|
keyboards = parse_keyboards (path, error);
|
||||||
g_free (path);
|
g_free (path);
|
||||||
if (error && *error)
|
if (error && *error)
|
||||||
@ -1099,10 +1109,14 @@ initable_iface_init (GInitableIface *initable_iface)
|
|||||||
GList *
|
GList *
|
||||||
eek_xml_list_keyboards (void)
|
eek_xml_list_keyboards (void)
|
||||||
{
|
{
|
||||||
|
const gchar *keyboards_dir;
|
||||||
gchar *path;
|
gchar *path;
|
||||||
GList *keyboards;
|
GList *keyboards;
|
||||||
|
|
||||||
path = g_build_filename (KEYBOARDSDIR, "keyboards.xml", NULL);
|
keyboards_dir = g_getenv ("EEKBOARD_KEYBOARDSDIR");
|
||||||
|
if (keyboards_dir == NULL)
|
||||||
|
keyboards_dir = KEYBOARDSDIR;
|
||||||
|
path = g_build_filename (keyboards_dir, "keyboards.xml", NULL);
|
||||||
keyboards = parse_keyboards (path, NULL);
|
keyboards = parse_keyboards (path, NULL);
|
||||||
g_free (path);
|
g_free (path);
|
||||||
return keyboards;
|
return keyboards;
|
||||||
@ -1183,7 +1197,8 @@ parse_geometry (const gchar *path, EekKeyboard *keyboard, GError **error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
parse_symbols_with_prerequisites (const gchar *name,
|
parse_symbols_with_prerequisites (const gchar *keyboards_dir,
|
||||||
|
const gchar *name,
|
||||||
EekKeyboard *keyboard,
|
EekKeyboard *keyboard,
|
||||||
GList **loaded,
|
GList **loaded,
|
||||||
GError **error)
|
GError **error)
|
||||||
@ -1206,7 +1221,7 @@ parse_symbols_with_prerequisites (const gchar *name,
|
|||||||
*loaded = g_list_prepend (*loaded, g_strdup (name));
|
*loaded = g_list_prepend (*loaded, g_strdup (name));
|
||||||
|
|
||||||
filename = g_strdup_printf ("%s.xml", name);
|
filename = g_strdup_printf ("%s.xml", name);
|
||||||
path = g_build_filename (KEYBOARDSDIR, "symbols", filename, NULL);
|
path = g_build_filename (keyboards_dir, "symbols", filename, NULL);
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
|
|
||||||
prerequisites_error = NULL;
|
prerequisites_error = NULL;
|
||||||
@ -1217,7 +1232,8 @@ parse_symbols_with_prerequisites (const gchar *name,
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (p = prerequisites; p; p = p->next) {
|
for (p = prerequisites; p; p = p->next) {
|
||||||
retval = parse_symbols_with_prerequisites (p->data,
|
retval = parse_symbols_with_prerequisites (keyboards_dir,
|
||||||
|
p->data,
|
||||||
keyboard,
|
keyboard,
|
||||||
loaded,
|
loaded,
|
||||||
error);
|
error);
|
||||||
|
|||||||
@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
INCLUDES = -I$(top_srcdir) $(GIO2_CFLAGS) $(GTK_CFLAGS) $(LIBXKLAVIER_CFLAGS)
|
INCLUDES = -I$(top_srcdir) $(GIO2_CFLAGS) $(GTK_CFLAGS) $(LIBXKLAVIER_CFLAGS)
|
||||||
|
|
||||||
|
TESTS_ENVIRONMENT = EEKBOARD_KEYBOARDSDIR=$(top_srcdir)/data/keyboards
|
||||||
|
|
||||||
TESTS = eek-simple-test eek-xml-test
|
TESTS = eek-simple-test eek-xml-test
|
||||||
noinst_PROGRAMS = $(TESTS)
|
noinst_PROGRAMS = $(TESTS)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user