[Fedora-i18n-bugs] [ibus-hangul/f15] Update to 1.4.0-5.

Daiki Ueno ueno at fedoraproject.org
Thu Mar 29 08:42:53 UTC 2012


commit 3498b60ef224626af96c5b7c258f8aed598b9ffe
Author: Daiki Ueno <ueno at unixuser.org>
Date:   Thu Mar 29 17:42:45 2012 +0900

    Update to 1.4.0-5.

 ibus-hangul-add-hangul-hotkey.patch |   12 ++
 ibus-hangul-setup-gi.patch          |  228 +++++++++++++++++++++++++++++++++++
 ibus-hangul.spec                    |   25 +++--
 3 files changed, 256 insertions(+), 9 deletions(-)
---
diff --git a/ibus-hangul-add-hangul-hotkey.patch b/ibus-hangul-add-hangul-hotkey.patch
new file mode 100644
index 0000000..57934d4
--- /dev/null
+++ b/ibus-hangul-add-hangul-hotkey.patch
@@ -0,0 +1,12 @@
+Index: ibus-hangul-1.4.0/src/hangul.xml.in.in
+===================================================================
+--- ibus-hangul-1.4.0.orig/src/hangul.xml.in.in
++++ ibus-hangul-1.4.0/src/hangul.xml.in.in
+@@ -22,6 +22,7 @@
+ 			<description>Korean Input Method</description>
+ 			<rank>99</rank>
+ 			<symbol>&#xD55C;</symbol>
++			<hotkeys>Control+space,Hangul</hotkeys>
+ 		</engine>
+ 	</engines>
+ 
diff --git a/ibus-hangul-setup-gi.patch b/ibus-hangul-setup-gi.patch
new file mode 100644
index 0000000..d753847
--- /dev/null
+++ b/ibus-hangul-setup-gi.patch
@@ -0,0 +1,228 @@
+From 010540d2a05fee1f8f4971db5ffa5885981aba29 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <ueno at unixuser.org>
+Date: Wed, 25 Jan 2012 11:46:33 +0900
+Subject: [PATCH] ibus-setup-hangul: use gobject-introspection instead ibus
+ python library.
+
+---
+ setup/keycapturedialog.py |   20 +++++++-------
+ setup/main.py             |   65 +++++++++++++++++++++++++--------------------
+ 2 files changed, 46 insertions(+), 39 deletions(-)
+
+Index: ibus-hangul-1.4.0/setup/keycapturedialog.py
+===================================================================
+--- ibus-hangul-1.4.0.orig/setup/keycapturedialog.py
++++ ibus-hangul-1.4.0/setup/keycapturedialog.py
+@@ -1,5 +1,5 @@
+-import gtk
+-import gtk.gdk as gdk
++from gi.repository import Gtk
++from gi.repository import Gdk
+ import gettext
+ 
+ _ = lambda a : gettext.dgettext("ibus-hangul", a)
+@@ -7,10 +7,10 @@ _ = lambda a : gettext.dgettext("ibus-ha
+ class KeyCaptureDialog ():
+     def __init__ (self, title, parent):
+ 	self.__key_str = ''
+-	self.__dialog = gtk.MessageDialog(parent,
+-			gtk.DIALOG_MODAL,
+-			gtk.MESSAGE_INFO,
+-			gtk.BUTTONS_OK_CANCEL,
++	self.__dialog = Gtk.MessageDialog(parent,
++			Gtk.DialogFlags.MODAL,
++			Gtk.MessageType.INFO,
++			Gtk.ButtonsType.OK_CANCEL,
+ 			"")
+ 	self.__dialog.set_markup(_("Press any key which you want to use as hanja key. "
+                 "The key you pressed is displayed below.\n"
+@@ -30,13 +30,13 @@ class KeyCaptureDialog ():
+ 
+     def on_keypress(self, widget, event, data = None):
+ 	self.__key_str = ""
+-	if event.state & gdk.CONTROL_MASK :
++	if event.state & Gdk.ModifierType.CONTROL_MASK :
+ 	    self.__key_str += "Control+"
+-	if event.state & gdk.MOD1_MASK :
++	if event.state & Gdk.ModifierType.MOD1_MASK :
+ 	    self.__key_str += "Alt+"
+-	if event.state & gdk.SHIFT_MASK :
++	if event.state & Gdk.ModifierType.SHIFT_MASK :
+ 	    self.__key_str += "Shift+"
+ 
+-	self.__key_str += gdk.keyval_name(event.keyval)
++	self.__key_str += Gdk.keyval_name(event.keyval)
+ 	    
+ 	self.__dialog.format_secondary_markup('<span size="large" weight="bold">%s</span>' % self.__key_str)
+Index: ibus-hangul-1.4.0/setup/main.py
+===================================================================
+--- ibus-hangul-1.4.0.orig/setup/main.py
++++ ibus-hangul-1.4.0/setup/main.py
+@@ -20,9 +20,9 @@
+ 
+ import sys
+ import os
+-import gobject
+-import gtk
+-import ibus
++from gi.repository import GLib
++from gi.repository import Gtk
++from gi.repository import IBus
+ import locale
+ import gettext
+ import config
+@@ -38,7 +38,7 @@ class Setup ():
+ 	self.__config.connect("value-changed", self.on_value_changed, None)
+ 
+ 	ui_file = os.path.join(os.path.dirname(__file__), "setup.ui")
+-	self.__builder = gtk.Builder()
++	self.__builder = Gtk.Builder()
+ 	self.__builder.set_translation_domain(config.gettext_package)
+ 	self.__builder.add_from_file(ui_file)
+ 
+@@ -47,7 +47,7 @@ class Setup ():
+ 	list = pipe.communicate()[0].split('\n')
+ 	
+ 	self.__hangul_keyboard = self.__builder.get_object("HangulKeyboard")
+-	model = gtk.ListStore(str, str, int)
++	model = Gtk.ListStore(str, str, int)
+ 	i = 0
+ 	for line in list:
+ 	    items = line.split('\t')
+@@ -56,11 +56,12 @@ class Setup ():
+ 		i+=1
+ 
+ 	self.__hangul_keyboard.set_model(model)
+-	renderer = gtk.CellRendererText()
+-	self.__hangul_keyboard.pack_start(renderer)
++	renderer = Gtk.CellRendererText()
++	self.__hangul_keyboard.pack_start(renderer, True)
+ 	self.__hangul_keyboard.add_attribute(renderer, "text", 0)
+ 
+-	current = self.__read("HangulKeyboard", "2")
++	default = GLib.Variant.new_string("2")
++	current = self.__read("HangulKeyboard", default).get_string()
+ 	for i in model:
+ 	    if i[1] == current:
+ 		self.__hangul_keyboard.set_active(i[2])
+@@ -68,11 +69,13 @@ class Setup ():
+ 
+ 	self.__word_commit = self.__builder.get_object("WordCommit")
+ 
+-	word_commit = self.__read("WordCommit", False)
++	default = GLib.Variant.new_boolean(False)
++	word_commit = self.__read("WordCommit", default).get_boolean()
+         self.__word_commit.set_active(word_commit)
+ 
+ 	self.__auto_reorder = self.__builder.get_object("AutoReorder")
+-	auto_reorder = self.__read("AutoReorder", True)
++	default = GLib.Variant.new_boolean(True)
++	auto_reorder = self.__read("AutoReorder", default).get_boolean()
+         self.__auto_reorder.set_active(auto_reorder)
+ 
+ 	# hanja tab
+@@ -82,19 +85,20 @@ class Setup ():
+ 	button = self.__builder.get_object("HanjaKeyListRemoveButton")
+ 	button.connect("clicked", self.on_hanja_key_remove, None)
+ 
+-	model = gtk.ListStore(str)
++	model = Gtk.ListStore(str)
+ 
+-	keylist_str = self.__read("HanjaKeys", "Hangul_Hanja,F9")
++	default = GLib.Variant.new_string("Hangul_Hanja,F9")
++	keylist_str = self.__read("HanjaKeys", default).get_string()
+ 	self.__hanja_key_list_str = keylist_str.split(',')
+ 	for i in self.__hanja_key_list_str:
+ 	    model.append([i])
+ 
+ 	self.__hanja_key_list = self.__builder.get_object("HanjaKeyList")
+ 	self.__hanja_key_list.set_model(model)
+-	column = gtk.TreeViewColumn()
++	column = Gtk.TreeViewColumn()
+ 	column.set_title("key")
+-	renderer = gtk.CellRendererText()
+-	column.pack_start(renderer)
++	renderer = Gtk.CellRendererText()
++	column.pack_start(renderer, True)
+ 	column.add_attribute(renderer, "text", 0)
+ 	self.__hanja_key_list.append_column(column)
+ 
+@@ -115,17 +119,17 @@ class Setup ():
+ 
+     def run(self):
+ 	res = self.__window.run()
+-	if (res == gtk.RESPONSE_OK):
++	if (res == Gtk.ResponseType.OK):
+ 	    self.on_ok()
+ 	self.__window.destroy()
+ 
+     def apply(self):
+ 	model = self.__hangul_keyboard.get_model()
+ 	i = self.__hangul_keyboard.get_active()
+-	self.__write("HangulKeyboard", model[i][1])
++	self.__write("HangulKeyboard", GLib.Variant.new_string(model[i][1]))
+ 
+         word_commit = self.__word_commit.get_active()
+-        self.__write("WordCommit", word_commit)
++        self.__write("WordCommit", GLib.Variant.new_boolean(word_commit))
+ 
+ 	model = self.__hanja_key_list.get_model()
+ 	str = ""
+@@ -137,13 +141,13 @@ class Setup ():
+ 	    else:
+ 		str += model.get_value(iter, 0)
+ 	    iter = model.iter_next(iter)
+-	self.__write("HanjaKeys", str)
++	self.__write("HanjaKeys", GLib.Variant.new_string(str))
+ 
+     def on_response(self, widget, id, data = None):
+-	if id == gtk.RESPONSE_APPLY:
++	if id == Gtk.ResponseType.APPLY:
+ 	    self.apply()
+ 	    widget.emit_stop_by_name("response")
+-	if id == gtk.RESPONSE_NONE:
++	if id == Gtk.ResponseType.NONE:
+ 	    widget.emit_stop_by_name("response")
+ 
+     def on_ok(self):
+@@ -152,7 +156,7 @@ class Setup ():
+     def on_hanja_key_add(self, widget, data = None):
+ 	dialog = KeyCaptureDialog(_("Select Hanja key"), self.__window)
+ 	res = dialog.run()
+-	if res == gtk.RESPONSE_OK:
++	if res == Gtk.ResponseType.OK:
+ 	    key_str = dialog.get_key_string()
+ 	    if len(key_str) > 0:
+ 		model = self.__hanja_key_list.get_model()
+@@ -185,7 +189,10 @@ class Setup ():
+ 		self.__hanja_key_list_str = value.split(',')
+ 
+     def __read(self, name, v):
+-        return self.__config.get_value("engine/Hangul", name, v)
++        value = self.__config.get_value("engine/Hangul", name)
++        if value is None:
++            return v
++        return value
+ 
+     def __write(self, name, v):
+         return self.__config.set_value("engine/Hangul", name, v)
+@@ -194,13 +201,13 @@ if __name__ == "__main__":
+     locale.bindtextdomain(config.gettext_package, config.localedir)
+     locale.bind_textdomain_codeset(config.gettext_package, "UTF-8")
+ 
+-    try:
+-        bus = ibus.Bus()
+-    except:
++    bus = IBus.Bus()
++    if bus.is_connected():
++        Setup(bus).run()
++    else:
+         message = _("IBus daemon is not started")
+-        dialog = gtk.MessageDialog(type = gtk.MESSAGE_ERROR,
+-                                   buttons = gtk.BUTTONS_CLOSE,
++        dialog = Gtk.MessageDialog(type = Gtk.MessageType.ERROR,
++                                   buttons = Gtk.ButtonsType.CLOSE,
+                                    message_format = message)
+         dialog.run()
+         sys.exit(1)
+-    Setup(bus).run()
diff --git a/ibus-hangul.spec b/ibus-hangul.spec
index edd7c3c..91ced3a 100644
--- a/ibus-hangul.spec
+++ b/ibus-hangul.spec
@@ -6,13 +6,9 @@
 %define have_bridge_hotkey 0
 %endif
 
-%if %have_bridge_hotkey
-%global _with_hotkeys --with-hotkeys
-%endif
-
 Name:       ibus-hangul
 Version:    1.4.0
-Release:    4%{?dist}
+Release:    5%{?dist}
 Summary:    The Hangul engine for IBus input platform
 License:    GPLv2+
 Group:      System Environment/Libraries
@@ -22,6 +18,10 @@ Source0:    http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
 Source1:    ibus-setup-hangul.png
 Source2:    ibus-setup-hangul.svg
 Patch0:     ibus-hangul-HEAD.patch
+Patch1:	    ibus-hangul-setup-gi.patch
+%if %have_bridge_hotkey
+Patch2:	    ibus-hangul-add-hangul-hotkey.patch
+%endif
 
 BuildRequires:  gettext-devel
 BuildRequires:  intltool
@@ -29,10 +29,6 @@ BuildRequires:  libtool
 BuildRequires:  libhangul-devel >= %{require_libhangul_version}
 BuildRequires:  pkgconfig
 BuildRequires:  ibus-devel >= %{require_ibus_version}
-
-%if %have_bridge_hotkey
-BuildRequires:  ibus
-%endif
 BuildRequires:  desktop-file-utils
 
 Requires:   ibus >= %{require_ibus_version}
@@ -47,6 +43,12 @@ libhangul.
 cp %SOURCE1 %SOURCE2 setup
 sed -i 's!^[-+][-+][-+] .*\.svg$!#\0!' %PATCH0
 %patch0 -p1 -b .HEAD
+%patch1 -p1 -b .setup-gi
+
+%if %have_bridge_hotkey
+%patch2 -p1 -b .add-hangul-hotkey
+%endif
+
 
 %build
 autoreconf
@@ -85,6 +87,11 @@ fi
 %{_datadir}/icons/hicolor/*/apps/*
 
 %changelog
+* Tue Mar  6 2012 Daiki Ueno <dueno at redhat.com> - 1.4.0-5
+- Revive <hotkey> in hangul.xml.
+- Remove unnecessary BR: ibus.
+- Port ibus-setup-hangul to use gobject-introspection.
+
 * Mon Mar  5 2012 Daiki Ueno <dueno at redhat.com> - 1.4.0-4
 - Package the latest git master.
 - Fix bug 799776 - [abrt] ibus-hangul-1.4.0-3.fc17


More information about the i18n-bugs mailing list