forked from pool/ibus-sunpinyin
Accepting request 928648 from M17N
- Update version to 3.0.0-RC2(2.0.99.2) * Port to Python3. Drop ibus-sunpinyin-migrate-to-python3.patch and ibus-sunpinyin-scons-on-py3.patch * drop deprecated "use-stock" property * use GtkScale instead of deprecated GtkHScale * update using glade 3.38 (forwarded request 928647 from hillwood) OBS-URL: https://build.opensuse.org/request/show/928648 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ibus-sunpinyin?expand=0&rev=2
This commit is contained in:
commit
7185f8ea89
@ -1,574 +0,0 @@
|
|||||||
diff -Nur sunpinyin/wrapper/ibus/debian/changelog sunpinyin-new/wrapper/ibus/debian/changelog
|
|
||||||
--- sunpinyin/wrapper/ibus/debian/changelog 1970-01-01 08:00:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/debian/changelog 2020-03-03 20:33:45.210426000 +0800
|
|
||||||
@@ -0,0 +1,5 @@
|
|
||||||
+ibus-sunpinyin (2.0.2~git20100607) unstable; urgency=low
|
|
||||||
+
|
|
||||||
+ * first debian package
|
|
||||||
+
|
|
||||||
+ -- Mike Qin <mikeandmore@gmail.com> Mon, 23 May 2010 11:20:00 +0800
|
|
||||||
diff -Nur sunpinyin/wrapper/ibus/debian/control.in sunpinyin-new/wrapper/ibus/debian/control.in
|
|
||||||
--- sunpinyin/wrapper/ibus/debian/control.in 1970-01-01 08:00:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/debian/control.in 2020-03-03 20:33:45.210426000 +0800
|
|
||||||
@@ -0,0 +1,15 @@
|
|
||||||
+Source: ibus-sunpinyin
|
|
||||||
+Section: util
|
|
||||||
+Priority: optional
|
|
||||||
+Maintainer: Mike Qin <mikeandmore@gmail.com>
|
|
||||||
+Build-Depends: @cdbs@, pkg-config, libgtk2.0-dev (>=2.12.0),
|
|
||||||
+ libsqlite3-dev (>=3.6), libsunpinyin3-dev, libibus-dev (>=1.2.0)
|
|
||||||
+Standards-Version: 3.8.4
|
|
||||||
+Homepage: http://code.google.com/p/sunpinyin/
|
|
||||||
+
|
|
||||||
+Package: ibus-sunpinyin
|
|
||||||
+Architecture: any
|
|
||||||
+Section: util
|
|
||||||
+Priority: optional
|
|
||||||
+Depends: libsunpinyin3, ${shlibs:Depends}, ${misc:Depends}
|
|
||||||
+Homepage: http://code.google.com/p/sunpinyin/
|
|
||||||
diff -Nur sunpinyin/wrapper/ibus/debian/rules sunpinyin-new/wrapper/ibus/debian/rules
|
|
||||||
--- sunpinyin/wrapper/ibus/debian/rules 1970-01-01 08:00:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/debian/rules 2020-03-03 20:33:45.210426000 +0800
|
|
||||||
@@ -0,0 +1,10 @@
|
|
||||||
+#!/usr/bin/make -f
|
|
||||||
+# -*- mode: makefile; indent-tabs-mode: t -*- vim:noet:ts=4
|
|
||||||
+
|
|
||||||
+include /usr/share/cdbs/1/class/scons.mk
|
|
||||||
+include /usr/share/cdbs/1/rules/debhelper.mk
|
|
||||||
+
|
|
||||||
+DEB_SCONS_BUILD_OPTIONS := --prefix=/usr
|
|
||||||
+DEB_SCONS_INSTALL_OPTIONS := $(DEB_SCONS_BUILD_OPTIONS) \
|
|
||||||
+ --install-sandbox=$(DEB_DESTDIR)
|
|
||||||
+
|
|
||||||
diff -Nur sunpinyin/wrapper/ibus/.gitignore sunpinyin-new/wrapper/ibus/.gitignore
|
|
||||||
--- sunpinyin/wrapper/ibus/.gitignore 1970-01-01 08:00:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/.gitignore 2020-03-03 20:33:45.210426000 +0800
|
|
||||||
@@ -0,0 +1,3 @@
|
|
||||||
+cmakebuild/
|
|
||||||
+setup/ibus-setup-sunpinyin
|
|
||||||
+
|
|
||||||
diff -Nur sunpinyin/wrapper/ibus/po/.gitignore sunpinyin-new/wrapper/ibus/po/.gitignore
|
|
||||||
--- sunpinyin/wrapper/ibus/po/.gitignore 1970-01-01 08:00:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/po/.gitignore 2020-03-03 20:33:45.210426000 +0800
|
|
||||||
@@ -0,0 +1,4 @@
|
|
||||||
+POTFILES
|
|
||||||
+stamp-it
|
|
||||||
+Makefile.in.in
|
|
||||||
+
|
|
||||||
diff -Nur sunpinyin/wrapper/ibus/setup/ibus-setup-sunpinyin.in sunpinyin-new/wrapper/ibus/setup/ibus-setup-sunpinyin.in
|
|
||||||
--- sunpinyin/wrapper/ibus/setup/ibus-setup-sunpinyin.in 2016-05-08 21:57:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/setup/ibus-setup-sunpinyin.in 2020-03-03 21:08:09.694916205 +0800
|
|
||||||
@@ -4,4 +4,4 @@
|
|
||||||
exec_prefix=${prefix}
|
|
||||||
export IBUS_PREFIX=${prefix}
|
|
||||||
export IBUS_LOCALEDIR=${prefix}/share/locale
|
|
||||||
-exec python @DATA_DIR@/setup/main.py $@
|
|
||||||
+exec python3 @DATA_DIR@/setup/main.py $@
|
|
||||||
diff -Nur sunpinyin/wrapper/ibus/setup/main.py sunpinyin-new/wrapper/ibus/setup/main.py
|
|
||||||
--- sunpinyin/wrapper/ibus/setup/main.py 2016-05-08 21:57:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/setup/main.py 2020-03-03 21:07:39.739075161 +0800
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
+#!/usr/bin/python3
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
-#
|
|
||||||
+#
|
|
||||||
# Copyright (c) 2009 Leo Zheng <zym361@gmail.com>, Kov Chai <tchaikov@gmail.com>
|
|
||||||
# *
|
|
||||||
# The contents of this file are subject to the terms of either the GNU Lesser
|
|
||||||
@@ -7,12 +8,12 @@
|
|
||||||
# Distribution License ("CDDL")(collectively, the "License"). You may not use this
|
|
||||||
# file except in compliance with the License. You can obtain a copy of the CDDL at
|
|
||||||
# http://www.opensource.org/licenses/cddl1.php and a copy of the LGPLv2.1 at
|
|
||||||
-# http://www.opensource.org/licenses/lgpl-license.php. See the License for the
|
|
||||||
+# http://www.opensource.org/licenses/lgpl-license.php. See the License for the
|
|
||||||
# specific language governing permissions and limitations under the License. When
|
|
||||||
# distributing the software, include this License Header Notice in each file and
|
|
||||||
# include the full text of the License in the License file as well as the
|
|
||||||
# following notice:
|
|
||||||
-#
|
|
||||||
+#
|
|
||||||
# NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
|
|
||||||
# (CDDL)
|
|
||||||
# For Covered Software in this distribution, this License shall be governed by the
|
|
||||||
@@ -20,9 +21,9 @@
|
|
||||||
# Any litigation relating to this License shall be subject to the jurisdiction of
|
|
||||||
# the Federal Courts of the Northern District of California and the state courts
|
|
||||||
# of the State of California, with venue lying in Santa Clara County, California.
|
|
||||||
-#
|
|
||||||
+#
|
|
||||||
# Contributor(s):
|
|
||||||
-#
|
|
||||||
+#
|
|
||||||
# If you wish your version of this file to be governed by only the CDDL or only
|
|
||||||
# the LGPL Version 2.1, indicate your decision by adding "[Contributor]" elects to
|
|
||||||
# include this software in this distribution under the [CDDL or LGPL Version 2.1]
|
|
||||||
@@ -31,14 +32,26 @@
|
|
||||||
# Version 2.1, or to extend the choice of license to its licensees as provided
|
|
||||||
# above. However, if you add LGPL Version 2.1 code and therefore, elected the LGPL
|
|
||||||
# Version 2 license, then the option applies only if the new code is made subject
|
|
||||||
-# to such option by the copyright holder.
|
|
||||||
+# to such option by the copyright holder.
|
|
||||||
#
|
|
||||||
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
from os import path
|
|
||||||
-import gtk
|
|
||||||
-import ibus
|
|
||||||
+try:
|
|
||||||
+ import gtk
|
|
||||||
+ import glib
|
|
||||||
+except ImportError:
|
|
||||||
+ from gi import require_version as gi_require_version
|
|
||||||
+ gi_require_version('Gtk', '3.0')
|
|
||||||
+ from gi.repository import Gtk as gtk
|
|
||||||
+ from gi.repository import GLib as glib
|
|
||||||
+try:
|
|
||||||
+ import ibus
|
|
||||||
+except ImportError:
|
|
||||||
+ from gi import require_version as gi_require_version
|
|
||||||
+ gi_require_version('IBus', '1.0')
|
|
||||||
+ from gi.repository import IBus as ibus
|
|
||||||
import gettext
|
|
||||||
import locale
|
|
||||||
|
|
||||||
@@ -52,27 +65,35 @@
|
|
||||||
@staticmethod
|
|
||||||
def pr(message):
|
|
||||||
print >> sys.stderr, message
|
|
||||||
-
|
|
||||||
+
|
|
||||||
+
|
|
||||||
class Option(object):
|
|
||||||
"""Option serves as an interface of ibus.config
|
|
||||||
|
|
||||||
it is used to synchronize the configuration with setting on user interface
|
|
||||||
"""
|
|
||||||
config = ibus.Bus().get_config()
|
|
||||||
-
|
|
||||||
+ __wrappers = {
|
|
||||||
+ type(True): glib.Variant.new_boolean,
|
|
||||||
+ type(1): glib.Variant.new_int32,
|
|
||||||
+ type('str'): glib.Variant.new_string,
|
|
||||||
+ type([]): glib.Variant.new_strv,
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
def __init__(self, name, default):
|
|
||||||
self.name = name
|
|
||||||
self.default = default
|
|
||||||
-
|
|
||||||
+ self.__wrap = self.__wrappers[type(self.default)]
|
|
||||||
+
|
|
||||||
def read(self):
|
|
||||||
section, key = self.__get_config_name()
|
|
||||||
- return self.config.get_value(section, key, self.default)
|
|
||||||
+ wrapped = self.config.get_value(section, key)
|
|
||||||
+ return self.default if wrapped is None else wrapped.unpack()
|
|
||||||
|
|
||||||
def write(self, v):
|
|
||||||
section, key = self.__get_config_name()
|
|
||||||
- return self.config.set_value(section, key, type(self.default)(v))
|
|
||||||
+ return self.config.set_value(section, key, self.__wrap(v))
|
|
||||||
|
|
||||||
-
|
|
||||||
def __get_config_name(self):
|
|
||||||
keys = self.name.rsplit(SEPARATOR ,1)
|
|
||||||
if len(keys) == 2:
|
|
||||||
@@ -96,7 +117,7 @@
|
|
||||||
|
|
||||||
def init(self):
|
|
||||||
pass
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def read_config(self):
|
|
||||||
"""update user inferface with ibus.config
|
|
||||||
"""
|
|
||||||
@@ -106,13 +127,13 @@
|
|
||||||
def write_config(self):
|
|
||||||
v = self.save_ui_setting()
|
|
||||||
self.write(v)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def save_ui_setting(self):
|
|
||||||
"""save user interface settings into self.v
|
|
||||||
"""
|
|
||||||
self.v = self.__get_value()
|
|
||||||
return self.v
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def is_changed(self):
|
|
||||||
return self.v != self.__get_value()
|
|
||||||
|
|
||||||
@@ -127,7 +148,7 @@
|
|
||||||
self.widget.set_value(v)
|
|
||||||
except:
|
|
||||||
self.widget.set_active(v)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
class CheckBoxOption(TrivalOption):
|
|
||||||
def __init__(self, name, default, owner):
|
|
||||||
super(CheckBoxOption, self).__init__(name, default, owner)
|
|
||||||
@@ -140,7 +161,7 @@
|
|
||||||
default = options.index(default)
|
|
||||||
super(ComboBoxOption, self).__init__(name, default, owner)
|
|
||||||
self.options = options
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def init(self):
|
|
||||||
model = gtk.ListStore(str)
|
|
||||||
for v in self.options:
|
|
||||||
@@ -156,7 +177,7 @@
|
|
||||||
except ValueError:
|
|
||||||
# otherwise save its index
|
|
||||||
return active
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def __set_value(self, v):
|
|
||||||
try:
|
|
||||||
# if the options are just numbers, we treat 'self.v' as the literal
|
|
||||||
@@ -166,7 +187,7 @@
|
|
||||||
except ValueError:
|
|
||||||
active = v
|
|
||||||
self.widget.set_active(active)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
class RadioOption(Option):
|
|
||||||
"""option represented using multiple Raidio buttons
|
|
||||||
"""
|
|
||||||
@@ -177,7 +198,7 @@
|
|
||||||
|
|
||||||
def init_ui(self):
|
|
||||||
self.read_config()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def read_config(self):
|
|
||||||
self.v = self.read()
|
|
||||||
name = SEPARATOR.join([self.name, self.v])
|
|
||||||
@@ -200,7 +221,7 @@
|
|
||||||
def __init__(self, name, mapping):
|
|
||||||
self.name = name
|
|
||||||
self.mapping = mapping
|
|
||||||
-
|
|
||||||
+
|
|
||||||
class MappingOption(object):
|
|
||||||
"""an option which presents some sort of mapping, e.g. fuzzy pinyin mapping
|
|
||||||
|
|
||||||
@@ -211,7 +232,7 @@
|
|
||||||
self.name = name
|
|
||||||
self.widget = owner.get_object(name)
|
|
||||||
self.mappings = mappings
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def get_mappings(self):
|
|
||||||
if self.widget.get_active():
|
|
||||||
return [':'.join(self.mappings)]
|
|
||||||
@@ -223,18 +244,18 @@
|
|
||||||
|
|
||||||
def get_active(self):
|
|
||||||
return self.widget.get_active()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
is_enabled = property(get_active, set_active)
|
|
||||||
|
|
||||||
def key(self):
|
|
||||||
return self.mappings[0]
|
|
||||||
-
|
|
||||||
+
|
|
||||||
class MultiMappingOption(Option):
|
|
||||||
def __init__(self, name, options, default=[]):
|
|
||||||
Option.__init__(self, name, default)
|
|
||||||
self.options = options
|
|
||||||
self.saved_pairs = default
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def read_config(self):
|
|
||||||
if not self.saved_pairs:
|
|
||||||
self.saved_pairs = self.read()
|
|
||||||
@@ -242,24 +263,24 @@
|
|
||||||
for opt in self.options:
|
|
||||||
opt.is_enabled = (opt.key() in keys)
|
|
||||||
# throw away unknown pair
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def write_config(self):
|
|
||||||
# ignore empty settings
|
|
||||||
if self.saved_pairs:
|
|
||||||
self.write(self.saved_pairs)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def save_ui_setting(self):
|
|
||||||
self.saved_pairs = sum([opt.get_mappings() for opt in self.options
|
|
||||||
if opt.is_enabled], [])
|
|
||||||
return self.saved_pairs
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def set_active_all(self, enabled):
|
|
||||||
for opt in self.options:
|
|
||||||
opt.is_enabled = enabled
|
|
||||||
-
|
|
||||||
+
|
|
||||||
class MultiCheckDialog (object):
|
|
||||||
""" a modal dialog box with 'choose all' and 'choose none' button
|
|
||||||
-
|
|
||||||
+
|
|
||||||
TODO: another option is to use radio button
|
|
||||||
"""
|
|
||||||
def __init__ (self, ui_name, config_name, mappings, option_klass=MappingOption):
|
|
||||||
@@ -269,25 +290,26 @@
|
|
||||||
self.option_klass = option_klass
|
|
||||||
self.saved_settings = []
|
|
||||||
self.mapping_options = None
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def get_setup_name(self):
|
|
||||||
"""assuming the name of dialog looks like 'dlg_fuzzy_setup'
|
|
||||||
"""
|
|
||||||
return '_'.join(['dlg', self.ui_name, 'setup'])
|
|
||||||
-
|
|
||||||
- def __init_ui(self):
|
|
||||||
+
|
|
||||||
+ def __init_ui(self, parent_window):
|
|
||||||
dlg_name = self.get_setup_name()
|
|
||||||
self.__xml = gtk.Builder()
|
|
||||||
self.__xml.add_objects_from_file(XML_FILE, [dlg_name])
|
|
||||||
self.__dlg = self.__xml.get_object(dlg_name)
|
|
||||||
assert self.__dlg is not None, "dialog %s not found in %s" % (dlg_name, XML_FILE)
|
|
||||||
+ self.__dlg.set_transient_for(parent_window)
|
|
||||||
handlers = {'_'.join(["on", self.ui_name, "select_all_clicked"]) : self.on_button_check_all_clicked,
|
|
||||||
'_'.join(["on", self.ui_name, "unselect_all_clicked"]) : self.on_button_uncheck_all_clicked,
|
|
||||||
'_'.join(["on", self.ui_name, "ok_clicked"]) : self.on_button_ok_clicked,
|
|
||||||
'_'.join(["on", self.ui_name, "cancel_clicked"]) : self.on_button_cancel_clicked}
|
|
||||||
self.__xml.connect_signals(handlers)
|
|
||||||
|
|
||||||
- options = [self.option_klass(m.name, m.mapping, self.__xml)
|
|
||||||
+ options = [self.option_klass(m.name, m.mapping, self.__xml)
|
|
||||||
for m in self.mappings]
|
|
||||||
self.mapping_options = MultiMappingOption(self.config_name, options, self.saved_settings)
|
|
||||||
|
|
||||||
@@ -298,15 +320,15 @@
|
|
||||||
pass
|
|
||||||
|
|
||||||
init_ui = read_config = dummy
|
|
||||||
-
|
|
||||||
- def run(self):
|
|
||||||
- self.__init_ui()
|
|
||||||
+
|
|
||||||
+ def run(self, parent_window):
|
|
||||||
+ self.__init_ui(parent_window)
|
|
||||||
self.__read_config()
|
|
||||||
self.__dlg.run()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def __read_config(self):
|
|
||||||
self.mapping_options.read_config()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def __save_ui_settings(self):
|
|
||||||
"""save to in-memory storage, will flush to config if not canceled in main_window
|
|
||||||
"""
|
|
||||||
@@ -315,20 +337,20 @@
|
|
||||||
def write_config(self):
|
|
||||||
if self.mapping_options is not None:
|
|
||||||
self.mapping_options.write_config()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def on_button_check_all_clicked(self, button):
|
|
||||||
self.mapping_options.set_active_all(True)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def on_button_uncheck_all_clicked(self, button):
|
|
||||||
self.mapping_options.set_active_all(False)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def on_button_ok_clicked(self, button):
|
|
||||||
"""update given options with settings in UI, these settings will be
|
|
||||||
written to config if user push 'OK' or 'Apply' in the main window
|
|
||||||
"""
|
|
||||||
self.__save_ui_settings()
|
|
||||||
self.__dlg.destroy()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def on_button_cancel_clicked(self, button):
|
|
||||||
self.__dlg.destroy()
|
|
||||||
|
|
||||||
@@ -353,7 +375,7 @@
|
|
||||||
ui_name = 'fuzzy',
|
|
||||||
config_name = 'QuanPin/Fuzzy/Pinyins',
|
|
||||||
mappings = mappings)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
class CorrectionSetupDialog (MultiCheckDialog):
|
|
||||||
def __init__(self):
|
|
||||||
mappings = [MappingInfo('QuanPin/AutoCorrection/GnNg', ('gn','ng')),
|
|
||||||
@@ -374,7 +396,7 @@
|
|
||||||
self.init_keys_values(mappings)
|
|
||||||
else:
|
|
||||||
self.widget.set_sensitive(False)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def init_keys_values(self, mappings):
|
|
||||||
self.keys = [m[0] for m in mappings]
|
|
||||||
values_with_closing = [v or k for k, v in mappings]
|
|
||||||
@@ -412,7 +434,7 @@
|
|
||||||
self.widget.set_active(enabled)
|
|
||||||
|
|
||||||
is_enabled = property(MappingOption.get_active, set_active)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def key(self):
|
|
||||||
for k, v in self.mappings:
|
|
||||||
if v is not None:
|
|
||||||
@@ -460,13 +482,13 @@
|
|
||||||
def __init__ (self):
|
|
||||||
self.__bus = ibus.Bus()
|
|
||||||
self.__config = self.__bus.get_config()
|
|
||||||
-
|
|
||||||
-
|
|
||||||
+
|
|
||||||
+
|
|
||||||
def run(self):
|
|
||||||
self.__init_ui("main_window")
|
|
||||||
self.__read_config()
|
|
||||||
gtk.main()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def __init_ui(self, name):
|
|
||||||
self.__init_gettext()
|
|
||||||
xml_file = path.join(path.dirname(__file__), XML_FILE)
|
|
||||||
@@ -488,19 +510,19 @@
|
|
||||||
self.__fuzzy_setup = FuzzySetupDialog()
|
|
||||||
self.__correction_setup = CorrectionSetupDialog()
|
|
||||||
self.__punctmapping_setup = PunctMappingSetupDialog()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
self.__options = [
|
|
||||||
TrivalOption("General/MemoryPower", 3, self.__xml),
|
|
||||||
TrivalOption("General/PageSize", 10, self.__xml),
|
|
||||||
TrivalOption("General/MaxBest", 1, self.__xml),
|
|
||||||
TrivalOption("General/MaxTailCandidate", 0, self.__xml),
|
|
||||||
-
|
|
||||||
+
|
|
||||||
RadioOption("General/InitialStatus/Mode", 'Chinese', ['Chinese', 'English'], self.__xml),
|
|
||||||
RadioOption("General/InitialStatus/Punct", 'Full', ['Full', 'Half'], self.__xml),
|
|
||||||
RadioOption("General/InitialStatus/Letter", 'Half', ['Full', 'Half'], self.__xml),
|
|
||||||
RadioOption("General/Charset", 'GBK', ['GB2312', 'GBK', 'GB18030'], self.__xml),
|
|
||||||
CheckBoxOption("General/PunctMapping/Enabled", False, self.__xml),
|
|
||||||
-
|
|
||||||
+
|
|
||||||
RadioOption("Keyboard/ModeSwitch", 'Shift', ['Shift', 'Control'], self.__xml),
|
|
||||||
RadioOption("Keyboard/PunctSwitch", 'None', ['ControlComma',
|
|
||||||
'ControlPeriod',
|
|
||||||
@@ -510,7 +532,7 @@
|
|
||||||
CheckBoxOption("Keyboard/Page/CommaPeriod", False, self.__xml),
|
|
||||||
CheckBoxOption("Keyboard/CancelBackspace", True, self.__xml),
|
|
||||||
CheckBoxOption("Keyboard/SmartPunct", True, self.__xml),
|
|
||||||
-
|
|
||||||
+
|
|
||||||
RadioOption("Pinyin/Scheme", 'QuanPin', ['QuanPin', 'ShuangPin'], self.__xml),
|
|
||||||
ComboBoxOption("Pinyin/ShuangPinType", 'MS2003', ['MS2003',
|
|
||||||
'ABC',
|
|
||||||
@@ -522,7 +544,7 @@
|
|
||||||
CheckBoxOption("QuanPin/AutoCorrection/Enabled", False, self.__xml),
|
|
||||||
CheckBoxOption("QuanPin/FuzzySegs/Enabled", False, self.__xml),
|
|
||||||
CheckBoxOption("QuanPin/InnerFuzzy/Enabled", False, self.__xml),
|
|
||||||
-
|
|
||||||
+
|
|
||||||
self.__fuzzy_setup,
|
|
||||||
self.__correction_setup,
|
|
||||||
self.__punctmapping_setup,
|
|
||||||
@@ -534,7 +556,7 @@
|
|
||||||
return opt
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def __read_config(self):
|
|
||||||
for opt in self.__options:
|
|
||||||
opt.init_ui()
|
|
||||||
@@ -543,7 +565,7 @@
|
|
||||||
self.on_chk_correction_enabled_toggled(None)
|
|
||||||
self.on_chk_punctmapping_enabled_toggled(None)
|
|
||||||
self.on_radio_shuangpin_toggled(None)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def __write_config(self):
|
|
||||||
for opt in self.__options:
|
|
||||||
opt.write_config()
|
|
||||||
@@ -563,14 +585,14 @@
|
|
||||||
enabled = radio.get_active()
|
|
||||||
combo = self.__xml.get_object("Pinyin/ShuangPinType")
|
|
||||||
combo.set_sensitive(enabled)
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def on_chk_fuzzy_enabled_toggled(self, button):
|
|
||||||
self.__update_enabling_button("QuanPin/Fuzzy/Enabled",
|
|
||||||
"button_fuzzy_setup")
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def on_button_fuzzy_setup_clicked(self, button):
|
|
||||||
- self.__fuzzy_setup.run()
|
|
||||||
-
|
|
||||||
+ self.__fuzzy_setup.run(self.window)
|
|
||||||
+
|
|
||||||
def on_chk_correction_enabled_toggled(self, button):
|
|
||||||
self.__update_enabling_button("QuanPin/AutoCorrection/Enabled",
|
|
||||||
"button_correction_setup")
|
|
||||||
@@ -580,19 +602,19 @@
|
|
||||||
"QuanPin/InnerFuzzy/Enabled")
|
|
||||||
|
|
||||||
def on_button_correction_setup_clicked(self, button):
|
|
||||||
- self.__correction_setup.run()
|
|
||||||
-
|
|
||||||
+ self.__correction_setup.run(self.window)
|
|
||||||
+
|
|
||||||
def on_chk_punctmapping_enabled_toggled(self, button):
|
|
||||||
self.__update_enabling_button("General/PunctMapping/Enabled",
|
|
||||||
"button_punctmapping_setup")
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def on_button_punctmapping_setup_clicked(self, button):
|
|
||||||
- self.__punctmapping_setup.run()
|
|
||||||
-
|
|
||||||
+ self.__punctmapping_setup.run(self.window)
|
|
||||||
+
|
|
||||||
def on_main_ok_clicked(self, button):
|
|
||||||
self.__write_config()
|
|
||||||
self.__quit()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
def on_main_apply_clicked(self, button):
|
|
||||||
self.__write_config()
|
|
||||||
|
|
||||||
@@ -601,7 +623,7 @@
|
|
||||||
|
|
||||||
def __quit(self):
|
|
||||||
gtk.main_quit()
|
|
||||||
-
|
|
||||||
+
|
|
||||||
if __name__ == "__main__":
|
|
||||||
MainWindow().run()
|
|
||||||
|
|
||||||
diff -Nur sunpinyin/wrapper/ibus/setup/setup.xml sunpinyin-new/wrapper/ibus/setup/setup.xml
|
|
||||||
--- sunpinyin/wrapper/ibus/setup/setup.xml 2016-05-08 21:57:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/setup/setup.xml 2020-03-03 20:33:45.210426000 +0800
|
|
||||||
@@ -50,7 +50,7 @@
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
<property name="use_action_appearance">False</property>
|
|
||||||
- <signal name="clicked" handler="on_correction_uncheck_all_clicked" swapped="no"/>
|
|
||||||
+ <signal name="clicked" handler="on_correction_unselect_all_clicked" swapped="no"/>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
diff -Nur sunpinyin/wrapper/ibus/src/sunpinyin_engine.cpp sunpinyin-new/wrapper/ibus/src/sunpinyin_engine.cpp
|
|
||||||
--- sunpinyin/wrapper/ibus/src/sunpinyin_engine.cpp 2016-05-08 21:57:00.000000000 +0800
|
|
||||||
+++ sunpinyin-new/wrapper/ibus/src/sunpinyin_engine.cpp 2020-03-03 20:33:45.210426000 +0800
|
|
||||||
@@ -131,7 +131,7 @@
|
|
||||||
|
|
||||||
if (getenv("DISABLE_HARD_FORWARD") == NULL) {
|
|
||||||
// Ctrl+<space> is pressed. let's just hard code these.
|
|
||||||
- // it looks rediculous, but on what else do you need to do this hack?
|
|
||||||
+ // it looks ridiculous, but on what else do you need to do this hack?
|
|
||||||
if (key.code == 0x20 && key.modifiers == IM_CTRL_MASK) {
|
|
||||||
m_hard_forward = !m_hard_forward;
|
|
||||||
return TRUE;
|
|
@ -1,65 +0,0 @@
|
|||||||
Index: sunpinyin-3.0.0-rc1/SConstruct
|
|
||||||
===================================================================
|
|
||||||
--- sunpinyin-3.0.0-rc1.orig/SConstruct
|
|
||||||
+++ sunpinyin-3.0.0-rc1/SConstruct
|
|
||||||
@@ -1,6 +1,7 @@
|
|
||||||
import platform
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
+import functools
|
|
||||||
|
|
||||||
|
|
||||||
version = "2.0.4"
|
|
||||||
@@ -227,7 +228,7 @@ def CreateEnvironment():
|
|
||||||
def PassVariables(envvar, env):
|
|
||||||
for (x, y) in envvar:
|
|
||||||
if x in os.environ:
|
|
||||||
- print 'Warning: you\'ve set %s in the environmental variable!' % x
|
|
||||||
+ print ('Warning: you\'ve set %s in the environmental variable!' % x)
|
|
||||||
env[y] = os.environ[x]
|
|
||||||
|
|
||||||
env = CreateEnvironment()
|
|
||||||
@@ -427,7 +428,7 @@ env.Substfile('sunpinyin-2.0.pc.in', SUB
|
|
||||||
'@PREFIX@': env['PREFIX'],
|
|
||||||
'@LIBDIR@': env['LIBDIR'],
|
|
||||||
'@VERSION@': version,
|
|
||||||
- '@CFLAGS@': reduce(lambda a, b: a + ' ' + b,
|
|
||||||
+ '@CFLAGS@': functools.reduce(lambda a, b: a + ' ' + b,
|
|
||||||
map(lambda x: '-I$${includedir}' + x[3:],
|
|
||||||
allinc())),
|
|
||||||
})
|
|
||||||
Index: sunpinyin-3.0.0-rc1/src/SConscript
|
|
||||||
===================================================================
|
|
||||||
--- sunpinyin-3.0.0-rc1.orig/src/SConscript
|
|
||||||
+++ sunpinyin-3.0.0-rc1/src/SConscript
|
|
||||||
@@ -53,7 +53,7 @@ env.Substfile('sunpinyin-dictgen.mk.in',
|
|
||||||
})
|
|
||||||
env.Command('sunpinyin-dictgen', 'sunpinyin-dictgen.mk', [
|
|
||||||
Copy("$TARGET", "$SOURCE"),
|
|
||||||
- Chmod("$TARGET", 0755),
|
|
||||||
+ Chmod("$TARGET", 0o755),
|
|
||||||
])
|
|
||||||
|
|
||||||
# -*- indent-tabs-mode: nil -*- vim:et:ts=4
|
|
||||||
Index: sunpinyin-3.0.0-rc1/wrapper/ibus/SConstruct
|
|
||||||
===================================================================
|
|
||||||
--- sunpinyin-3.0.0-rc1.orig/wrapper/ibus/SConstruct
|
|
||||||
+++ sunpinyin-3.0.0-rc1/wrapper/ibus/SConstruct
|
|
||||||
@@ -36,7 +36,7 @@ opts.Add('DATADIR', default='/usr/local/
|
|
||||||
def PassVariables(envvar, env):
|
|
||||||
for (x, y) in envvar:
|
|
||||||
if x in os.environ:
|
|
||||||
- print 'Warning: you\'ve set %s in the environmental variable!' % x
|
|
||||||
+ print ('Warning: you\'ve set %s in the environmental variable!' % x)
|
|
||||||
env[y] = os.environ[x]
|
|
||||||
|
|
||||||
env = Environment(ENV=os.environ,
|
|
||||||
@@ -141,7 +141,7 @@ def DoInstall():
|
|
||||||
libexec_target = env.Install(bin_dir, ['ibus-engine-sunpinyin',
|
|
||||||
'setup/ibus-setup-sunpinyin'])
|
|
||||||
for exec_bin in libexec_target:
|
|
||||||
- env.AddPostAction(exec_bin, Chmod(str(exec_bin), 0755))
|
|
||||||
+ env.AddPostAction(exec_bin, Chmod(str(exec_bin), 0o755))
|
|
||||||
|
|
||||||
setup_target = env.Install(data_dir + '/setup',
|
|
||||||
['setup/setup.xml',
|
|
@ -1,3 +1,13 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 1 14:40:25 UTC 2021 - Hillwood Yang <hillwood@opensuse.org>
|
||||||
|
|
||||||
|
- Update version to 3.0.0-RC2(2.0.99.2)
|
||||||
|
* Port to Python3. Drop ibus-sunpinyin-migrate-to-python3.patch
|
||||||
|
and ibus-sunpinyin-scons-on-py3.patch
|
||||||
|
* drop deprecated "use-stock" property
|
||||||
|
* use GtkScale instead of deprecated GtkHScale
|
||||||
|
* update using glade 3.38
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Mar 6 08:20:31 UTC 2020 - Hillwood Yang <hillwood@opensuse.org>
|
Fri Mar 6 08:20:31 UTC 2020 - Hillwood Yang <hillwood@opensuse.org>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package ibus-sunpinyin
|
# spec file for package ibus-sunpinyin
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,19 +17,15 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: ibus-sunpinyin
|
Name: ibus-sunpinyin
|
||||||
Version: 2.0.99
|
Version: 2.0.99.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Sunpinyin module for ibus
|
Summary: Sunpinyin module for ibus
|
||||||
License: LGPL-2.1-only OR CDDL-1.0
|
License: CDDL-1.0 OR LGPL-2.1-only
|
||||||
Group: System/I18n/Chinese
|
Group: System/I18n/Chinese
|
||||||
Url: https://github.com/sunpinyin/sunpinyin
|
URL: https://github.com/sunpinyin/sunpinyin
|
||||||
Source: https://github.com/sunpinyin/sunpinyin/archive/v3.0.0-rc1/sunpinyin-3.0.0-rc1.tar.gz
|
Source: https://github.com/sunpinyin/sunpinyin/archive/v3.0.0-rc2/sunpinyin-3.0.0-rc2.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM ibus-sunpinyin-scons-on-py3.patch dimstar@opensuse.org -- Fix build with scons using python3 as interpreter
|
|
||||||
Patch0: ibus-sunpinyin-scons-on-py3.patch
|
|
||||||
# PATCH-FIX-UPSTREAM ibus-sunpinyin-migrate-to-python3.patch hillwood@opensuse.org -- Use python3, python2 is EOF
|
|
||||||
Patch1: ibus-sunpinyin-migrate-to-python3.patch
|
|
||||||
# PATCH-FIX-UPSTREAM ibus-sunpinyin-fix-libexecdir.patch hillwood@opensuse.org -- libexecdir should be in %{_libdir}/ibus/
|
# PATCH-FIX-UPSTREAM ibus-sunpinyin-fix-libexecdir.patch hillwood@opensuse.org -- libexecdir should be in %{_libdir}/ibus/
|
||||||
Patch2: ibus-sunpinyin-fix-libexecdir.patch
|
Patch0: ibus-sunpinyin-fix-libexecdir.patch
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: intltool
|
BuildRequires: intltool
|
||||||
BuildRequires: scons >= 1.2.0
|
BuildRequires: scons >= 1.2.0
|
||||||
@ -46,10 +42,7 @@ ibus-sunpinyin is a wrapper around SunPinyin which enables user to use
|
|||||||
SunPinyin with IBus framework.
|
SunPinyin with IBus framework.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n sunpinyin-3.0.0-rc1
|
%autosetup -p1 -n sunpinyin-3.0.0-rc2
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
sed -i "s/LIBEXECDIR'\].*ibus-sunpinyin.*/LIBEXECDIR'\]/" SConstruct
|
sed -i "s/LIBEXECDIR'\].*ibus-sunpinyin.*/LIBEXECDIR'\]/" SConstruct
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:692455b645803bfc6c2e53151bb9ccbae1a4b813a18d87607d19d14ae9354780
|
|
||||||
size 547138
|
|
3
sunpinyin-3.0.0-rc2.tar.gz
Normal file
3
sunpinyin-3.0.0-rc2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6722bd41e58b0a42bf41b7c1cb7707e6adfce810ab35597f938c5df8aa5a0af0
|
||||||
|
size 547653
|
Loading…
x
Reference in New Issue
Block a user