Update to 1.4.1-7.

This commit is contained in:
Daiki Ueno 2012-11-15 11:35:35 +09:00
parent 2005b28f70
commit 4fb46dc8f6
5 changed files with 437 additions and 278 deletions

424
ibus-hangul-HEAD.patch Normal file
View File

@ -0,0 +1,424 @@
diff --git a/setup/ibus-setup-hangul.desktop.in b/setup/ibus-setup-hangul.desktop.in
index a956593..882abbc 100644
--- a/setup/ibus-setup-hangul.desktop.in
+++ b/setup/ibus-setup-hangul.desktop.in
@@ -4,6 +4,7 @@ _Name=IBus Hangul Preferences
_Comment=Set IBus Hangul Preferences
Exec=ibus-setup-hangul
Icon=ibus-setup-hangul
+NoDisplay=true
Terminal=false
Type=Application
StartupNotify=true
diff --git a/setup/keycapturedialog.py b/setup/keycapturedialog.py
index a6c9cff..a431221 100644
--- a/setup/keycapturedialog.py
+++ b/setup/keycapturedialog.py
@@ -1,42 +1,42 @@
-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)
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.set_markup(_("Press any key which you want to use as hanja key. "
+ self.__key_str = ''
+ 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"
"If you want to use it, click \"Ok\" or click \"Cancel\""))
- self.__dialog.format_secondary_markup(" ")
- self.__dialog.connect("key-press-event", self.on_keypress, None)
+ self.__dialog.format_secondary_markup(" ")
+ self.__dialog.connect("key-press-event", self.on_keypress, None)
def destroy(self):
- self.__dialog.destroy()
+ self.__dialog.destroy()
def run(self):
- return self.__dialog.run()
+ return self.__dialog.run()
def get_key_string(self):
- return self.__key_str
+ return self.__key_str
def on_keypress(self, widget, event, data = None):
- self.__key_str = ""
- if event.state & gdk.CONTROL_MASK :
- self.__key_str += "Control+"
- if event.state & gdk.MOD1_MASK :
- self.__key_str += "Alt+"
- if event.state & gdk.SHIFT_MASK :
- self.__key_str += "Shift+"
-
- self.__key_str += gdk.keyval_name(event.keyval)
-
- self.__dialog.format_secondary_markup('<span size="large" weight="bold">%s</span>' % self.__key_str)
+ self.__key_str = ""
+ if event.state & Gdk.ModifierType.CONTROL_MASK :
+ self.__key_str += "Control+"
+ if event.state & Gdk.ModifierType.MOD1_MASK :
+ self.__key_str += "Alt+"
+ if event.state & Gdk.ModifierType.SHIFT_MASK :
+ self.__key_str += "Shift+"
+
+ self.__key_str += Gdk.keyval_name(event.keyval)
+
+ self.__dialog.format_secondary_markup('<span size="large" weight="bold">%s</span>' % self.__key_str)
diff --git a/setup/main.py b/setup/main.py
index 28a66a9..ce33db7 100644
--- a/setup/main.py
+++ b/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
@@ -35,157 +35,166 @@ class Setup ():
def __init__ (self, bus):
self.__bus = bus
self.__config = self.__bus.get_config()
- 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.set_translation_domain(config.gettext_package)
- self.__builder.add_from_file(ui_file)
-
- # Hangul tab
- pipe = subprocess.Popen([config.setuplibdir + '/hangul_keyboard_list'], stdout = subprocess.PIPE)
- list = pipe.communicate()[0].split('\n')
-
- self.__hangul_keyboard = self.__builder.get_object("HangulKeyboard")
- model = gtk.ListStore(str, str, int)
- i = 0
- for line in list:
- items = line.split('\t')
- if len(items) > 1:
- model.append([items[1], items[0], i])
- i+=1
-
- self.__hangul_keyboard.set_model(model)
- renderer = gtk.CellRendererText()
- self.__hangul_keyboard.pack_start(renderer)
- self.__hangul_keyboard.add_attribute(renderer, "text", 0)
-
- current = self.__read("HangulKeyboard", "2")
- for i in model:
- if i[1] == current:
- self.__hangul_keyboard.set_active(i[2])
- break
-
- self.__word_commit = self.__builder.get_object("WordCommit")
-
- word_commit = self.__read("WordCommit", False)
+ 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.set_translation_domain(config.gettext_package)
+ self.__builder.add_from_file(ui_file)
+
+ # Hangul tab
+ pipe = subprocess.Popen([config.setuplibdir + '/hangul_keyboard_list'], stdout = subprocess.PIPE)
+ list = pipe.communicate()[0].split('\n')
+
+ self.__hangul_keyboard = self.__builder.get_object("HangulKeyboard")
+ model = Gtk.ListStore(str, str, int)
+ i = 0
+ for line in list:
+ items = line.split('\t')
+ if len(items) > 1:
+ model.append([items[1], items[0], i])
+ i+=1
+
+ self.__hangul_keyboard.set_model(model)
+ renderer = Gtk.CellRendererText()
+ self.__hangul_keyboard.pack_start(renderer, True)
+ self.__hangul_keyboard.add_attribute(renderer, "text", 0)
+
+ 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])
+ break
+
+ self.__word_commit = self.__builder.get_object("WordCommit")
+
+ 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)
+ self.__auto_reorder = self.__builder.get_object("AutoReorder")
+ default = GLib.Variant.new_boolean(True)
+ auto_reorder = self.__read("AutoReorder", default).get_boolean()
self.__auto_reorder.set_active(auto_reorder)
- # hanja tab
- button = self.__builder.get_object("HanjaKeyListAddButton")
- button.connect("clicked", self.on_hanja_key_add, None)
+ # hanja tab
+ button = self.__builder.get_object("HanjaKeyListAddButton")
+ button.connect("clicked", self.on_hanja_key_add, None)
- button = self.__builder.get_object("HanjaKeyListRemoveButton")
- button.connect("clicked", self.on_hanja_key_remove, None)
+ 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")
- self.__hanja_key_list_str = keylist_str.split(',')
- for i in self.__hanja_key_list_str:
- model.append([i])
+ 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.set_title("key")
- renderer = gtk.CellRendererText()
- column.pack_start(renderer)
- column.add_attribute(renderer, "text", 0)
- self.__hanja_key_list.append_column(column)
+ self.__hanja_key_list = self.__builder.get_object("HanjaKeyList")
+ self.__hanja_key_list.set_model(model)
+ column = Gtk.TreeViewColumn()
+ column.set_title("key")
+ renderer = Gtk.CellRendererText()
+ column.pack_start(renderer, True)
+ column.add_attribute(renderer, "text", 0)
+ self.__hanja_key_list.append_column(column)
+ # advanced tab
+ notebook = self.__builder.get_object("SetupNotebook")
+ notebook.remove_page(2)
- # advanced tab
- notebook = self.__builder.get_object("SetupNotebook")
- notebook.remove_page(2)
+ # setup dialog
+ self.__window = self.__builder.get_object("SetupDialog")
+ icon_file = os.path.join(config.pkgdatadir, "icons", "ibus-hangul.svg")
+ self.__window.set_icon_from_file(icon_file)
+ self.__window.connect("response", self.on_response, None)
+ self.__window.show()
- # setup dialog
- self.__window = self.__builder.get_object("SetupDialog")
- icon_file = os.path.join(config.pkgdatadir, "icons", "ibus-hangul.svg")
- self.__window.set_icon_from_file(icon_file)
- self.__window.connect("response", self.on_response, None)
- self.__window.show()
-
- ok_button = self.__builder.get_object("button_cancel")
- ok_button.grab_focus()
+ ok_button = self.__builder.get_object("button_cancel")
+ ok_button.grab_focus()
def run(self):
- res = self.__window.run()
- if (res == gtk.RESPONSE_OK):
- self.on_ok()
- self.__window.destroy()
+ res = self.__window.run()
+ 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])
+ model = self.__hangul_keyboard.get_model()
+ i = self.__hangul_keyboard.get_active()
+ self.__write("HangulKeyboard", GLib.Variant.new_string(model[i][1]))
word_commit = self.__word_commit.get_active()
- self.__write("WordCommit", word_commit)
-
- model = self.__hanja_key_list.get_model()
- str = ""
- iter = model.get_iter_first()
- while iter:
- if len(str) > 0:
- str += ","
- str += model.get_value(iter, 0)
- else:
- str += model.get_value(iter, 0)
- iter = model.iter_next(iter)
- self.__write("HanjaKeys", str)
+ self.__write("WordCommit", GLib.Variant.new_boolean(word_commit))
+
+ auto_reorder = self.__auto_reorder.get_active()
+ self.__write("AutoReorder", GLib.Variant.new_boolean(auto_reorder))
+
+ model = self.__hanja_key_list.get_model()
+ str = ""
+ iter = model.get_iter_first()
+ while iter:
+ if len(str) > 0:
+ str += ","
+ str += model.get_value(iter, 0)
+ else:
+ str += model.get_value(iter, 0)
+ iter = model.iter_next(iter)
+ self.__write("HanjaKeys", GLib.Variant.new_string(str))
def on_response(self, widget, id, data = None):
- if id == gtk.RESPONSE_APPLY:
- self.apply()
- widget.emit_stop_by_name("response")
- if id == gtk.RESPONSE_NONE:
- widget.emit_stop_by_name("response")
+ if id == Gtk.ResponseType.APPLY:
+ self.apply()
+ widget.emit_stop_by_name("response")
+ if id == Gtk.ResponseType.NONE:
+ widget.emit_stop_by_name("response")
def on_ok(self):
- self.apply()
+ self.apply()
def on_hanja_key_add(self, widget, data = None):
- dialog = KeyCaptureDialog(_("Select Hanja key"), self.__window)
- res = dialog.run()
- if res == gtk.RESPONSE_OK:
- key_str = dialog.get_key_string()
- if len(key_str) > 0:
- model = self.__hanja_key_list.get_model()
- iter = model.get_iter_first()
- while iter:
- str = model.get_value(iter, 0)
- if str == key_str:
- model.remove(iter)
- break
- iter = model.iter_next(iter)
-
- model.append([key_str])
- dialog.destroy()
+ dialog = KeyCaptureDialog(_("Select Hanja key"), self.__window)
+ res = dialog.run()
+ if res == Gtk.ResponseType.OK:
+ key_str = dialog.get_key_string()
+ if len(key_str) > 0:
+ model = self.__hanja_key_list.get_model()
+ iter = model.get_iter_first()
+ while iter:
+ str = model.get_value(iter, 0)
+ if str == key_str:
+ model.remove(iter)
+ break
+ iter = model.iter_next(iter)
+
+ model.append([key_str])
+ dialog.destroy()
def on_hanja_key_remove(self, widget, data = None):
- selection = self.__hanja_key_list.get_selection()
- (model, iter) = selection.get_selected()
- if model and iter:
- model.remove(iter)
+ selection = self.__hanja_key_list.get_selection()
+ (model, iter) = selection.get_selected()
+ if model and iter:
+ model.remove(iter)
def on_value_changed(self, config, section, name, value, data):
- if section == "engine/Hangul":
- if name == "HangulKeyboard":
- model = self.__hangul_keyboard.get_model()
- for i in model:
- if i[1] == value:
- self.__hangul_keyboard.set_active(i[2])
- break
- elif name == "HanjaKeys":
- self.__hanja_key_list_str = value.split(',')
+ if section == "engine/Hangul":
+ if name == "HangulKeyboard":
+ model = self.__hangul_keyboard.get_model()
+ for i in model:
+ if i[1] == value:
+ self.__hangul_keyboard.set_active(i[2])
+ break
+ elif name == "HanjaKeys":
+ 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,14 +203,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 running.\nHangul engine settings cannot be saved.")
- 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/src/hangul.xml.in.in b/src/hangul.xml.in.in
index c175437..71f9043 100644
--- a/src/hangul.xml.in.in
+++ b/src/hangul.xml.in.in
@@ -18,7 +18,7 @@
<author>Peng Huang &lt;shawn.p.huang@gmail.com&gt;</author>
<icon>ibus-hangul</icon>
<layout>us</layout>
- <longname>Korean</longname>
+ <longname>Hangul</longname>
<description>Korean Input Method</description>
<rank>99</rank>
<symbol>&#xD55C;</symbol>

View File

@ -1,12 +0,0 @@
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>

View File

@ -1,23 +0,0 @@
From f1b2a97b428d8432604ec782505516b9ea1fe565 Mon Sep 17 00:00:00 2001
From: Choe Hwanjin <choe.hwanjin@gmail.com>
Date: Mon, 22 Oct 2012 01:39:51 +0900
Subject: [PATCH] Rename this engine to "Hangul"
"Hangul" means this engine is using libhangul.
---
src/hangul.xml.in.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: ibus-hangul-1.4.1/src/hangul.xml.in.in
===================================================================
--- ibus-hangul-1.4.1.orig/src/hangul.xml.in.in
+++ ibus-hangul-1.4.1/src/hangul.xml.in.in
@@ -18,7 +18,7 @@
<author>Peng Huang &lt;shawn.p.huang@gmail.com&gt;</author>
<icon>ibus-hangul</icon>
<layout>us</layout>
- <longname>Korean</longname>
+ <longname>Hangul</longname>
<description>Korean Input Method</description>
<rank>99</rank>
<symbol>&#xD55C;</symbol>

View File

@ -1,232 +0,0 @@
From 010540d2a05fee1f8f4971db5ffa5885981aba29 Mon Sep 17 00:00:00 2001
From: Daiki Ueno <ueno@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.1/setup/keycapturedialog.py
===================================================================
--- ibus-hangul-1.4.1.orig/setup/keycapturedialog.py
+++ ibus-hangul-1.4.1/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.1/setup/main.py
===================================================================
--- ibus-hangul-1.4.1.orig/setup/main.py
+++ ibus-hangul-1.4.1/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,20 @@ 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))
+
+ auto_reorder = self.__auto_reorder.get_active()
+ self.__write("AutoReorder", GLib.Variant.new_boolean(auto_reorder))
model = self.__hanja_key_list.get_model()
str = ""
@@ -137,13 +144,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 +159,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 +192,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,14 +204,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 running.\nHangul engine settings cannot be saved.")
- 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()

View File

@ -1,9 +1,10 @@
%global require_ibus_version 1.3.99
%global require_libhangul_version 0.1.0
%if 0%{?fedora} > 15 || 0%{?rhel} > 6
%define have_bridge_hotkey 1
%else
# bridge hotkey local feature was enabled in ibus for F-15 and F-16
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
%define have_bridge_hotkey 0
%else
%define have_bridge_hotkey 1
%endif
# ibus pulls pygobject3 since F-17
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
@ -14,18 +15,18 @@
Name: ibus-hangul
Version: 1.4.1
Release: 6%{?dist}
Release: 7%{?dist}
Summary: The Hangul engine for IBus input 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-hangul-HEAD.patch
Patch1: ibus-hangul-setup-gi.patch
# upstreamed patches
Patch0: ibus-hangul-HEAD.patch
# not upstreamed patches
%if %have_bridge_hotkey
Patch2: ibus-hangul-add-hangul-hotkey.patch
%endif
Patch3: ibus-hangul-engine-name.patch
BuildRequires: gettext-devel
BuildRequires: intltool
@ -47,15 +48,12 @@ libhangul.
%prep
%setup -q
#patch0 -p1 -b .HEAD
%patch1 -p1 -b .setup-gi
%patch0 -p1 -b .HEAD
%if %have_bridge_hotkey
%patch2 -p1 -b .add-hangul-hotkey
%endif
%patch3 -p1 -b .engine-name
%build
autoreconf
%configure --disable-static %{?_with_hotkeys}
@ -93,6 +91,10 @@ fi
%{_datadir}/icons/hicolor/*/apps/*
%changelog
* Thu Nov 15 2012 Daiki Ueno <dueno@redhat.com> - 1.4.1-7
- Re-add ibus-hangul-HEAD.patch based on recent upstream change
- Apply ibus-hangul-add-hangul-hotkey.patch only for F-15 and F-16
* Wed Oct 31 2012 Daiki Ueno <dueno@redhat.com> - 1.4.1-6
- Add ibus-hangul-engine-name.patch
- Update ibus-hangul-setup-gi.patch