Bundle keyboard definitions
This allows running uninstalled from a git repo Closes: #21, #29
This commit is contained in:
@ -1,52 +1,12 @@
|
|||||||
|
gnome = import('gnome')
|
||||||
|
|
||||||
install_data(
|
squeekboard_resources = gnome.compile_resources(
|
||||||
'keyboards/keyboards.xml',
|
'squeekboard-resources',
|
||||||
install_dir: pkgdatadir + '/keyboards/',
|
'squeekboard.gresources.xml',
|
||||||
|
|
||||||
|
c_name: 'squeekboard',
|
||||||
)
|
)
|
||||||
|
|
||||||
install_data(
|
|
||||||
'keyboards/geometry/compact.xml',
|
|
||||||
install_dir: pkgdatadir + '/keyboards/geometry/',
|
|
||||||
)
|
|
||||||
|
|
||||||
symbols = [
|
|
||||||
'ar.xml',
|
|
||||||
'as-inscript.xml',
|
|
||||||
'be.xml',
|
|
||||||
'bn-inscript.xml',
|
|
||||||
'fa.xml',
|
|
||||||
'gu-inscript.xml',
|
|
||||||
'he.xml',
|
|
||||||
'hi-inscript.xml',
|
|
||||||
'ja-kana.xml',
|
|
||||||
'kk.xml',
|
|
||||||
'kn-inscript.xml',
|
|
||||||
'ks-inscript.xml',
|
|
||||||
'ks.xml',
|
|
||||||
'mai-inscript.xml',
|
|
||||||
'ml-inscript.xml',
|
|
||||||
'mr-inscript.xml',
|
|
||||||
'my.xml',
|
|
||||||
'or-inscript.xml',
|
|
||||||
'pa-inscript.xml',
|
|
||||||
'ru.xml',
|
|
||||||
'sd-inscript.xml',
|
|
||||||
'ta-inscript.xml',
|
|
||||||
'te-inscript.xml',
|
|
||||||
'th.xml',
|
|
||||||
'ua.xml',
|
|
||||||
'ug.xml',
|
|
||||||
'us.xml',
|
|
||||||
'zh-bopomofo.xml',
|
|
||||||
]
|
|
||||||
|
|
||||||
foreach symbol: symbols
|
|
||||||
install_data(
|
|
||||||
'keyboards/symbols/' + symbol,
|
|
||||||
install_dir: pkgdatadir + '/keyboards/symbols/',
|
|
||||||
)
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
desktop_file = 'sm.puri.Squeekboard.desktop'
|
desktop_file = 'sm.puri.Squeekboard.desktop'
|
||||||
|
|
||||||
i18n.merge_file('desktop',
|
i18n.merge_file('desktop',
|
||||||
|
|||||||
36
data/squeekboard.gresources.xml
Normal file
36
data/squeekboard.gresources.xml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<gresources>
|
||||||
|
<gresource prefix="/sm/puri/squeekboard">
|
||||||
|
<file compressed="true">style.css</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/geometry/compact.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/keyboards.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ar.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/as-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/be.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/bn-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/fa.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/gu-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/he.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/hi-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ja-kana.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/kk.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/kn-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ks-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ks.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/mai-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ml-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/mr-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/my.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/or-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/pa-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ru.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/sd-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ta-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/te-inscript.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/th.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ua.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ug.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/us.xml</file>
|
||||||
|
<file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/zh-bopomofo.xml</file>
|
||||||
|
</gresource>
|
||||||
|
</gresources>
|
||||||
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
|
* Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
|
||||||
* Copyright (C) 2011 Red Hat, Inc.
|
* Copyright (C) 2011 Red Hat, Inc.
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
@ -25,6 +25,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif /* HAVE_CONFIG_H */
|
#endif /* HAVE_CONFIG_H */
|
||||||
|
|
||||||
|
#include <gio/gio.h> /* GResource */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -35,6 +36,8 @@
|
|||||||
#include "eek-keysym.h"
|
#include "eek-keysym.h"
|
||||||
#include "eek-text.h"
|
#include "eek-text.h"
|
||||||
|
|
||||||
|
#include "squeekboard-resources.h"
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_ID,
|
PROP_ID,
|
||||||
@ -451,7 +454,7 @@ geometry_start_element_callback (GMarkupParseContext *pcontext,
|
|||||||
"corner-radius");
|
"corner-radius");
|
||||||
if (attribute != NULL)
|
if (attribute != NULL)
|
||||||
data->corner_radius = g_strtod (attribute, NULL);
|
data->corner_radius = g_strtod (attribute, NULL);
|
||||||
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1058,10 +1061,10 @@ initable_init (GInitable *initable,
|
|||||||
gchar *path;
|
gchar *path;
|
||||||
EekXmlKeyboardDesc *desc;
|
EekXmlKeyboardDesc *desc;
|
||||||
|
|
||||||
priv->keyboards_dir = (gchar *) g_getenv ("EEKBOARD_KEYBOARDSDIR");
|
priv->keyboards_dir = g_strdup ((gchar *) g_getenv ("EEKBOARD_KEYBOARDSDIR"));
|
||||||
|
|
||||||
if (priv->keyboards_dir == NULL)
|
if (priv->keyboards_dir == NULL)
|
||||||
priv->keyboards_dir = KEYBOARDSDIR;
|
priv->keyboards_dir = g_strdup ("resource:///sm/puri/squeekboard/keyboards/");
|
||||||
priv->keyboards_dir = g_strdup (priv->keyboards_dir);
|
|
||||||
|
|
||||||
path = g_build_filename (priv->keyboards_dir, "keyboards.xml", NULL);
|
path = g_build_filename (priv->keyboards_dir, "keyboards.xml", NULL);
|
||||||
keyboards = parse_keyboards (path, error);
|
keyboards = parse_keyboards (path, error);
|
||||||
@ -1112,7 +1115,7 @@ eek_xml_list_keyboards (void)
|
|||||||
|
|
||||||
keyboards_dir = g_getenv ("EEKBOARD_KEYBOARDSDIR");
|
keyboards_dir = g_getenv ("EEKBOARD_KEYBOARDSDIR");
|
||||||
if (keyboards_dir == NULL)
|
if (keyboards_dir == NULL)
|
||||||
keyboards_dir = KEYBOARDSDIR;
|
keyboards_dir = g_strdup ("resource:///sm/puri/squeekboard/keyboards/");
|
||||||
path = g_build_filename (keyboards_dir, "keyboards.xml", NULL);
|
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);
|
||||||
@ -1181,7 +1184,9 @@ parse_geometry (const gchar *path, EekKeyboard *keyboard, GError **error)
|
|||||||
GFileInputStream *input;
|
GFileInputStream *input;
|
||||||
gboolean retval;
|
gboolean retval;
|
||||||
|
|
||||||
file = g_file_new_for_path (path);
|
file = g_str_has_prefix (path, "resource://")
|
||||||
|
? g_file_new_for_uri (path)
|
||||||
|
: g_file_new_for_path (path);
|
||||||
|
|
||||||
input = g_file_read (file, NULL, error);
|
input = g_file_read (file, NULL, error);
|
||||||
g_object_unref (file);
|
g_object_unref (file);
|
||||||
@ -1307,7 +1312,9 @@ parse_symbols (const gchar *path, EekKeyboard *keyboard, GError **error)
|
|||||||
GFileInputStream *input;
|
GFileInputStream *input;
|
||||||
gboolean retval;
|
gboolean retval;
|
||||||
|
|
||||||
file = g_file_new_for_path (path);
|
file = g_str_has_prefix (path, "resource://")
|
||||||
|
? g_file_new_for_uri (path)
|
||||||
|
: g_file_new_for_path (path);
|
||||||
|
|
||||||
input = g_file_read (file, NULL, error);
|
input = g_file_read (file, NULL, error);
|
||||||
g_object_unref (file);
|
g_object_unref (file);
|
||||||
@ -1340,7 +1347,9 @@ parse_prerequisites (const gchar *path, GError **error)
|
|||||||
GList *prerequisites;
|
GList *prerequisites;
|
||||||
gboolean retval;
|
gboolean retval;
|
||||||
|
|
||||||
file = g_file_new_for_path (path);
|
file = g_str_has_prefix (path, "resource://")
|
||||||
|
? g_file_new_for_uri (path)
|
||||||
|
: g_file_new_for_path (path);
|
||||||
|
|
||||||
input = g_file_read (file, NULL, error);
|
input = g_file_read (file, NULL, error);
|
||||||
g_object_unref (file);
|
g_object_unref (file);
|
||||||
@ -1375,7 +1384,9 @@ parse_keyboards (const gchar *path, GError **error)
|
|||||||
GList *keyboards;
|
GList *keyboards;
|
||||||
gboolean retval;
|
gboolean retval;
|
||||||
|
|
||||||
file = g_file_new_for_path (path);
|
file = g_str_has_prefix (path, "resource://")
|
||||||
|
? g_file_new_for_uri (path)
|
||||||
|
: g_file_new_for_path (path);
|
||||||
|
|
||||||
input = g_file_read (file, NULL, error);
|
input = g_file_read (file, NULL, error);
|
||||||
g_object_unref (file);
|
g_object_unref (file);
|
||||||
@ -1452,7 +1463,7 @@ static void scale_keyboard (EekKeyboard *keyboard,
|
|||||||
for (i = 0; i < n_outlines; i++) {
|
for (i = 0; i < n_outlines; i++) {
|
||||||
EekOutline *outline = eek_keyboard_get_outline (keyboard, i);
|
EekOutline *outline = eek_keyboard_get_outline (keyboard, i);
|
||||||
gint j;
|
gint j;
|
||||||
|
|
||||||
for (j = 0; j < outline->num_points; j++) {
|
for (j = 0; j < outline->num_points; j++) {
|
||||||
outline->points[j].x *= scale;
|
outline->points[j].x *= scale;
|
||||||
outline->points[j].y *= scale;
|
outline->points[j].y *= scale;
|
||||||
|
|||||||
@ -4,13 +4,6 @@ dbus_src = gnome.gdbus_codegen(
|
|||||||
join_paths(dbusdir, 'sm.puri.OSK0.xml')
|
join_paths(dbusdir, 'sm.puri.OSK0.xml')
|
||||||
)
|
)
|
||||||
|
|
||||||
squeekboard_resources = gnome.compile_resources(
|
|
||||||
'squeekboard-resources',
|
|
||||||
'squeekboard.gresources.xml',
|
|
||||||
|
|
||||||
c_name: 'squeekboard',
|
|
||||||
)
|
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
'imservice.c',
|
'imservice.c',
|
||||||
'server-context-service.c',
|
'server-context-service.c',
|
||||||
|
|||||||
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gresources>
|
|
||||||
<gresource prefix="/sm/puri/squeekboard">
|
|
||||||
<file compressed="true">style.css</file>
|
|
||||||
</gresource>
|
|
||||||
</gresources>
|
|
||||||
Reference in New Issue
Block a user