Port changes from F-12

This commit is contained in:
Peng Huang 2009-11-20 05:57:02 +00:00
parent 6f37f589fd
commit a08317de05
4 changed files with 77 additions and 38 deletions

View File

@ -1 +1 @@
ibus-m17n-1.2.0.20090617.tar.gz
ibus-m17n-1.2.0.20091120.tar.gz

View File

@ -1,6 +1,8 @@
--- src/engine.c.orig 2009-03-02 10:54:14.000000000 +0530
+++ src/engine.c 2009-03-02 13:12:42.000000000 +0530
@@ -17,6 +17,8 @@
diff --git a/src/engine.c b/src/engine.c
index d6ac852..6427a55 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -17,6 +17,8 @@ struct _IBusM17NEngine {
IBusLookupTable *table;
IBusProperty *status_prop;
IBusPropList *prop_list;
@ -9,14 +11,7 @@
};
struct _IBusM17NEngineClass {
@@ -127,12 +129,14 @@
engine_class->cursor_up = ibus_m17n_engine_cursor_up;
engine_class->cursor_down = ibus_m17n_engine_cursor_down;
- // engine_class->property_activate = ibus_m17n_engine_property_activate;
+ engine_class->property_activate = ibus_m17n_engine_property_activate;
}
@@ -134,6 +136,8 @@ ibus_m17n_engine_class_init (IBusM17NEngineClass *klass)
static void
ibus_m17n_engine_init (IBusM17NEngine *m17n)
{
@ -25,7 +20,7 @@
m17n->status_prop = ibus_property_new ("status",
PROP_TYPE_NORMAL,
NULL,
@@ -143,8 +147,21 @@
@@ -144,8 +148,21 @@ ibus_m17n_engine_init (IBusM17NEngine *m17n)
0,
NULL);
@ -47,26 +42,61 @@
m17n->table = ibus_lookup_table_new (9, 0, TRUE, TRUE);
m17n->context = NULL;
@@ -165,6 +182,7 @@
@@ -159,6 +176,7 @@ ibus_m17n_engine_constructor (GType type,
IBusM17NEngine *m17n;
MInputMethod *im;
const gchar *engine_name;
+ gchar **strv;
m17n = (IBusM17NEngine *) G_OBJECT_CLASS (parent_class)->constructor (type,
n_construct_params,
@@ -166,6 +184,14 @@ ibus_m17n_engine_constructor (GType type,
engine_name = ibus_engine_get_name ((IBusEngine *) m17n);
g_assert (engine_name);
+ m17n->keymap_name = g_strdup (engine_name);
+
+ strv = g_strsplit (engine_name, ":", 2);
+ g_assert (g_strv_length (strv) == 2);
+
+ /* show iok icon for inscript */
+ if(strcmp (strv[1], "inscript") == 0 || strcmp (strv[1] , "inscript2") == 0)
+ ibus_property_set_visible (m17n->show_iok_prop,TRUE);
if (im_table == NULL) {
im_table = g_hash_table_new_full (g_str_hash,
@@ -185,7 +203,9 @@
@@ -176,18 +202,7 @@ ibus_m17n_engine_constructor (GType type,
lang = strv[0];
name = strv[1];
im = (MInputMethod *) g_hash_table_lookup (im_table, engine_name);
if (im == NULL) {
- gchar *lang;
- gchar *name;
- gchar **strv;
-
+
+ if(strcmp(name,"inscript")==0)
+ ibus_property_set_visible(m17n->show_iok_prop,TRUE);
im = minput_open_im (msymbol (lang), msymbol (name), NULL);
- strv = g_strsplit (engine_name, ":", 2);
-
- g_assert (g_strv_length (strv) == 2);
-
- lang = strv[0];
- name = strv[1];
-
- im = minput_open_im (msymbol (lang), msymbol (name), NULL);
+ im = minput_open_im (msymbol (strv[0]), msymbol (strv[1]), NULL);
if (im != NULL) {
mplist_put (im->driver.callback_list, Minput_preedit_start, ibus_m17n_engine_callback);
@@ -247,6 +267,7 @@
mplist_put (im->driver.callback_list, Minput_preedit_draw, ibus_m17n_engine_callback);
@@ -207,9 +222,9 @@ ibus_m17n_engine_constructor (GType type,
g_hash_table_insert (im_table, g_strdup (engine_name), im);
}
- g_strfreev (strv);
}
+ g_strfreev (strv);
if (im == NULL) {
g_warning ("Can not find m17n keymap %s", engine_name);
g_object_unref (m17n);
@@ -231,6 +246,7 @@ ibus_m17n_engine_destroy (IBusM17NEngine *m17n)
m17n->prop_list = NULL;
}
@ -74,7 +104,7 @@
if (m17n->status_prop) {
g_object_unref (m17n->status_prop);
m17n->status_prop = NULL;
@@ -398,6 +419,7 @@
@@ -383,6 +399,7 @@ ibus_m17n_engine_focus_in (IBusEngine *engine)
IBusM17NEngine *m17n = (IBusM17NEngine *) engine;
ibus_engine_register_properties (engine, m17n->prop_list);
@ -82,12 +112,10 @@
ibus_m17n_engine_process_key (m17n, msymbol ("input-focus-in"));
parent_class->focus_in (engine);
@@ -483,7 +505,20 @@
@@ -468,6 +485,19 @@ ibus_m17n_engine_property_activate (IBusEngine *engine,
const gchar *prop_name,
guint prop_state)
{
- g_debug ("prop_name=%s, prop_state=%d", prop_name, prop_state);
+ gchar *langi;
+ gchar **strv;
+ gchar cmd[80];
+
@ -95,12 +123,12 @@
+
+ strv = g_strsplit (m17n->keymap_name, ":", 2);
+ g_assert (g_strv_length (strv) == 2);
+ langi = strv[0];
+
+ sprintf(cmd,"/usr/bin/iok -n %s",langi);
+ g_debug ("keymap name = %s,prop_name=%s, prop_state=%d",m17n->keymap_name, prop_name, prop_state);
+ sprintf (cmd, "/usr/bin/iok -n %s", strv[0]);
+ g_debug ("keymap name = %s,prop_name=%s, prop_state=%d", m17n->keymap_name, prop_name, prop_state);
+ g_strfreev (strv);
+
+ g_spawn_command_line_async(cmd, NULL );
+ g_spawn_command_line_async(cmd, NULL);
parent_class->property_activate (engine, prop_name, prop_state);
}

View File

@ -1,16 +1,15 @@
%define require_ibus_version 1.2.0
Name: ibus-m17n
Version: 1.2.0.20090617
Release: 2%{?dist}
Version: 1.2.0.20091120
Release: 1%{?dist}
Summary: The M17N engine for IBus platform
License: GPLv2+
Group: System Environment/Libraries
URL: http://code.google.com/p/ibus/
Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
# Patch0: ibus-m17n-HEAD.patch
# Patch1: ibus-m17n-iok.patch
Patch0: ibus-m17n-iok.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gettext-devel
@ -24,13 +23,12 @@ Requires: m17n-lib
Requires: iok > 1.3.1
%description
M17N engine for IBus input platform. It allows input of many lauguages using
M17N engine for IBus input platform. It allows input of many launguaes using
the input table maps from m17n-db.
%prep
%setup -q
# %patch0 -p1
# %patch1 -p0
%patch0 -p1
%build
%configure --disable-static
@ -54,6 +52,19 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/ibus/component/*
%changelog
* Fri Nov 20 2009 Peng Huang <shawn.p.huang@gmail.com> - 1.2.0.20091120-1
- Update to 1.2.0.20091120.
- Fix bug 530976
* Fri Oct 23 2009 Peng Huang <shawn.p.huang@gmail.com> - 1.2.0.20090617-5
- Update iok patch to fix bug 530493.
* Wed Oct 14 2009 Peng Huang <shawn.p.huang@gmail.com> - 1.2.0.20090617-4
- Update iok patch to fix build error.
* Tue Oct 13 2009 Parag <pnemade@redhat.com> - 1.2.0.20090617-3
- Re-enable iok support to ibus-m17n.
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0.20090617-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

View File

@ -1 +1 @@
c7cbe6a0359c510e5d678dff8a155ff8 ibus-m17n-1.2.0.20090617.tar.gz
49314ce44f3e8a1d2714ca6fdae79cb8 ibus-m17n-1.2.0.20091120.tar.gz