Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(355)

Unified Diff: src/ibusenginedesc.c

Issue 1702015: Support engine specific hotkey. (Closed) Base URL: ssh://git@chromiumos-git/ibus.git
Patch Set: Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ibusenginedesc.h ('k') | src/ibushotkey.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ibusenginedesc.c
diff --git a/src/ibusenginedesc.c b/src/ibusenginedesc.c
index 5563cc0ce81f2bbdbb2984d1c627b58f27fc8f8c..e9a62484d752e3e4051e0d7b087b8215a087f31c 100644
--- a/src/ibusenginedesc.c
+++ b/src/ibusenginedesc.c
@@ -64,7 +64,7 @@ ibus_engine_desc_class_init (IBusEngineDescClass *klass)
serializable_class->deserialize = (IBusSerializableDeserializeFunc) ibus_engine_desc_deserialize;
serializable_class->copy = (IBusSerializableCopyFunc) ibus_engine_desc_copy;
- g_string_append (serializable_class->signature, "ssssssssu");
+ g_string_append (serializable_class->signature, "sssssssssu");
}
static void
@@ -79,6 +79,7 @@ ibus_engine_desc_init (IBusEngineDesc *desc)
desc->author = NULL;
desc->icon = NULL;
desc->layout = NULL;
+ desc->hotkeys = NULL;
desc->rank = 0;
}
@@ -93,6 +94,7 @@ ibus_engine_desc_destroy (IBusEngineDesc *desc)
g_free (desc->author);
g_free (desc->icon);
g_free (desc->layout);
+ g_free (desc->hotkeys);
IBUS_OBJECT_CLASS (ibus_engine_desc_parent_class)->destroy (IBUS_OBJECT (desc));
}
@@ -130,6 +132,9 @@ ibus_engine_desc_serialize (IBusEngineDesc *desc,
retval = ibus_message_iter_append (iter, G_TYPE_STRING, &desc->layout);
g_return_val_if_fail (retval, FALSE);
+ retval = ibus_message_iter_append (iter, G_TYPE_STRING, &desc->hotkeys);
+ g_return_val_if_fail (retval, FALSE);
+
retval = ibus_message_iter_append (iter, G_TYPE_UINT, &desc->rank);
g_return_val_if_fail (retval, FALSE);
@@ -186,6 +191,11 @@ ibus_engine_desc_deserialize (IBusEngineDesc *desc,
ibus_message_iter_next (iter);
desc->layout = g_strdup (str);
+ retval = ibus_message_iter_get (iter, G_TYPE_STRING, &str);
+ g_return_val_if_fail (retval, FALSE);
+ ibus_message_iter_next (iter);
+ desc->hotkeys = g_strdup (str);
+
retval = ibus_message_iter_get (iter, G_TYPE_UINT, &desc->rank);
g_return_val_if_fail (retval, FALSE);
ibus_message_iter_next (iter);
@@ -212,6 +222,7 @@ ibus_engine_desc_copy (IBusEngineDesc *dest,
dest->author = g_strdup (src->author);
dest->icon = g_strdup (src->icon);
dest->layout = g_strdup (src->layout);
+ dest->hotkeys = g_strdup (src->hotkeys);
return TRUE;
}
@@ -248,6 +259,7 @@ ibus_engine_desc_output (IBusEngineDesc *desc,
OUTPUT_ENTRY_1(author);
OUTPUT_ENTRY_1(icon);
OUTPUT_ENTRY_1(layout);
+ OUTPUT_ENTRY_1(hotkeys);
g_string_append_indent (output, indent + 1);
g_string_append_printf (output, "<rank>%u</rank>\n", desc->rank);
#undef OUTPUT_ENTRY
@@ -279,8 +291,9 @@ ibus_engine_desc_parse_xml_node (IBusEngineDesc *desc,
PARSE_ENTRY_1(author);
PARSE_ENTRY_1(icon);
PARSE_ENTRY_1(layout);
+ PARSE_ENTRY_1(hotkeys);
#undef PARSE_ENTRY
-#undef PARSE_ENTRY1
+#undef PARSE_ENTRY_1
if (g_strcmp0 (sub_node->name , "rank") == 0) {
desc->rank = atoi (sub_node->text);
continue;
@@ -300,6 +313,21 @@ ibus_engine_desc_new (const gchar *name,
const gchar *icon,
const gchar *layout)
{
+ return ibus_engine_desc_new2 (name, longname, description, language,
+ license, author, icon, layout, "");
+}
+
+IBusEngineDesc *
+ibus_engine_desc_new2 (const gchar *name,
+ const gchar *longname,
+ const gchar *description,
+ const gchar *language,
+ const gchar *license,
+ const gchar *author,
+ const gchar *icon,
+ const gchar *layout,
+ const gchar *hotkeys)
+{
g_assert (name);
g_assert (longname);
g_assert (description);
@@ -308,6 +336,7 @@ ibus_engine_desc_new (const gchar *name,
g_assert (author);
g_assert (icon);
g_assert (layout);
+ g_assert (hotkeys);
IBusEngineDesc *desc;
desc = (IBusEngineDesc *)g_object_new (IBUS_TYPE_ENGINE_DESC, NULL);
@@ -320,6 +349,7 @@ ibus_engine_desc_new (const gchar *name,
desc->author = g_strdup (author);
desc->icon = g_strdup (icon);
desc->layout = g_strdup (layout);
+ desc->hotkeys = g_strdup (hotkeys);
return desc;
}
@@ -344,4 +374,3 @@ ibus_engine_desc_new_from_xml_node (XMLNode *node)
return desc;
}
-
« no previous file with comments | « src/ibusenginedesc.h ('k') | src/ibushotkey.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698