Bumped to 1.3.99.20110817
Added XIM and ISO 14755 Ctrl+Shift+u
This commit is contained in:
parent
e68340ebb6
commit
e0a5e11fee
1
.gitignore
vendored
1
.gitignore
vendored
@ -14,3 +14,4 @@ ibus-1.3.6.tar.gz
|
||||
/ibus_master_da.po
|
||||
/ibus-gjs-3.0.2.20110823.tar.gz
|
||||
/ibus-gjs-3.1.4.20110823.tar.gz
|
||||
/ibus-1.3.99.20110817.tar.gz
|
||||
|
@ -1,6 +1,6 @@
|
||||
From 7f81445b3e6613d14f64253506a309095a37c8d7 Mon Sep 17 00:00:00 2001
|
||||
From fd80539e980f464192aed22c71e83ff3a6ec61b3 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Mon, 20 Jun 2011 19:04:42 +0900
|
||||
Date: Thu, 1 Sep 2011 14:38:13 +0900
|
||||
Subject: [PATCH] Reload preload engines until users customize the list.
|
||||
|
||||
The idea is, if users don't customize the preload_engines with ibus-setup,
|
||||
@ -17,19 +17,19 @@ on ibus-setup, ibus-setup sets 'preload_engine_mode' as
|
||||
IBUS_PRELOAD_ENGINE_MODE_USER and users can customize the value
|
||||
'preload_engines'.
|
||||
---
|
||||
bus/ibusimpl.c | 402 +++++++++++++++++++++++++++++++++++++++-----------
|
||||
data/ibus.schemas.in | 13 ++
|
||||
bus/ibusimpl.c | 412 +++++++++++++++++++++++++++++++++++++++-----------
|
||||
data/ibus.schemas.in | 15 ++-
|
||||
ibus/common.py | 6 +
|
||||
setup/main.py | 70 ++++++++-
|
||||
setup/setup.ui | 21 +++-
|
||||
src/ibustypes.h | 10 ++
|
||||
6 files changed, 427 insertions(+), 95 deletions(-)
|
||||
6 files changed, 438 insertions(+), 96 deletions(-)
|
||||
|
||||
diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
|
||||
index a7ae52b..bb4b8ae 100644
|
||||
index 1942504..3fce912 100644
|
||||
--- a/bus/ibusimpl.c
|
||||
+++ b/bus/ibusimpl.c
|
||||
@@ -144,6 +144,9 @@ static void bus_ibus_impl_set_previous_engine
|
||||
@@ -142,6 +142,9 @@ static void bus_ibus_impl_set_previous_engine
|
||||
static void bus_ibus_impl_set_preload_engines
|
||||
(BusIBusImpl *ibus,
|
||||
GVariant *value);
|
||||
@ -39,7 +39,7 @@ index a7ae52b..bb4b8ae 100644
|
||||
static void bus_ibus_impl_set_use_sys_layout
|
||||
(BusIBusImpl *ibus,
|
||||
GVariant *value);
|
||||
@@ -285,6 +288,259 @@ _panel_destroy_cb (BusPanelProxy *panel,
|
||||
@@ -283,6 +286,269 @@ _panel_destroy_cb (BusPanelProxy *panel,
|
||||
}
|
||||
|
||||
static void
|
||||
@ -86,6 +86,16 @@ index a7ae52b..bb4b8ae 100644
|
||||
+
|
||||
+ variant = ibus_config_get_value (ibus->config, "general",
|
||||
+ "preload_engines");
|
||||
+ if (variant != NULL && g_variant_classify (variant) == G_VARIANT_CLASS_ARRAY) {
|
||||
+ GVariantIter iter;
|
||||
+ const gchar *engine_name = NULL;
|
||||
+ g_variant_iter_init (&iter, variant);
|
||||
+ g_variant_iter_loop (&iter, "&s", &engine_name);
|
||||
+ if (g_strcmp0 (engine_name, "ibus_null_engine") == 0) {
|
||||
+ g_variant_unref (variant);
|
||||
+ variant = NULL;
|
||||
+ }
|
||||
+ }
|
||||
+ if (variant == NULL) {
|
||||
+ /* Set LANG_RELATIVE mode for the initial login */
|
||||
+ preload_engine_mode = IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE;
|
||||
@ -299,7 +309,7 @@ index a7ae52b..bb4b8ae 100644
|
||||
bus_ibus_impl_set_hotkey (BusIBusImpl *ibus,
|
||||
GQuark hotkey,
|
||||
GVariant *value)
|
||||
@@ -394,35 +650,50 @@ static void
|
||||
@@ -392,35 +658,50 @@ static void
|
||||
bus_ibus_impl_set_preload_engines (BusIBusImpl *ibus,
|
||||
GVariant *value)
|
||||
{
|
||||
@ -372,7 +382,7 @@ index a7ae52b..bb4b8ae 100644
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -503,89 +774,47 @@ bus_ibus_impl_set_use_global_engine (BusIBusImpl *ibus,
|
||||
@@ -501,89 +782,47 @@ bus_ibus_impl_set_use_global_engine (BusIBusImpl *ibus,
|
||||
}
|
||||
}
|
||||
|
||||
@ -484,7 +494,7 @@ index a7ae52b..bb4b8ae 100644
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -601,6 +830,7 @@ const static struct {
|
||||
@@ -599,6 +838,7 @@ const static struct {
|
||||
{ "general/hotkey", "next_engine_in_menu", bus_ibus_impl_set_next_engine_in_menu },
|
||||
{ "general/hotkey", "previous_engine", bus_ibus_impl_set_previous_engine },
|
||||
{ "general", "preload_engines", bus_ibus_impl_set_preload_engines },
|
||||
@ -493,10 +503,19 @@ index a7ae52b..bb4b8ae 100644
|
||||
{ "general", "use_global_engine", bus_ibus_impl_set_use_global_engine },
|
||||
{ "general", "embed_preedit_text", bus_ibus_impl_set_embed_preedit_text },
|
||||
diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
|
||||
index 7ca4899..d4334e1 100644
|
||||
index 8979515..fef1810 100644
|
||||
--- a/data/ibus.schemas.in
|
||||
+++ b/data/ibus.schemas.in
|
||||
@@ -13,6 +13,19 @@
|
||||
@@ -6,7 +6,7 @@
|
||||
<applyto>/desktop/ibus/general/preload_engines</applyto>
|
||||
<owner>ibus</owner>
|
||||
<type>list</type>
|
||||
- <default>[]</default>
|
||||
+ <default>[ibus_null_engine]</default>
|
||||
<list_type>string</list_type>
|
||||
<locale name="C">
|
||||
<short>Preload engines</short>
|
||||
@@ -14,6 +14,19 @@
|
||||
</locale>
|
||||
</schema>
|
||||
<schema>
|
||||
@ -700,7 +719,7 @@ index f1e6d0b..562c091 100644
|
||||
</child>
|
||||
</object>
|
||||
diff --git a/src/ibustypes.h b/src/ibustypes.h
|
||||
index 6a31847..14b44fc 100644
|
||||
index 8146719..6151cd0 100644
|
||||
--- a/src/ibustypes.h
|
||||
+++ b/src/ibustypes.h
|
||||
@@ -186,6 +186,16 @@ typedef enum {
|
||||
@ -721,5 +740,5 @@ index 6a31847..14b44fc 100644
|
||||
* @x: x coordinate.
|
||||
* @y: y coordinate.
|
||||
--
|
||||
1.7.4.4
|
||||
1.7.5.4
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
1896
ibus-HEAD.patch
1896
ibus-HEAD.patch
File diff suppressed because it is too large
Load Diff
@ -921,7 +921,7 @@ diff --git a/configure.ac b/configure.ac
|
||||
index 4c20ae7..21d35c3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -456,6 +456,34 @@ else
|
||||
@@ -462,6 +462,34 @@ else
|
||||
enable_surrounding_text="no (disabled, use --enable-surrounding-text to enable)"
|
||||
fi
|
||||
|
||||
@ -956,15 +956,15 @@ index 4c20ae7..21d35c3 100644
|
||||
# check iso-codes
|
||||
PKG_CHECK_MODULES(ISOCODES, [
|
||||
iso-codes
|
||||
@@ -482,6 +510,7 @@ bus/Makefile
|
||||
@@ -488,6 +516,7 @@ bus/Makefile
|
||||
util/Makefile
|
||||
util/IMdkit/Makefile
|
||||
data/Makefile
|
||||
+data/ibus.schemas.in
|
||||
data/icons/Makefile
|
||||
data/keymaps/Makefile
|
||||
docs/Makefile
|
||||
@@ -534,5 +563,7 @@ Build options:
|
||||
data/dconf/Makefile
|
||||
@@ -540,5 +569,7 @@ Build options:
|
||||
No snooper regexes "$NO_SNOOPER_APPS"
|
||||
Panel icon "$IBUS_ICON_KEYBOARD"
|
||||
Enable surrounding-text $enable_surrounding_text
|
||||
@ -976,8 +976,8 @@ diff --git a/data/Makefile.am b/data/Makefile.am
|
||||
index 99be41c..824da76 100644
|
||||
--- a/data/Makefile.am
|
||||
+++ b/data/Makefile.am
|
||||
@@ -26,7 +26,8 @@ SUBDIRS = \
|
||||
$(NULL)
|
||||
@@ -30,7 +30,8 @@ SUBDIRS += dconf
|
||||
endif
|
||||
|
||||
schemasdir = $(GCONF_SCHEMA_FILE_DIR)
|
||||
-schemas_in_files = ibus.schemas.in
|
||||
@ -986,7 +986,7 @@ index 99be41c..824da76 100644
|
||||
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
|
||||
@INTLTOOL_SCHEMAS_RULE@
|
||||
|
||||
@@ -41,11 +42,12 @@ if GCONF_SCHEMAS_INSTALL
|
||||
@@ -45,11 +46,12 @@ if GCONF_SCHEMAS_INSTALL
|
||||
endif
|
||||
|
||||
EXTRA_DIST = \
|
||||
@ -1780,15 +1780,7 @@ diff --git a/xkb/ibus-engine-xkb-main.c b/xkb/ibus-engine-xkb-main.c
|
||||
index 0fb0f0c..4787bf2 100644
|
||||
--- a/xkb/ibus-engine-xkb-main.c
|
||||
+++ b/xkb/ibus-engine-xkb-main.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#endif
|
||||
|
||||
#include <ibus.h>
|
||||
+#include <glib/gi18n-lib.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
@@ -290,6 +291,9 @@ print_component ()
|
||||
@@ -290,6 +290,9 @@ print_component ()
|
||||
const gchar *desc;
|
||||
gchar *output;
|
||||
GString *str;
|
||||
@ -1798,7 +1790,7 @@ index 0fb0f0c..4787bf2 100644
|
||||
|
||||
#ifdef XKBLAYOUTCONFIG_FILE
|
||||
layout_config = ibus_xkb_layout_config_new (XKBLAYOUTCONFIG_FILE);
|
||||
@@ -302,6 +306,19 @@ print_component ()
|
||||
@@ -302,6 +305,19 @@ print_component ()
|
||||
layout_desc = (GHashTable *) ibus_xkb_config_registry_get_layout_desc (config_registry);
|
||||
variant_desc = (GHashTable *) ibus_xkb_config_registry_get_variant_desc (config_registry);
|
||||
component = ibus_xkb_component_new ();
|
||||
@ -1818,15 +1810,6 @@ index 0fb0f0c..4787bf2 100644
|
||||
for (keys = g_hash_table_get_keys (layout_list); keys; keys = keys->next) {
|
||||
if (keys->data == NULL) {
|
||||
continue;
|
||||
@@ -390,6 +407,8 @@ main (int argc, char **argv)
|
||||
|
||||
#ifdef ENABLE_NLS
|
||||
setlocale (LC_ALL, "");
|
||||
+ bindtextdomain (GETTEXT_PACKAGE, IBUS_LOCALEDIR);
|
||||
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||
#endif
|
||||
|
||||
g_type_init ();
|
||||
diff --git a/xkb/xkbxml.c b/xkb/xkbxml.c
|
||||
index d59a929..86bcf8f 100644
|
||||
--- a/xkb/xkbxml.c
|
||||
|
@ -1,261 +0,0 @@
|
||||
From 85d6a6d5d7e5673ac3bbc285589da18c48b562ae Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Sun, 14 Aug 2011 08:44:35 +0900
|
||||
Subject: [PATCH] Add create-engine signal in IBusFactory for non-C
|
||||
applications.
|
||||
|
||||
---
|
||||
bus/inputcontext.c | 5 ++
|
||||
src/ibusfactory.c | 107 ++++++++++++++++++++++++++++++++++++++++-------
|
||||
src/ibusfactory.h | 7 +++-
|
||||
src/ibusmarshalers.list | 1 +
|
||||
src/ibusservice.h | 5 +-
|
||||
5 files changed, 105 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/bus/inputcontext.c b/bus/inputcontext.c
|
||||
index 47ac9d5..4e8cdc5 100644
|
||||
--- a/bus/inputcontext.c
|
||||
+++ b/bus/inputcontext.c
|
||||
@@ -2285,6 +2285,11 @@ new_engine_cb (GObject *obj,
|
||||
"Opertation was cancelled");
|
||||
}
|
||||
else {
|
||||
+ if (data->context->engine != NULL) {
|
||||
+ /* Send a Disabled signal. */
|
||||
+ bus_input_context_unset_engine (data->context);
|
||||
+ bus_input_context_disable (data->context);
|
||||
+ }
|
||||
bus_input_context_set_engine (data->context, engine);
|
||||
g_object_unref (engine);
|
||||
bus_input_context_enable (data->context);
|
||||
diff --git a/src/ibusfactory.c b/src/ibusfactory.c
|
||||
index 11d9a6d..f28f074 100644
|
||||
--- a/src/ibusfactory.c
|
||||
+++ b/src/ibusfactory.c
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
#include "ibusfactory.h"
|
||||
#include "ibusengine.h"
|
||||
+#include "ibusmarshalers.h"
|
||||
#include "ibusshare.h"
|
||||
#include "ibusinternal.h"
|
||||
|
||||
@@ -28,6 +29,7 @@
|
||||
(G_TYPE_INSTANCE_GET_PRIVATE ((o), IBUS_TYPE_FACTORY, IBusFactoryPrivate))
|
||||
|
||||
enum {
|
||||
+ CREATE_ENGINE,
|
||||
LAST_SIGNAL,
|
||||
};
|
||||
|
||||
@@ -42,6 +44,8 @@ struct _IBusFactoryPrivate {
|
||||
GHashTable *engine_table;
|
||||
};
|
||||
|
||||
+static guint factory_signals[LAST_SIGNAL] = { 0 };
|
||||
+
|
||||
/* functions prototype */
|
||||
static void ibus_factory_destroy (IBusFactory *factory);
|
||||
static void ibus_factory_set_property (IBusFactory *engine,
|
||||
@@ -95,6 +99,47 @@ static const gchar introspection_xml[] =
|
||||
" </interface>"
|
||||
"</node>";
|
||||
|
||||
+static IBusEngine *
|
||||
+_ibus_factory_create_engine (IBusFactory *factory,
|
||||
+ const gchar *engine_name)
|
||||
+{
|
||||
+ GType engine_type;
|
||||
+ gchar *object_path = NULL;
|
||||
+ IBusEngine *engine = NULL;
|
||||
+
|
||||
+ engine_type = (GType) g_hash_table_lookup (factory->priv->engine_table,
|
||||
+ engine_name);
|
||||
+
|
||||
+ g_return_val_if_fail (engine_type != G_TYPE_INVALID, NULL);
|
||||
+
|
||||
+ object_path = g_strdup_printf ("/org/freedesktop/IBus/Engine/%d",
|
||||
+ ++factory->priv->id);
|
||||
+ engine = ibus_engine_new_type (engine_type,
|
||||
+ engine_name,
|
||||
+ object_path,
|
||||
+ ibus_service_get_connection ((IBusService *)factory));
|
||||
+ g_free (object_path);
|
||||
+
|
||||
+ return engine;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+_ibus_factory_create_engine_accumulator (GSignalInvocationHint *ihint,
|
||||
+ GValue *return_accu,
|
||||
+ const GValue *handler_return,
|
||||
+ gpointer dummy)
|
||||
+{
|
||||
+ gboolean retval = TRUE;
|
||||
+ GObject *object = g_value_get_object (handler_return);
|
||||
+
|
||||
+ if (object != NULL) {
|
||||
+ g_value_copy (handler_return, return_accu);
|
||||
+ retval = FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return retval;
|
||||
+}
|
||||
+
|
||||
static void
|
||||
ibus_factory_class_init (IBusFactoryClass *class)
|
||||
{
|
||||
@@ -109,10 +154,34 @@ ibus_factory_class_init (IBusFactoryClass *class)
|
||||
IBUS_SERVICE_CLASS (class)->service_method_call = ibus_factory_service_method_call;
|
||||
IBUS_SERVICE_CLASS (class)->service_get_property = ibus_factory_service_get_property;
|
||||
IBUS_SERVICE_CLASS (class)->service_set_property = ibus_factory_service_set_property;
|
||||
+ class->create_engine = _ibus_factory_create_engine;
|
||||
|
||||
ibus_service_class_add_interfaces (IBUS_SERVICE_CLASS (class), introspection_xml);
|
||||
|
||||
g_type_class_add_private (class, sizeof (IBusFactoryPrivate));
|
||||
+
|
||||
+ /**
|
||||
+ * IBusFactory::create-engine:
|
||||
+ * @factory: the factory which received the signal
|
||||
+ * @engine_name: the engine_name which received the signal
|
||||
+ * @returns: (transfer none): An IBusEngine
|
||||
+ *
|
||||
+ * The ::create-engine signal is a signal to create IBusEngine
|
||||
+ * with @engine_name, which gets emitted when IBusFactory
|
||||
+ * received CreateEngine dbus method. The callback functions
|
||||
+ * will be called until a callback returns a non-null object
|
||||
+ * of IBusEngine. */
|
||||
+ factory_signals[CREATE_ENGINE] =
|
||||
+ g_signal_new (I_("create-engine"),
|
||||
+ G_TYPE_FROM_CLASS (gobject_class),
|
||||
+ G_SIGNAL_RUN_LAST,
|
||||
+ G_STRUCT_OFFSET (IBusFactoryClass, create_engine),
|
||||
+ _ibus_factory_create_engine_accumulator,
|
||||
+ NULL,
|
||||
+ _ibus_marshal_OBJECT__STRING,
|
||||
+ IBUS_TYPE_ENGINE,
|
||||
+ 1,
|
||||
+ G_TYPE_STRING);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -190,25 +259,23 @@ ibus_factory_service_method_call (IBusService *service,
|
||||
|
||||
if (g_strcmp0 (method_name, "CreateEngine") == 0) {
|
||||
gchar *engine_name = NULL;
|
||||
+ IBusEngine *engine = NULL;
|
||||
+
|
||||
g_variant_get (parameters, "(&s)", &engine_name);
|
||||
- GType engine_type = (GType )g_hash_table_lookup (factory->priv->engine_table, engine_name);
|
||||
+ g_signal_emit (factory, factory_signals[CREATE_ENGINE],
|
||||
+ 0, engine_name, &engine);
|
||||
+
|
||||
+ if (engine != NULL) {
|
||||
+ gchar *object_path = NULL;
|
||||
+ GValue value = { 0, };
|
||||
+
|
||||
+ g_value_init (&value, G_TYPE_STRING);
|
||||
+ g_object_get_property (G_OBJECT (engine), "object-path", &value);
|
||||
+ object_path = g_value_dup_string (&value);
|
||||
+ g_value_unset (&value);
|
||||
|
||||
- if (engine_type == G_TYPE_INVALID) {
|
||||
- gchar *error_message = g_strdup_printf ("Can not fond engine %s", engine_name);
|
||||
- g_dbus_method_invocation_return_error (invocation,
|
||||
- G_DBUS_ERROR,
|
||||
- G_DBUS_ERROR_FAILED,
|
||||
- error_message);
|
||||
- g_free (error_message);
|
||||
- }
|
||||
- else {
|
||||
- gchar *object_path = g_strdup_printf ("/org/freedesktop/IBus/Engine/%d",
|
||||
- ++factory->priv->id);
|
||||
- IBusEngine *engine = ibus_engine_new_type (engine_type,
|
||||
- engine_name,
|
||||
- object_path,
|
||||
- ibus_service_get_connection ((IBusService *)factory));
|
||||
g_assert (engine != NULL);
|
||||
+ g_assert (object_path != NULL);
|
||||
g_object_ref_sink (engine);
|
||||
factory->priv->engine_list = g_list_append (factory->priv->engine_list, engine);
|
||||
g_signal_connect (engine,
|
||||
@@ -219,6 +286,14 @@ ibus_factory_service_method_call (IBusService *service,
|
||||
g_variant_new ("(o)", object_path));
|
||||
g_free (object_path);
|
||||
}
|
||||
+ else {
|
||||
+ gchar *error_message = g_strdup_printf ("Can not fond engine %s", engine_name);
|
||||
+ g_dbus_method_invocation_return_error (invocation,
|
||||
+ G_DBUS_ERROR,
|
||||
+ G_DBUS_ERROR_FAILED,
|
||||
+ error_message);
|
||||
+ g_free (error_message);
|
||||
+ }
|
||||
return;
|
||||
}
|
||||
|
||||
diff --git a/src/ibusfactory.h b/src/ibusfactory.h
|
||||
index 47c06e0..03d1dea 100644
|
||||
--- a/src/ibusfactory.h
|
||||
+++ b/src/ibusfactory.h
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
#include "ibusservice.h"
|
||||
#include "ibusserializable.h"
|
||||
+#include "ibusengine.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
@@ -127,10 +128,14 @@ struct _IBusFactoryClass {
|
||||
IBusServiceClass parent;
|
||||
|
||||
/* signals */
|
||||
+ IBusEngine *
|
||||
+ (* create_engine)
|
||||
+ (IBusFactory *factory,
|
||||
+ const gchar *engine_name);
|
||||
|
||||
/*< private >*/
|
||||
/* padding */
|
||||
- gpointer pdummy[8];
|
||||
+ gpointer pdummy[7];
|
||||
};
|
||||
|
||||
/**
|
||||
diff --git a/src/ibusmarshalers.list b/src/ibusmarshalers.list
|
||||
index c073c6e..82b4aea 100644
|
||||
--- a/src/ibusmarshalers.list
|
||||
+++ b/src/ibusmarshalers.list
|
||||
@@ -23,3 +23,4 @@ VOID:STRING,STRING,VARIANT
|
||||
VOID:STRING,STRING,STRING
|
||||
VOID:UINT
|
||||
VOID:UINT,POINTER
|
||||
+OBJECT:STRING
|
||||
diff --git a/src/ibusservice.h b/src/ibusservice.h
|
||||
index 7a3fea7..94f9bb7 100644
|
||||
--- a/src/ibusservice.h
|
||||
+++ b/src/ibusservice.h
|
||||
@@ -135,9 +135,9 @@ IBusService *ibus_service_new (GDBusConnection *connection,
|
||||
const gchar *ibus_service_get_object_path (IBusService *service);
|
||||
|
||||
/**
|
||||
- * ibus_service_get_connections:
|
||||
+ * ibus_service_get_connection:
|
||||
* @service: An IBusService.
|
||||
- * @returns: (transfer all) (element-type GDBusConnection): A newly allocated list of connections.
|
||||
+ * @returns: (transfer none): A #GDBusConnection of an #IBusService instance.
|
||||
*
|
||||
* Returns a connections.
|
||||
*/
|
||||
@@ -190,7 +190,6 @@ gboolean ibus_service_emit_signal (IBusService *service,
|
||||
* ibus_service_class_add_interfaces:
|
||||
* @klass: An IBusServiceClass.
|
||||
* @xml_data: The introspection xml data.
|
||||
- * @error: Error.
|
||||
*
|
||||
* Set the interface introspection information with the service class.
|
||||
*/
|
||||
--
|
||||
1.7.5.4
|
||||
|
@ -1,255 +0,0 @@
|
||||
From cf1fa1bc72d6d7ad71e928df1c3aa938069cfd9e Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Wed, 29 Jun 2011 16:50:51 +0900
|
||||
Subject: [PATCH] Add symbol property in IBusEngineDesc.
|
||||
|
||||
---
|
||||
ibus/enginedesc.py | 15 +++++++++------
|
||||
src/ibusenginedesc.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
src/ibusenginedesc.h | 10 ++++++++++
|
||||
3 files changed, 59 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/ibus/enginedesc.py b/ibus/enginedesc.py
|
||||
index e8a8982..3ca7f24 100644
|
||||
--- a/ibus/enginedesc.py
|
||||
+++ b/ibus/enginedesc.py
|
||||
@@ -31,7 +31,7 @@ from serializable import *
|
||||
class EngineDesc(Serializable):
|
||||
__gtype_name__ = "PYIBusEngineDesc"
|
||||
__NAME__ = "IBusEngineDesc"
|
||||
- def __init__(self, name="", longname="", description="", language="", license="", author="", icon="", layout="", hotkeys="", rank=0):
|
||||
+ def __init__(self, name="", longname="", description="", language="", license="", author="", icon="", layout="", hotkeys="", rank=0, symbol=""):
|
||||
super(EngineDesc, self).__init__()
|
||||
self.__name = name
|
||||
self.__longname = longname
|
||||
@@ -43,6 +43,7 @@ class EngineDesc(Serializable):
|
||||
self.__layout = layout
|
||||
self.__rank = rank
|
||||
self.__hotkeys = hotkeys
|
||||
+ self.__symbol = symbol
|
||||
|
||||
def get_name(self):
|
||||
return self.__name
|
||||
@@ -74,6 +75,9 @@ class EngineDesc(Serializable):
|
||||
def get_hotkeys(self):
|
||||
return self.__hotkeys
|
||||
|
||||
+ def get_symbol(self):
|
||||
+ return self.__symbol
|
||||
+
|
||||
name = property(get_name)
|
||||
longname = property(get_longname)
|
||||
description = property(get_description)
|
||||
@@ -84,6 +88,7 @@ class EngineDesc(Serializable):
|
||||
layout = property(get_layout)
|
||||
rank = property(get_rank)
|
||||
hotkeys = property(get_hotkeys)
|
||||
+ symbol = property(get_symbol)
|
||||
|
||||
def serialize(self, struct):
|
||||
super(EngineDesc, self).serialize(struct)
|
||||
@@ -97,8 +102,7 @@ class EngineDesc(Serializable):
|
||||
struct.append(dbus.String(self.__layout))
|
||||
struct.append(dbus.UInt32(self.__rank))
|
||||
struct.append(dbus.String(self.__hotkeys))
|
||||
- # New properties of EngineDesc will use dict for serialize
|
||||
- struct.append(dbus.Array({}, signature=None))
|
||||
+ struct.append(dbus.String(self.__symbol))
|
||||
|
||||
def deserialize(self, struct):
|
||||
super(EngineDesc, self).deserialize(struct)
|
||||
@@ -112,11 +116,10 @@ class EngineDesc(Serializable):
|
||||
self.__layout = struct.pop(0)
|
||||
self.__rank = struct.pop(0)
|
||||
self.__hotkeys = struct.pop(0)
|
||||
- # New properties of EngineDesc will use dict for serialize
|
||||
- #value = struct.pop(0)
|
||||
+ self.__symbol = struct.pop(0)
|
||||
|
||||
def test():
|
||||
- engine = EngineDesc("Hello", "", "", "", "", "", "", "", "")
|
||||
+ engine = EngineDesc("Hello", "", "", "", "", "", "", "", "", 0, "")
|
||||
value = serialize_object(engine)
|
||||
engine = deserialize_object(value)
|
||||
|
||||
diff --git a/src/ibusenginedesc.c b/src/ibusenginedesc.c
|
||||
index ca5ef60..fa3a768 100644
|
||||
--- a/src/ibusenginedesc.c
|
||||
+++ b/src/ibusenginedesc.c
|
||||
@@ -39,6 +39,7 @@ enum {
|
||||
PROP_LAYOUT,
|
||||
PROP_RANK,
|
||||
PROP_HOTKEYS,
|
||||
+ PROP_SYMBOL,
|
||||
};
|
||||
|
||||
|
||||
@@ -54,6 +55,7 @@ struct _IBusEngineDescPrivate {
|
||||
gchar *layout;
|
||||
guint rank;
|
||||
gchar *hotkeys;
|
||||
+ gchar *symbol;
|
||||
};
|
||||
|
||||
#define IBUS_ENGINE_DESC_GET_PRIVATE(o) \
|
||||
@@ -232,6 +234,19 @@ ibus_engine_desc_class_init (IBusEngineDescClass *class)
|
||||
"The hotkeys of engine description",
|
||||
"",
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
+
|
||||
+ /**
|
||||
+ * IBusEngineDesc:symbol:
|
||||
+ *
|
||||
+ * The symbol chars of engine description instead of icon image
|
||||
+ */
|
||||
+ g_object_class_install_property (gobject_class,
|
||||
+ PROP_SYMBOL,
|
||||
+ g_param_spec_string ("symbol",
|
||||
+ "description symbol",
|
||||
+ "The icon symbol chars of engine description",
|
||||
+ "",
|
||||
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -249,6 +264,7 @@ ibus_engine_desc_init (IBusEngineDesc *desc)
|
||||
desc->priv->layout = NULL;
|
||||
desc->priv->rank = 0;
|
||||
desc->priv->hotkeys = NULL;
|
||||
+ desc->priv->symbol = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -263,6 +279,7 @@ ibus_engine_desc_destroy (IBusEngineDesc *desc)
|
||||
g_free (desc->priv->icon);
|
||||
g_free (desc->priv->layout);
|
||||
g_free (desc->priv->hotkeys);
|
||||
+ g_free (desc->priv->symbol);
|
||||
|
||||
IBUS_OBJECT_CLASS (ibus_engine_desc_parent_class)->destroy (IBUS_OBJECT (desc));
|
||||
}
|
||||
@@ -313,6 +330,10 @@ ibus_engine_desc_set_property (IBusEngineDesc *desc,
|
||||
g_assert (desc->priv->hotkeys == NULL);
|
||||
desc->priv->hotkeys = g_value_dup_string (value);
|
||||
break;
|
||||
+ case PROP_SYMBOL:
|
||||
+ g_assert (desc->priv->symbol == NULL);
|
||||
+ desc->priv->symbol = g_value_dup_string (value);
|
||||
+ break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (desc, prop_id, pspec);
|
||||
}
|
||||
@@ -355,6 +376,9 @@ ibus_engine_desc_get_property (IBusEngineDesc *desc,
|
||||
case PROP_HOTKEYS:
|
||||
g_value_set_string (value, ibus_engine_desc_get_hotkeys (desc));
|
||||
break;
|
||||
+ case PROP_SYMBOL:
|
||||
+ g_value_set_string (value, ibus_engine_desc_get_symbol (desc));
|
||||
+ break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (desc, prop_id, pspec);
|
||||
}
|
||||
@@ -371,6 +395,10 @@ ibus_engine_desc_serialize (IBusEngineDesc *desc,
|
||||
/* End dict iter */
|
||||
|
||||
#define NOTNULL(s) ((s) != NULL ? (s) : "")
|
||||
+ /* If you will add a new property, you can append it at the end and
|
||||
+ * you should not change the serialized order of name, longname,
|
||||
+ * description, ... because the order is also used in other applications
|
||||
+ * likes ibus-qt. */
|
||||
g_variant_builder_add (builder, "s", NOTNULL (desc->priv->name));
|
||||
g_variant_builder_add (builder, "s", NOTNULL (desc->priv->longname));
|
||||
g_variant_builder_add (builder, "s", NOTNULL (desc->priv->description));
|
||||
@@ -381,7 +409,9 @@ ibus_engine_desc_serialize (IBusEngineDesc *desc,
|
||||
g_variant_builder_add (builder, "s", NOTNULL (desc->priv->layout));
|
||||
g_variant_builder_add (builder, "u", desc->priv->rank);
|
||||
g_variant_builder_add (builder, "s", NOTNULL (desc->priv->hotkeys));
|
||||
+ g_variant_builder_add (builder, "s", NOTNULL (desc->priv->symbol));
|
||||
#undef NOTNULL
|
||||
+
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -394,6 +424,10 @@ ibus_engine_desc_deserialize (IBusEngineDesc *desc,
|
||||
retval = IBUS_SERIALIZABLE_CLASS (ibus_engine_desc_parent_class)->deserialize ((IBusSerializable *)desc, variant);
|
||||
g_return_val_if_fail (retval, 0);
|
||||
|
||||
+ /* If you will add a new property, you can append it at the end and
|
||||
+ * you should not change the serialized order of name, longname,
|
||||
+ * description, ... because the order is also used in other applications
|
||||
+ * likes ibus-qt. */
|
||||
g_variant_get_child (variant, retval++, "s", &desc->priv->name);
|
||||
g_variant_get_child (variant, retval++, "s", &desc->priv->longname);
|
||||
g_variant_get_child (variant, retval++, "s", &desc->priv->description);
|
||||
@@ -404,6 +438,7 @@ ibus_engine_desc_deserialize (IBusEngineDesc *desc,
|
||||
g_variant_get_child (variant, retval++, "s", &desc->priv->layout);
|
||||
g_variant_get_child (variant, retval++, "u", &desc->priv->rank);
|
||||
g_variant_get_child (variant, retval++, "s", &desc->priv->hotkeys);
|
||||
+ g_variant_get_child (variant, retval++, "s", &desc->priv->symbol);
|
||||
|
||||
return retval;
|
||||
}
|
||||
@@ -428,6 +463,7 @@ ibus_engine_desc_copy (IBusEngineDesc *dest,
|
||||
dest->priv->layout = g_strdup (src->priv->layout);
|
||||
dest->priv->rank = src->priv->rank;
|
||||
dest->priv->hotkeys = g_strdup (src->priv->hotkeys);
|
||||
+ dest->priv->symbol = g_strdup (src->priv->symbol);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -465,6 +501,7 @@ ibus_engine_desc_output (IBusEngineDesc *desc,
|
||||
OUTPUT_ENTRY_1(icon);
|
||||
OUTPUT_ENTRY_1(layout);
|
||||
OUTPUT_ENTRY_1(hotkeys);
|
||||
+ OUTPUT_ENTRY_1(symbol);
|
||||
g_string_append_indent (output, indent + 1);
|
||||
g_string_append_printf (output, "<rank>%u</rank>\n", desc->priv->rank);
|
||||
#undef OUTPUT_ENTRY
|
||||
@@ -498,6 +535,7 @@ ibus_engine_desc_parse_xml_node (IBusEngineDesc *desc,
|
||||
PARSE_ENTRY_1(icon);
|
||||
PARSE_ENTRY_1(layout);
|
||||
PARSE_ENTRY_1(hotkeys);
|
||||
+ PARSE_ENTRY_1(symbol);
|
||||
#undef PARSE_ENTRY
|
||||
#undef PARSE_ENTRY_1
|
||||
if (g_strcmp0 (sub_node->name , "rank") == 0) {
|
||||
@@ -526,6 +564,7 @@ IBUS_ENGINE_DESC_GET_PROPERTY (icon, const gchar *)
|
||||
IBUS_ENGINE_DESC_GET_PROPERTY (layout, const gchar *)
|
||||
IBUS_ENGINE_DESC_GET_PROPERTY (rank, guint)
|
||||
IBUS_ENGINE_DESC_GET_PROPERTY (hotkeys, const gchar *)
|
||||
+IBUS_ENGINE_DESC_GET_PROPERTY (symbol, const gchar *)
|
||||
#undef IBUS_ENGINE_DESC_GET_PROPERTY
|
||||
|
||||
IBusEngineDesc *
|
||||
@@ -573,6 +612,7 @@ ibus_engine_desc_new_varargs (const gchar *first_property_name, ...)
|
||||
g_assert (desc->priv->icon);
|
||||
g_assert (desc->priv->layout);
|
||||
g_assert (desc->priv->hotkeys);
|
||||
+ g_assert (desc->priv->symbol);
|
||||
|
||||
return desc;
|
||||
}
|
||||
diff --git a/src/ibusenginedesc.h b/src/ibusenginedesc.h
|
||||
index 9718b15..76a7adc 100644
|
||||
--- a/src/ibusenginedesc.h
|
||||
+++ b/src/ibusenginedesc.h
|
||||
@@ -249,6 +249,16 @@ guint ibus_engine_desc_get_rank (IBusEngineDesc *info);
|
||||
const gchar *ibus_engine_desc_get_hotkeys (IBusEngineDesc *info);
|
||||
|
||||
/**
|
||||
+ * ibus_engine_desc_get_symbol:
|
||||
+ * @info: An IBusEngineDesc
|
||||
+ * @returns: symbol property in IBusEngineDesc
|
||||
+ *
|
||||
+ * Return the symbol property in IBusEngineDesc. It should not be freed.
|
||||
+ */
|
||||
+const gchar *ibus_engine_desc_get_symbol
|
||||
+ (IBusEngineDesc *info);
|
||||
+
|
||||
+/**
|
||||
* ibus_engine_desc_output:
|
||||
* @info: An IBusEngineDesc
|
||||
* @output: XML-formatted Input method engine description.
|
||||
--
|
||||
1.7.5.4
|
||||
|
27
ibus.spec
27
ibus.spec
@ -21,8 +21,8 @@
|
||||
%define gnome_icon_theme_legacy_version 2.91.6
|
||||
|
||||
Name: ibus
|
||||
Version: 1.3.99.20110419
|
||||
Release: 18%{?dist}
|
||||
Version: 1.3.99.20110817
|
||||
Release: 1%{?dist}
|
||||
Summary: Intelligent Input Bus for Linux OS
|
||||
License: LGPLv2+
|
||||
Group: System Environment/Libraries
|
||||
@ -32,14 +32,11 @@ Source1: xinput-ibus
|
||||
%if %have_gjsfile
|
||||
Source2: http://fujiwara.fedorapeople.org/ibus/gnome-shell/ibus-gjs-%{ibus_gjs_version}.tar.gz
|
||||
%endif
|
||||
Source3: https://www.transifex.net/projects/p/ibus/resource/master/l/da/download/ibus_master_da.po
|
||||
Patch0: ibus-HEAD.patch
|
||||
Patch1: ibus-530711-preload-sys.patch
|
||||
Patch2: ibus-xx-icon-symbol.patch
|
||||
Patch3: ibus-xx-factory-signal.patch
|
||||
Patch4: ibus-541492-xkb.patch
|
||||
Patch5: ibus-xx-bridge-hotkey.patch
|
||||
Patch6: ibus-xx-setup-frequent-lang.patch
|
||||
Patch2: ibus-541492-xkb.patch
|
||||
Patch3: ibus-xx-bridge-hotkey.patch
|
||||
Patch4: ibus-xx-setup-frequent-lang.patch
|
||||
|
||||
# Workaround for oxygen-gtk icon theme until bug 699103 is fixed.
|
||||
Patch91: ibus-711632-fedora-fallback-icon.patch
|
||||
@ -173,18 +170,15 @@ The ibus-devel-docs package contains developer documentation for ibus
|
||||
%if %have_gjsfile
|
||||
zcat %SOURCE2 | tar xf -
|
||||
%endif
|
||||
cp %SOURCE3 po/da.po
|
||||
%patch0 -p1
|
||||
cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c
|
||||
%patch1 -p1 -b .preload-sys
|
||||
%patch2 -p1 -b .icon-symbol
|
||||
%patch3 -p1 -b .factory
|
||||
%if %have_libxkbfile
|
||||
%patch4 -p1 -b .xkb
|
||||
%patch2 -p1 -b .xkb
|
||||
%endif
|
||||
mv data/ibus.schemas.in data/ibus.schemas.in.in
|
||||
%patch5 -p1 -b .bridge-key
|
||||
%patch6 -p1 -b .setup-frequent-lang
|
||||
%patch3 -p1 -b .bridge-key
|
||||
%patch4 -p1 -b .setup-frequent-lang
|
||||
|
||||
%patch91 -p1 -b .fallback-icon
|
||||
|
||||
@ -371,13 +365,12 @@ fi
|
||||
%{_datadir}/gtk-doc/html/*
|
||||
|
||||
%changelog
|
||||
* Tue Aug 23 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.3.99.20110419-18
|
||||
* Thu Sep 01 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.3.99.20110817-1
|
||||
- Fixed Bug 700472 Use a symbol icon instead of an image icon.
|
||||
- Updated ibus-HEAD.patch for upstream.
|
||||
- Removed ibus-435880-surrounding-text.patch as upstream.
|
||||
- Added ibus-711632-fedora-fallback-icon.patch
|
||||
Fixed SEGV with no icon in oxygen-gtk icon theme.
|
||||
- Added ibus-xx-icon-symbol.patch
|
||||
Fixed Bug 700472 Use a symbol icon instead of an image icon.
|
||||
- Added ibus-xx-bridge-hotkey.patch
|
||||
Triaged Bug 707370 SetEngine timeout
|
||||
Fixed Bug 731610 Keep IM state when text input focus changes
|
||||
|
3
sources
3
sources
@ -1,4 +1,3 @@
|
||||
d4f2729fecb92ae6b41f26c770b1a772 ibus-1.3.99.20110419.tar.gz
|
||||
52614e55e966b7c7101a19b276c51f10 ibus-1.3.99.20110817.tar.gz
|
||||
c4df79742fb0de4d2794c6800a493d20 ibus-gjs-3.0.2.20110823.tar.gz
|
||||
e97be8e1d0b22531b5000d4a6349dbbe ibus-gjs-3.1.4.20110823.tar.gz
|
||||
698c90edf0f037488e1aa969804e891f ibus_master_da.po
|
||||
|
Loading…
Reference in New Issue
Block a user