Daiki Ueno [Fri, 16 Sep 2011 01:22:38 +0000 (10:22 +0900)]
Implement org.freedesktop.DBus.StartServiceByName.
BUG=none
TEST=tested with https://github.com/ueno/ibus-gucharmap/tree/charmap-service
Review URL: http://codereview.appspot.com/4960060
Peng Huang [Fri, 9 Sep 2011 13:47:37 +0000 (09:47 -0400)]
Fix make dist error if dsettings does not exist.
BUG=make dist failed without gsettings
TEST=make dist
Review URL: http://codereview.appspot.com/4994043
Peng Huang [Fri, 9 Sep 2011 02:09:26 +0000 (22:09 -0400)]
Do not send surrounding text to ibus-daemon if engine does not need surrounding text.
BUG=None
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4977058
fujiwarat [Thu, 25 Aug 2011 00:59:42 +0000 (09:59 +0900)]
Add Disable signal when bus_ibus_impl_set_context_engine_from_desc is called.
BUG=#1261
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4875049
fujiwarat [Wed, 24 Aug 2011 02:44:21 +0000 (11:44 +0900)]
Check if BusInputContext has an enabled engine in global input method.
BUG=RH#731610
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4917041
Peng Huang [Fri, 19 Aug 2011 12:23:33 +0000 (08:23 -0400)]
Use GVariant as attachment for IBusSerializable.
BUG=None
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4902051
Tsuyoshi Horo [Thu, 18 Aug 2011 15:48:30 +0000 (11:48 -0400)]
Fix for ibus_serializable_{get,set}_attachment.
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4905054
Patch from Tsuyoshi Horo <horo@chromium.org>.
fujiwarat [Sat, 13 Aug 2011 23:56:31 +0000 (08:56 +0900)]
Add create-engine signal in IBusFactory for non-C applications.
TEST=Linux desktop
Separated from CL #4853041.
Review URL: http://codereview.appspot.com/4801081
Peng Huang [Fri, 12 Aug 2011 01:13:28 +0000 (21:13 -0400)]
Port keyval and unicode converting functions from gtk.
BUG=None
TEST=None
Review URL: http://codereview.appspot.com/4870042
Seigo Nonaka [Fri, 12 Aug 2011 00:53:13 +0000 (20:53 -0400)]
Support selection text retrival.
This patch enable us to get selection text on client application.
Currently only GtkTextView widget can get them in gtk application.
BUG=None
TEST=manually done.(By gedit text editor)
Review URL: http://codereview.appspot.com/4844041
Patch from Seigo Nonaka <nona@chromium.org>.
Peng Huang [Fri, 12 Aug 2011 00:23:18 +0000 (20:23 -0400)]
Add missing config.h in gdk-private.c
Forget include config.h in gdk-private.c. So the HAVE_X11_XKBLIB_H is always undefined, and ibux-x11 can not get correct group from x key event.
BUG=ibus-x11 can not handle group correctly
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4865041
Peng Huang [Thu, 11 Aug 2011 01:46:27 +0000 (21:46 -0400)]
Fix make rpm errors
BUG=make rpm failed in fedora
TEST=make rpm in fedora
Review URL: http://codereview.appspot.com/4862041
Peng Huang [Sat, 23 Jul 2011 01:23:41 +0000 (09:23 +0800)]
Always enable the new focused BusInputContext
BUG=http://crosbug.com/17013
TEST=On ChromeOS
Review URL: http://codereview.appspot.com/4816047
Daiki Ueno [Mon, 18 Jul 2011 09:44:23 +0000 (18:44 +0900)]
Add ibus-dconf.
BUG=https://code.google.com/p/ibus/issues/detail?id=1235
TEST=manually with "make check" and interactive testing
Review URL: http://codereview.appspot.com/4750041
Daiki Ueno [Fri, 15 Jul 2011 00:51:07 +0000 (09:51 +0900)]
Fix GObject ref/unref issues.
BUG=none
TEST=manual
Review URL: http://codereview.appspot.com/4700048
fujiwarat [Tue, 12 Jul 2011 06:14:59 +0000 (15:14 +0900)]
Fixed an error in IBus.Bus.register_component
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4668060
Yusuke Sato [Tue, 12 Jul 2011 05:04:30 +0000 (14:04 +0900)]
Use g_variant_dup_string for consistency.
This fix is similar to https://github.com/ibus/ibus/commit/
624c4451da2bd171bd8ac53a9b9dd2a4227ef67f .
BUG=None
TEST=None
Review URL: http://codereview.appspot.com/4641101
Yusuke Sato [Mon, 11 Jul 2011 02:55:19 +0000 (11:55 +0900)]
Remove the callback on destroy.
BUG=crosbug.com/17293
TEST=src/tests/ibus-bus.c
Review URL: http://codereview.appspot.com/4675074
Peng Huang [Thu, 7 Jul 2011 16:42:52 +0000 (12:42 -0400)]
Fix several GVariant related issues. And remove a wrong unref.
BUG=None
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4667067
Peng Huang [Tue, 5 Jul 2011 17:11:41 +0000 (13:11 -0400)]
Fix SEGV in ibus_keymap_lookup_keysym
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4636083
Peng Huang [Tue, 5 Jul 2011 14:45:20 +0000 (10:45 -0400)]
Add org.freedesktop.IBus.Config.GetValues to get all values in one RPC.
BUG=http://crosbug.com/16287
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4667056
Peng Huang [Mon, 4 Jul 2011 04:26:03 +0000 (12:26 +0800)]
Fix make dpkg errors.
BUG=None
TEST=Make dpkg
Review URL: http://codereview.appspot.com/4673041
Peng Huang [Sun, 3 Jul 2011 19:27:23 +0000 (03:27 +0800)]
Fix BusEngineProxy instance leak.
BUG=none
TEST=manually with / without global-engine setting
Review URL: http://codereview.appspot.com/4662043
Peng Huang [Sun, 3 Jul 2011 19:24:47 +0000 (03:24 +0800)]
Add icon_symbol property in IBusEngineDesc.
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4648050
Kazuhiro Inaba [Sat, 18 Jun 2011 04:10:36 +0000 (00:10 -0400)]
Store capabilities when ibuscontext is not ready yet.
Due to the asynchronous creation of contexts, gtk_im_set_use_preedit may
be called before the context is ready. This patch is to
record the change of capability flag and enables to set it
later in _create_input_context_done.
BUG=http://crosbug.com/16500
TEST=ChromeOS Cr-48
Review URL: http://codereview.appspot.com/4635049
Patch from Kazuhiro Inaba <kinaba@chromium.org>.
Daiki Ueno [Sat, 18 Jun 2011 04:03:07 +0000 (00:03 -0400)]
Simplify surrounding-text initialization.
Currently the immodule tries to retrieve surrounding-text unconditionally
on focus_in and enabled. These calls could be eliminated if engine were
able to proclaim that it will need surrounding-text.
This patch extends ibus_engine_get_surrounding_text() to allow this.
Engines that need surrounding-text are expected to have:
/* Indicate we will use surrounding-text. */
ibus_engine_get_surrounding_text (engine, NULL, NULL);
in their enable() method. This would work because enable() is called before
SetCapabilities DBus call.
BUG=none
TEST=manually with ibus-m17n, with the above change.
Review URL: http://codereview.appspot.com/4613043
Patch from Daiki Ueno <daiki.ueno@gmail.com>.
Peng Huang [Sat, 18 Jun 2011 03:46:31 +0000 (23:46 -0400)]
Restore cursor location when a new IBusInputContext is created.
BUG=http://crosbug.com/16500
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4635044
Peng Huang [Thu, 16 Jun 2011 19:46:46 +0000 (15:46 -0400)]
Fix some fuction signatures to make ibus g-i firendly.
BUG=None
TEST=Test on Linux desktop
Review URL: http://codereview.appspot.com/4517146
Peng Huang [Thu, 16 Jun 2011 17:13:01 +0000 (13:13 -0400)]
Fix make dpkg errors.
BUG=make dpkg failed
TEST=make dpkg
Review URL: http://codereview.appspot.com/4629044
Yusuke Sato [Thu, 16 Jun 2011 16:12:06 +0000 (01:12 +0900)]
Check IBUS_CONFIG_HOME environment variable when reading/writing the socket file.
BUG=crosbug.com/16501
TEST=export IBUS_CONFIG_HOME=/tmp, start Chrome on Chromium OS, verify an empty dir /tmp/ibus/bus exists with mode 0700, log in, enable IME, verify IME works, verify the socket file is created in /tmp/ibus/bus.
Review URL: http://codereview.appspot.com/4621043
Peng Huang [Wed, 15 Jun 2011 14:38:17 +0000 (10:38 -0400)]
Add IBUS_ERROR domain and reply IBUS_ERROR_NO_ENGINE in org.freedesktop.IBus.InputContext.GetEngine
BUG=None
TEST=Manually
Review URL: http://codereview.appspot.com/4528140
Peng Huang [Mon, 13 Jun 2011 17:18:29 +0000 (13:18 -0400)]
Fix some race condition between idle and timeout events. Also fix a memory leak.
BUG=http://crosbug.com/16387
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4568072
Peng Huang [Thu, 9 Jun 2011 01:11:28 +0000 (21:11 -0400)]
Add functions for creating IBusConfig asynchronously.
BUG=http://crosbug.com/13245
TEST=make check
Review URL: http://codereview.appspot.com/4581041
Peng Huang [Wed, 8 Jun 2011 14:21:50 +0000 (07:21 -0700)]
Merge pull request #2 from ryoqun/master
ibus python binding wasn't working due to incorrect forward-key-event signature
Peng Huang [Mon, 6 Jun 2011 13:30:27 +0000 (09:30 -0400)]
Fix Python input context binding.
Export "forward-key-event" and "delete-surrounding-text" signals to Python; clear __needs_surrounding_text property on "enabled" and "disabled" signals.
BUG=none
TEST=briefly tested, at least I don't see any regression
Review URL: http://codereview.appspot.com/4437062
Peng Huang [Thu, 2 Jun 2011 12:30:34 +0000 (08:30 -0400)]
Fix build warnings with gcc 4.6
BUG=Build warnings with gcc 4.6
TEST=Manually
Review URL: http://codereview.appspot.com/4517127
Yusuke Sato [Wed, 1 Jun 2011 14:37:14 +0000 (23:37 +0900)]
Send the new capabilities to ibus-daemon in ibus_im_context_set_use_preedit.
BUG=none
TEST=none
Review URL: http://codereview.appspot.com/4529103
fujiwarat [Mon, 16 May 2011 05:51:45 +0000 (14:51 +0900)]
Update translations.
Update da.po ja.po nl.po pl.po te.po uk.po zh_CN.po
Ryo Onodera [Tue, 17 May 2011 11:07:40 +0000 (20:07 +0900)]
fix wrong forward key event signature
Peng Huang [Wed, 11 May 2011 01:59:15 +0000 (21:59 -0400)]
Fix build warnings with gcc 4.6
BUG=crosbug.com/15039
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4518042
Julien Humbert [Thu, 7 Apr 2011 22:45:46 +0000 (00:45 +0200)]
Update name
Espreon [Sat, 30 Apr 2011 05:20:06 +0000 (01:20 -0400)]
Added British English translation.
Peng Huang [Tue, 3 May 2011 13:55:39 +0000 (09:55 -0400)]
Fix make dpkg errors, and add gtk3 support for debian
BUG=None
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4436076
Takao Fujiwara [Wed, 27 Apr 2011 11:48:50 +0000 (07:48 -0400)]
Fix the zombie process of ibus-gconf when ibus-daemon restarts.
- Fix the typo in bus_dbus_impl_destroy() (dbusimpl.c)
- Modify bus_server_run() and _ibus_exit() (ibusimpl.c, server.c)
bus_ibus_impl_destroy() needs to be called so that waitpid()
prevents processes from becoming zombie.
- Change the declaration of bus_server_quit(). (server.h)
BUG=redhat#697471
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4440059
Patch from Takao Fujiwara <takao.fujiwara1@gmail.com>.
Yusuke Sato [Fri, 22 Apr 2011 11:17:14 +0000 (20:17 +0900)]
Fix SEGV in im-ibus.so on Chromium OS
Review URL: http://codereview.appspot.com/4440060
Yusuke Sato [Fri, 22 Apr 2011 11:07:43 +0000 (20:07 +0900)]
Add org.freedesktop.IBus.InputContext.ProcessHandWritingEvent and CancelHandWriting to support a handwriting engine.
Review URL: http://codereview.appspot.com/4433059
Daiki Ueno [Mon, 18 Apr 2011 21:09:10 +0000 (17:09 -0400)]
Export input context surrounding-text API to Python.
BUG=none
TEST=manual
Review URL: http://codereview.appspot.com/4442059
Patch from Daiki Ueno <daiki.ueno@gmail.com>.
Peng Huang [Mon, 18 Apr 2011 15:18:27 +0000 (11:18 -0400)]
Use g_initable_new to create BusFactoryProxy.
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4446051
Peng Huang [Sat, 9 Apr 2011 03:29:23 +0000 (23:29 -0400)]
Revert "Change default values of some config."
This change was commited by mistake.
This reverts commit
ed4775b5fec355c1ccb13947d03dcac0aaaeb47f.
Peng Huang [Fri, 8 Apr 2011 13:45:18 +0000 (09:45 -0400)]
Fix problem in creating IBusPoxy in synchronous mode.
Peng Huang [Fri, 8 Apr 2011 13:49:20 +0000 (09:49 -0400)]
Refine RequestName code and fix make dpkg errors.
BUG=none
TEST=Linux Desktop
Review URL: http://codereview.appspot.com/4368056
Peng Huang [Fri, 8 Apr 2011 13:19:13 +0000 (09:19 -0400)]
Fix focus issue when reconnect to ibus-daemon
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4365049
Takao Fujiwara [Fri, 8 Apr 2011 13:18:23 +0000 (09:18 -0400)]
Implement APIs for another non-Python panel.
1. Support icon and prop_list = null in ibus_property_new with GIR.
2. Add getter methods in IBusText and IBusProperty since GJS cannot access
the members in C-Structure.
3. Add ibus_get_language_name() since GIR libxml2 does not provide the
useful APIs.
4. Implement flags in ibus_bus_request_name() to follow DBus
RequestName signal spec.
http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-names
This is needed to terminate the current IBus panel.
E.g. IBus GTK panel is launched by ibus-daemon but another panel is
launched by gnome-shell.
5. Support IBUS_BUS_NAME_FLAG_ALLOW_REPLACEMENT in ui/gtk/main.py
6. Fix bus_component_set_factory() not to call
bus_component_factory_destroy_cb() twice.
7. Hide ibus_text_new_from_static_string() for GIR.
8. Add ibus_is_running_gnome_shell() for ibus-ui-gtk because
gnome-shell runs earlier than ibus-ui-gtk.
Review URL: http://codereview.appspot.com/4279042
Patch from Takao Fujiwara <takao.fujiwara1@gmail.com>.
Daiki Ueno [Fri, 8 Apr 2011 01:11:39 +0000 (10:11 +0900)]
Export surrounding-text API to Python.
BUG=none
TEST=manually with modified ibus-anthy https://github.com/ueno/ibus-anthy/commit/
2303095f
Review URL: http://codereview.appspot.com/4377045
Peng Huang [Tue, 5 Apr 2011 14:27:32 +0000 (10:27 -0400)]
Fix make dpkg errors.
BUG=none
TEST=make dpkg
Review URL: http://codereview.appspot.com/4324047
Daiki Ueno [Tue, 5 Apr 2011 14:11:49 +0000 (10:11 -0400)]
Support surrounding-text retrieval.
Unlike the GtkIMContext API, IBus automatically retrieves
surrounding-text when certain events occurred to the
client ("before filter_keypress", for example). This makes the
engine API simpler but causes periodical emission of D-Bus
signals for updating surrounding-text information, which is
unwanted for typical engines.
For this reason, the surrounding-text support is currently
disabled by default. To enable it, pass
--enable-surrounding-text to configure. Also, even
surrounding-text support is compiled in, IBus does not start
polling until an engine requests surrounding-text using
ibus_engine_get_surrounding_text(). To make the function work
for the first time, clients should retrieve
initial surrounding-text when the engine is enabled (see ibus_im_context_focus_in() and
_ibus_context_enabled_cb() in client/gtk2/ibusimcontext.c).
BUG=Issue#778
TEST=manual
Review URL: http://codereview.appspot.com/4276082
Patch from Daiki Ueno <daiki.ueno@gmail.com>.
Peng Huang [Tue, 5 Apr 2011 14:08:34 +0000 (10:08 -0400)]
Fix a crash during creating IBusProxy asynchronously
BUG=chromium-os:13629
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4344061
fujiwarat [Mon, 4 Apr 2011 10:33:47 +0000 (19:33 +0900)]
Update translations.
Update ar.po as.po da.po es.po fr.po gu.po hi.po kn.po mr.po nl.po
or.po pa.po pl.po pt_BR.po ta.po te.po uk.po zh_CN.po zh_TW.po
and LINGUAS.
fujiwarat [Thu, 31 Mar 2011 03:56:45 +0000 (12:56 +0900)]
Use ibus panel icon from the desktop theme instead of ibus-keyboard.
James Su [Wed, 12 May 2010 22:38:42 +0000 (15:38 -0700)]
Change default values of some config.
This CL changes the default value of use_global_engine, enable_by_default and use_sys_layout to TRUE. And also removes the default trigger key.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2008016
Daiki Ueno [Tue, 29 Mar 2011 13:39:44 +0000 (09:39 -0400)]
Use gtk_status_icon_set_name() only if it is available.
gtk_status_icon_set_name() is not exported to python through pygtk2 <= 2.17,
which is the version from Debian sid and Fedora 14.
>>> import gtk
>>> gtk.pygtk_version
(2, 17, 0)
>>> hasattr(gtk.StatusIcon, 'set_name')
False
This patch checks the availability.
BUG=none
TEST=manual
Review URL: http://codereview.appspot.com/4327042
Patch from Daiki Ueno <daiki.ueno@gmail.com>.
fujiwarat [Fri, 25 Mar 2011 04:57:31 +0000 (13:57 +0900)]
Set WM_CLASS name instead of main.py
Daiki Ueno [Fri, 25 Mar 2011 15:16:18 +0000 (11:16 -0400)]
Add "in" keymap which maps Alt_R to AltGr.
BUG=none
TEST=manually with ibus-m17n
Review URL: http://codereview.appspot.com/4273109
Patch from Daiki Ueno <daiki.ueno@gmail.com>.
Peng Huang [Fri, 25 Mar 2011 15:07:38 +0000 (11:07 -0400)]
Verify global engine after changing preload_engines
BUG=http://crosbug.com/13406
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4273111
Peng Huang [Wed, 23 Mar 2011 13:44:20 +0000 (09:44 -0400)]
Fix make debian package errors.
BUG=none
TEST=make dpkg
Review URL: http://codereview.appspot.com/4279068
Peng Huang [Wed, 23 Mar 2011 13:44:06 +0000 (09:44 -0400)]
Fix typos in IBusInputContext document
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4273094
Peng Huang [Wed, 23 Mar 2011 13:43:43 +0000 (09:43 -0400)]
Use $(SED) to replace sed
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4280059
Yusuke Sato [Tue, 22 Mar 2011 13:36:52 +0000 (22:36 +0900)]
Link appropriate libraries to ibus-scan.
TEST=git clone the clean tree, ran ./autogen.sh --enable-gtk-doc, then ran make.
Review URL: http://codereview.appspot.com/4289060
Yusuke Sato [Tue, 22 Mar 2011 05:09:34 +0000 (14:09 +0900)]
Add asynchronous InputContext.IsEnabled and InputContext.GetEngine APIs.
* Added asynchronous InputContext.IsEnabled and InputContext.GetEngine APIs. Now
all InputContext IPCs can be async.
* Added comments to src/ibusinputcontext.h.
* Moved input context tests from ibus-bus.c to ibus-inputcontext.c (new file),
and fixed flaky tests.
* Fixed typos in bus/.
BUG=http://code.google.com/p/ibus/issues/detail?id=1215
TEST=ran the new test
Review URL: http://codereview.appspot.com/4298049
Peng Huang [Fri, 18 Mar 2011 13:24:18 +0000 (09:24 -0400)]
Create a separate test case for ibus_bus_create_input_context_async().
Create a separate test case for ibus_bus_create_input_context_async(),
so we can use `ibus-bus -p /ibus/create-input-context' to test and debug
ibus_bus_create_input_context_async() only.
BUG=none
TEST=make check
Review URL: http://codereview.appspot.com/4298045
Peng Huang [Thu, 17 Mar 2011 14:52:38 +0000 (10:52 -0400)]
Refine document and coding style in ibusbus.[ch] and trim some private structs and api from document
BUG=none
TEST=make
Review URL: http://codereview.appspot.com/4290053
Peng Huang [Thu, 17 Mar 2011 14:49:03 +0000 (10:49 -0400)]
Do not block UI in IBusIMContext anymore.
Replace some block IPC calls with async IPC calls, and then IBusIMContext will
not block UI anymore.
BUG=http://crosbug.com/12310
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4287054
Peng Huang [Wed, 16 Mar 2011 14:02:47 +0000 (10:02 -0400)]
Fix issue of InputContext.SetEngine.
InputContext.SetEngine returns error sometimes, because "request-engine"
signal handler calls an async function to set the engine of the context.
So checking context->engine != NULL just after emiting "request-engine"
signal is not correct.
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4287049
Peng Huang [Wed, 16 Mar 2011 14:01:18 +0000 (10:01 -0400)]
Add git.mk from gtk+ project, Use it to update .gitignore
BUG=none
TEST=make
Review URL: http://codereview.appspot.com/4280050
Peng Huang [Tue, 15 Mar 2011 17:32:55 +0000 (13:32 -0400)]
Update gtk-doc
BUG=
TEST=Linux documemt
Review URL: http://codereview.appspot.com/4277054
Zach Kuznia [Mon, 14 Mar 2011 06:42:32 +0000 (15:42 +0900)]
This can cause crashes on cleanup when multiple components are implemented in the same process.
Review URL: http://codereview.appspot.com/4241058
Patch from Zach Kuznia <zork@chromium.org>.
fujiwarat [Fri, 11 Mar 2011 06:53:53 +0000 (15:53 +0900)]
Fix preedit_string = NULL in ibus-x11 _free_ic()
Peng Huang [Fri, 11 Mar 2011 15:37:40 +0000 (10:37 -0500)]
Fix make check error
BUG=none
TEST=make check
Review URL: http://codereview.appspot.com/4250077
Yusuke Sato [Wed, 9 Mar 2011 23:44:38 +0000 (08:44 +0900)]
Update symbols file.
./autogen.sh
./configure --enable-gtk-doc
make dpkg
cp ppa/ibus-1.3.99.
20110309/debian/libibus-1.0-0/DEBIAN/symbols debian/libibus-1.0-0.symbols
vi debian/libibus-1.0-0.symbols # remove "-1phuang1~maverick1"
make dpkg # confirm that lintian does not report an error.
Review URL: http://codereview.appspot.com/4253068
Yusuke Sato [Wed, 15 Sep 2010 03:25:17 +0000 (12:25 +0900)]
Fix issues of the "previous_engine" hotkey.
Check global_previous_engine_name when the previous engine is requested and rewrite it if necessary.
This change ensures that the "previous_engine" hotkey (Ctrl+space on Chrome OS) always works
whenever two or more engines are preloaded.
Currently, Ctrl+space could become NOP by the following scenarios (http://crosbug.com/6609):
(1)
1. preload engines A, B, C.
2. switch to A.
3. switch to B.
4. at this point, ctrl+space works fine. It selectes A and B alternately.
5. switch to A.
6. remove B from the preloaded engline list.
7. at this point, ctrl+space suddenly becomes NOP although C is still preloaded.
This is because the callback function of ctrl+space detects
global_previous_engine_name (i.e. B) is removed and automatically selects A (not
C) as a global_previous_engine_name.
(2)
1. preload engines A, B.
2. switch to A.
3. switch to B.
4. at this point, ctrl+space works fine. It selectes A and B alternately.
5. switch to A.
6. remove B from the preloaded engline list.
7. press ctrl+space several times, confirm that nothing happens (this is
expected since only one engine, A, is preloaded).
8. preload additional engine, C.
9. at this point, ctrl+space is still NOP although two engines, A and C, are
preloaded.
James Su [Thu, 27 May 2010 05:31:06 +0000 (22:31 -0700)]
If the current engine is removed, then switch to another engine automatically.
BUG=http://crosbug.com/3577
TEST=manual test.
Review URL: http://codereview.chromium.org/2259004
Yusuke Sato [Tue, 8 Mar 2011 12:57:10 +0000 (21:57 +0900)]
Remove -Wall warnings.
Review URL: http://codereview.appspot.com/4261056
Yusuke Sato [Mon, 7 Mar 2011 15:55:36 +0000 (00:55 +0900)]
Add asynchronous APIs to ibusbus.h
Modified src/tests/ibus-bus.c so that it could be compiled with ibus-1.3.99 as well.
BUG=chromium-os:12581
TEST=added async api tests to the src/tests/ibus-bus.c and ran it locally.
Review URL: http://codereview.appspot.com/4179061
Peng Huang [Mon, 7 Mar 2011 15:26:04 +0000 (10:26 -0500)]
Move gtk_key_snooper_remove from function object_fini to class_fini.
BUG=http://crosbug.com/12803
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4267044
Peng Huang [Tue, 1 Mar 2011 20:34:37 +0000 (15:34 -0500)]
Optimize focus_in to avoid call some UI blocking functions.
focus_in calls some X blocking functions. It will block UI. This change delays the X blocking calls to idle callback, to avoid blocking UI.
BUG=http://crbug.com/74237
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4254048
Peng Huang [Mon, 28 Feb 2011 20:57:47 +0000 (15:57 -0500)]
Unify async and sync function names.
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4246042
Peng Huang [Mon, 28 Feb 2011 15:25:54 +0000 (10:25 -0500)]
Fix a race problem in SetGlobalEngine and add set_global_engine in python library
The race problem:
1. global engine == A
2. call SetGlobalEngine(B) asynchronously
3. call SetGlobalEngine(A) immediately
3.1 Because step 2 is not finished, so the global engine is still A,
and SetGlobalEngine(A) returns sucessfully.
4. SetGlobalEngine(B) is completed and the global engine becomes B
BUG=http://crosbug.com/12414
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4250041
fujiwarat [Fri, 18 Feb 2011 19:52:40 +0000 (04:52 +0900)]
Call gtk_key_snooper_remove when GTK IM client is switched.
Peng Huang [Fri, 18 Feb 2011 15:59:49 +0000 (10:59 -0500)]
Fix make dpkg errors.
BUG=none
TEST=make dpkg
Review URL: http://codereview.appspot.com/4184055
Peng Huang [Fri, 18 Feb 2011 15:59:06 +0000 (10:59 -0500)]
Add enable_conditional and disable_conditional in gconf schemas file
BUG=none
TEST=manual
Review URL: http://codereview.appspot.com/4183057
Peng Huang [Fri, 18 Feb 2011 15:58:27 +0000 (10:58 -0500)]
Fix crash when turn off "use global engine" option
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4170061
Peng Huang [Fri, 18 Feb 2011 14:08:41 +0000 (09:08 -0500)]
Destroy IBusInputContext correctly in ibus-x11
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4178062
fujiwarat [Thu, 17 Feb 2011 06:08:37 +0000 (15:08 +0900)]
s/LC_MESSAGES/LC_CTYPE/ in set_default_preload_engines.
Peng Huang [Wed, 16 Feb 2011 20:49:09 +0000 (15:49 -0500)]
Do not create GSimpleAsyncResult in ibus_input_context_process_key_event
This change also fixes memory leak of simple result object
BUG=none
TEST=Linux desktop
Review URL: http://codereview.appspot.com/4175051
Yusuke Sato [Wed, 16 Feb 2011 14:42:27 +0000 (23:42 +0900)]
Add async version of set_global_engine.
Patch from Zach Kuznia <zork@chromium.org>, modified by Yusuke Sato <yusukes@chromium.org>.
Review URL: http://codereview.appspot.com/4175047
Yusuke Sato [Wed, 16 Feb 2011 06:45:29 +0000 (15:45 +0900)]
Implement async version of ibus_config_set_value.
BUG=crosbug.com/11903
Review URL: http://codereview.appspot.com/4185041
Yusuke Sato [Tue, 15 Feb 2011 07:44:05 +0000 (16:44 +0900)]
Add engine_name parameter to the global-engine-changed signal.
This makes it possible for a client to know the current global engine w/o issuing GetGlobalEngine reqeust.
BUG=chromium-os:11908
Review URL: http://codereview.appspot.com/4177045
Yusuke Sato [Tue, 15 Feb 2011 01:27:03 +0000 (10:27 +0900)]
Use LC_MESSAGES instead of LC_ALL in bus_ibus_impl_set_default_preload_engines.
This is a fix for https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/716314. Calling setlocale(LC_ALL, NULL); in the function seems not to be a good idea since the function could return a complex string like "LC_CTYPE=ja_JP.UTF-8;LC_NUMERIC=C;LC..." when two or more values are used for LC_xxx variables (e.g. ja_JP.UTF-8 and C.)
BUG=1204
Review URL: http://codereview.appspot.com/4160046
Yusuke Sato [Tue, 15 Feb 2011 01:24:20 +0000 (10:24 +0900)]
Never use ibus's US keymap in bus_input_context_filter_key, and use the keyval from X as-is.
I think this is important for supporting non-US keyboards like a Japanese-106 keyboard correctly.
Currently, when use_sys_layout config is unchecked (the default), ibus-daemon discards a keyval being passed from X, and regenerates a keyval from a keycode assuming the US layout.
However, I believe this behavior is not good for non-US keyboard layout users (e.g. Japanese or Korean keyboard users.) For example, the Japanese 106 keyboard has a key called Zenkaku_Hankaku (全角_半角, whose keycode is 49) on the left hand of the '1' key, and most users want to use the key for toggling IME. But, even if a user set 'Zenkaku_Hankaku' as the toggle hotkey using ibus-setup, the user cannot toggle IME unless the 'Use system keyboard layout' option is explicitly turned on. This is because when use_sys_layout is unchecked, ibus-daemon treats the Zenkaku_Hankaku key press (keycode=49) as tilde (~) key press (remember that the tilde's keycode is also 49 in the US keyboard layout.) This is very inconvenient and confusing.
Please also note that the hotkey configuration tool in ibus-setup always respects a keyval from X, and never checks the use_sys_layout value.
Review URL: http://codereview.appspot.com/4173046
Yusuke Sato [Tue, 15 Feb 2011 01:22:48 +0000 (10:22 +0900)]
Always call g_simple_async_result_complete in ibus_input_context_process_key_event_done in order to handle IPC errors correctly.
Review URL: http://codereview.appspot.com/4171049