diff -Nru fcitx-chewing-0.1.3/.gitignore fcitx-chewing-0.2.1/.gitignore --- fcitx-chewing-0.1.3/.gitignore 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/.gitignore 2013-06-03 18:02:38.000000000 +0000 @@ -1,7 +1,13 @@ -build/* +*~ +build*/ +.* +!.git* +.git/ +*.tar.* *.kdev4 -.kdev_include_paths -.directory *.kate-swp *.orig -*~ +tags +astyle.sh +cscope.* +*.part diff -Nru fcitx-chewing-0.1.3/CMakeLists.txt fcitx-chewing-0.2.1/CMakeLists.txt --- fcitx-chewing-0.1.3/CMakeLists.txt 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/CMakeLists.txt 2013-06-03 18:02:38.000000000 +0000 @@ -1,21 +1,13 @@ -cmake_minimum_required (VERSION 2.6) +cmake_minimum_required(VERSION 2.6) project(fcitx-chewing) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) FIND_PACKAGE(Chewing REQUIRED) -FIND_PACKAGE(Gettext REQUIRED) -FIND_PACKAGE(Fcitx REQUIRED) +FIND_PACKAGE(Fcitx 4.2.7 REQUIRED) -# uninstall target -configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" - IMMEDIATE @ONLY) - -add_custom_target(uninstall - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) +_fcitx_add_uninstall_target() set(CMAKE_C_FLAGS "-Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -fvisibility=hidden ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -fvisibility=hidden ${CMAKE_CXX_FLAGS}") @@ -23,16 +15,16 @@ set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--as-needed ${CMAKE_MODULE_LINKER_FLAGS}") if(NOT DEFINED LIB_INSTALL_DIR) - set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib) + set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib) endif() configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" - "${CMAKE_CURRENT_BINARY_DIR}/config.h" - ) + "${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" + "${CMAKE_CURRENT_BINARY_DIR}/config.h" + ) set(libdir ${LIB_INSTALL_DIR}) +add_subdirectory(po) add_subdirectory(src) add_subdirectory(data) -add_subdirectory(po) diff -Nru fcitx-chewing-0.1.3/COPYING fcitx-chewing-0.2.1/COPYING --- fcitx-chewing-0.1.3/COPYING 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/COPYING 2013-06-03 18:02:38.000000000 +0000 @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -305,7 +305,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail. diff -Nru fcitx-chewing-0.1.3/cmake/FindChewing.cmake fcitx-chewing-0.2.1/cmake/FindChewing.cmake --- fcitx-chewing-0.1.3/cmake/FindChewing.cmake 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/cmake/FindChewing.cmake 2013-06-03 18:02:38.000000000 +0000 @@ -10,10 +10,10 @@ # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. -if(CHEWING_INCLUDE_DIR AND CHEWING_LIBRARIES) +if(CHEWING_INCLUDE_DIR AND CHEWING_LIBRARIES AND CHEWING_DATADIR) # Already in cache, be silent set(CHEWING_FIND_QUIETLY TRUE) -endif(CHEWING_INCLUDE_DIR AND CHEWING_LIBRARIES) +endif(CHEWING_INCLUDE_DIR AND CHEWING_LIBRARIES AND CHEWING_DATADIR) find_package(PkgConfig) pkg_check_modules(PC_LIBCHEWING QUIET chewing) @@ -32,6 +32,6 @@ set(CHEWING_INCLUDE_DIR "${CHEWING_MAIN_INCLUDE_DIR}") include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Chewing DEFAULT_MSG CHEWING_LIBRARIES CHEWING_MAIN_INCLUDE_DIR) +find_package_handle_standard_args(Chewing DEFAULT_MSG CHEWING_LIBRARIES CHEWING_MAIN_INCLUDE_DIR CHEWING_DATADIR) mark_as_advanced(CHEWING_INCLUDE_DIR CHEWING_LIBRARIES) diff -Nru fcitx-chewing-0.1.3/cmake/cmake_uninstall.cmake.in fcitx-chewing-0.2.1/cmake/cmake_uninstall.cmake.in --- fcitx-chewing-0.1.3/cmake/cmake_uninstall.cmake.in 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/cmake/cmake_uninstall.cmake.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") -endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - -file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) -string(REGEX REPLACE "\n" ";" files "${files}") -foreach (file ${files}) - message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") - if (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") - execute_process( - COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" - OUTPUT_VARIABLE rm_out - RESULT_VARIABLE rm_retval - ) - if(NOT ${rm_retval} EQUAL 0) - message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") - endif (NOT ${rm_retval} EQUAL 0) - else (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") - message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") - endif (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") -endforeach(file) \ No newline at end of file diff -Nru fcitx-chewing-0.1.3/data/CMakeLists.txt fcitx-chewing-0.2.1/data/CMakeLists.txt --- fcitx-chewing-0.1.3/data/CMakeLists.txt 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/data/CMakeLists.txt 2013-06-03 18:02:38.000000000 +0000 @@ -1,6 +1,5 @@ -fcitx_add_addon_conf_file(fcitx-chewing.conf) -fcitx_add_configdesc_file(fcitx-chewing.desc) -fcitx_add_inputmethod_conf_file(chewing.conf) -install(FILES chewing.png DESTINATION share/fcitx/skin/default/) -install(FILES chewing.png DESTINATION share/fcitx/skin/classic/) -install(FILES chewing.png DESTINATION share/fcitx/skin/dark/) +install(FILES chewing.png DESTINATION ${FCITX4_PREFIX}/share/fcitx/imicon/) +install(FILES chewing.png DESTINATION share/icons/hicolor/48x48/apps/ RENAME fcitx-chewing.png) +install(FILES default/chewing.png DESTINATION ${FCITX4_PREFIX}/share/fcitx/skin/default) +install(FILES dark/chewing.png DESTINATION ${FCITX4_PREFIX}/share/fcitx/skin/dark) +install(FILES classic/chewing.png DESTINATION ${FCITX4_PREFIX}/share/fcitx/skin/classic) diff -Nru fcitx-chewing-0.1.3/data/chewing.conf.in fcitx-chewing-0.2.1/data/chewing.conf.in --- fcitx-chewing-0.1.3/data/chewing.conf.in 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/data/chewing.conf.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -[InputMethod] -UniqueName=chewing -_Name=Chewing -IconName=chewing -Priority=1 -LangCode=zh_TW -Parent=fcitx-chewing Binary files /tmp/U6itJLVw3z/fcitx-chewing-0.1.3/data/chewing.png and /tmp/9Gs7KIGry6/fcitx-chewing-0.2.1/data/chewing.png differ Binary files /tmp/U6itJLVw3z/fcitx-chewing-0.1.3/data/classic/chewing.png and /tmp/9Gs7KIGry6/fcitx-chewing-0.2.1/data/classic/chewing.png differ Binary files /tmp/U6itJLVw3z/fcitx-chewing-0.1.3/data/dark/chewing.png and /tmp/9Gs7KIGry6/fcitx-chewing-0.2.1/data/dark/chewing.png differ Binary files /tmp/U6itJLVw3z/fcitx-chewing-0.1.3/data/default/chewing.png and /tmp/9Gs7KIGry6/fcitx-chewing-0.2.1/data/default/chewing.png differ diff -Nru fcitx-chewing-0.1.3/data/fcitx-chewing.conf.in fcitx-chewing-0.2.1/data/fcitx-chewing.conf.in --- fcitx-chewing-0.1.3/data/fcitx-chewing.conf.in 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/data/fcitx-chewing.conf.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -[Addon] -Name=fcitx-chewing -_GeneralName=Chewing -_Comment=Chewing Wrapper For Fcitx -Category=InputMethod -Enabled=True -Library=fcitx-chewing.so -Type=SharedLibrary -IMRegisterMethod=ConfigFile diff -Nru fcitx-chewing-0.1.3/data/fcitx-chewing.desc fcitx-chewing-0.2.1/data/fcitx-chewing.desc --- fcitx-chewing-0.1.3/data/fcitx-chewing.desc 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/data/fcitx-chewing.desc 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -[Chewing/AddPhraseForward] -Type=Boolean -Description=Add Phrase Forward -DefaultValue=False - -[Chewing/ChoiceBackward] -Type=Boolean -Description=Backward phrase choice -DefaultValue=True - -[Chewing/AutoShiftCursor] -Type=Boolean -Description=Automatically shift cursor -DefaultValue=True - -[Chewing/SpaceAsSelection] -Type=Boolean -Description=Space as selection key -DefaultValue=True - -[Chewing/Layout] -Type=Enum -Description=Keyboard Layout -DefaultValue=Default Keyboard -EnumCount=10 -Enum0=Default Keyboard -Enum1=Hsu's Keyboard -Enum2=IBM Keyboard -Enum3=Gin-Yieh Keyboard -Enum4=ETen Keyboard -Enum5=ETen26 Keyboard -Enum6=Dvorak Keyboard -Enum7=Dvorak Keyboard with Hsu's support -Enum8=DACHEN_CP26 Keyboard -Enum9=Han-Yu PinYin Keyboard - -[DescriptionFile] -LocaleDomain=fcitx-chewing diff -Nru fcitx-chewing-0.1.3/debian/changelog fcitx-chewing-0.2.1/debian/changelog --- fcitx-chewing-0.1.3/debian/changelog 2012-09-28 07:47:10.000000000 +0000 +++ fcitx-chewing-0.2.1/debian/changelog 2013-08-17 07:49:51.000000000 +0000 @@ -1,29 +1,47 @@ -fcitx-chewing (0.1.3-1~quantal) quantal; urgency=low +fcitx-chewing (0.2.1-1~quantal1) quantal; urgency=low + + * Backport for quantal. + + -- Aron Xu Sat, 17 Aug 2013 15:48:31 +0800 + +fcitx-chewing (0.2.1-1) unstable; urgency=low + + * New upstream release. + + -- Aron Xu Fri, 02 Aug 2013 13:38:16 +0800 + +fcitx-chewing (0.2.0-1) unstable; urgency=low + + * Imported Upstream version 0.2.0 + + -- YunQiang Su Fri, 15 Feb 2013 18:27:20 +0800 + +fcitx-chewing (0.1.3-1) experimental; urgency=low * Imported Upstream version 0.1.3 -- YunQiang Su Fri, 28 Sep 2012 15:34:22 +0800 -fcitx-chewing (0.1.2-2~quantal) quantal; urgency=low +fcitx-chewing (0.1.2-2) unstable; urgency=low * Add pkg-config to build deps. -- YunQiang Su Tue, 15 May 2012 12:52:10 +0800 -fcitx-chewing (0.1.2-1~quantal) quantal; urgency=low +fcitx-chewing (0.1.2-1) unstable; urgency=low * New upstream release 0.1.2. -- YunQiang Su Tue, 15 May 2012 11:21:15 +0800 -fcitx-chewing (0.1.1-1~quantal) quantal; urgency=low +fcitx-chewing (0.1.1-1) unstable; urgency=low * New upstream release, build with Multi-Arch enabled libchewing. -- Aron Xu Tue, 03 Apr 2012 06:24:53 +0000 -fcitx-chewing (0.1.0-1~quantal) quantal; urgency=low +fcitx-chewing (0.1.0-1) unstable; urgency=low - * Initial release (Closes: #658148~quantal) + * Initial release (Closes: #658148) -- YunQiang Su Mon, 06 Feb 2012 14:10:14 +0800 diff -Nru fcitx-chewing-0.1.3/debian/control fcitx-chewing-0.2.1/debian/control --- fcitx-chewing-0.1.3/debian/control 2012-05-15 07:17:23.000000000 +0000 +++ fcitx-chewing-0.2.1/debian/control 2013-08-02 05:42:41.000000000 +0000 @@ -3,18 +3,17 @@ Priority: optional Maintainer: IME Packaging Team Uploaders: Aron Xu , YunQiang Su -DM-Upload-Allowed: yes -Build-Depends: debhelper (>= 8), cmake, intltool, fcitx-libs-dev (>= 4.2.0), +Build-Depends: debhelper (>= 8), cmake, fcitx-bin, fcitx-libs-dev (>= 1:4.2.8), libchewing3-dev, gettext, pkg-config -Standards-Version: 3.9.3 +Standards-Version: 3.9.4 Homepage: http://fcitx.googlecode.com -Vcs-Git: git://git.debian.org/pkg-ime/fcitx-chewing.git -Vcs-Browser: http://git.debian.org/?p=pkg-ime/fcitx-chewing.git +Vcs-Git: git://anonscm.debian.org/pkg-ime/fcitx-chewing.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ime/fcitx-chewing.git Package: fcitx-chewing Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, fcitx-bin, - fcitx-data (>= 1:4.2.0), fcitx-modules + fcitx-data (>= 1:4.2.8), fcitx-modules Description: Fcitx wrapper for Chewing library fcitx-chewing is a wrapper of Chewing IM engine for Fcitx. . diff -Nru fcitx-chewing-0.1.3/po/CMakeLists.txt fcitx-chewing-0.2.1/po/CMakeLists.txt --- fcitx-chewing-0.1.3/po/CMakeLists.txt 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/po/CMakeLists.txt 2013-06-03 18:02:38.000000000 +0000 @@ -1,26 +1,5 @@ -file(GLOB PO_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po) -file(RELATIVE_PATH REL_SOURCE_ROOT ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}) -if ("${REL_SOURCE_ROOT}" STREQUAL "") - set(REL_SOURCE_ROOT ".") -endif("${REL_SOURCE_ROOT}" STREQUAL "") - -set(POT_FILE fcitx-chewing.pot) - -configure_file(POTFILES.in.in ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in) - -extract_fcitx_addon_conf_postring() - -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/desc.po - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/getdescpo ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS getdescpo) - -add_custom_target( - pot - COMMAND INTLTOOL_EXTRACT=${INTLTOOL_EXTRACT} srcdir=${CMAKE_CURRENT_BINARY_DIR} ${INTLTOOL_UPDATE} --gettext-package fcitx-chewing --pot - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/conf.po ${CMAKE_CURRENT_BINARY_DIR}/desc.po - ) - -# Update .po files and compile them to binary .gmo files -gettext_create_translations(${POT_FILE} ALL ${PO_FILES}) - +set(PO_LANGS de zh_CN zh_TW ja) +foreach(lang ${PO_LANGS}) + fcitx_translate_add_po_file("${lang}" "${lang}.po") +endforeach() +fcitx_translate_set_pot_target(pot fcitx-chewing fcitx-chewing.pot) diff -Nru fcitx-chewing-0.1.3/po/POTFILES.in.in fcitx-chewing-0.2.1/po/POTFILES.in.in --- fcitx-chewing-0.1.3/po/POTFILES.in.in 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/po/POTFILES.in.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -# List of source files which contain translatable strings. -./po/desc.po -./po/conf.po -@REL_SOURCE_ROOT@/src/eim.c -@REL_SOURCE_ROOT@/src/eim.h -@REL_SOURCE_ROOT@/data/fcitx-chewing.conf.in diff -Nru fcitx-chewing-0.1.3/po/de.po fcitx-chewing-0.2.1/po/de.po --- fcitx-chewing-0.1.3/po/de.po 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-chewing-0.2.1/po/de.po 2013-06-03 18:02:38.000000000 +0000 @@ -0,0 +1,119 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# mar well , 2013 +msgid "" +msgstr "" +"Project-Id-Version: fcitx\n" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-06-03 14:02-0400\n" +"PO-Revision-Date: 2013-05-22 06:07+0000\n" +"Last-Translator: mar well \n" +"Language-Team: German (http://www.transifex.com/projects/p/fcitx/language/" +"de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/fcitx-chewing.desc:6 +msgid "1234567890" +msgstr "1234567890" + +#: src/fcitx-chewing.desc:11 +msgid "1234qweras" +msgstr "1234qweras" + +#: src/fcitx-chewing.desc:15 +msgid "Add Phrase Forward" +msgstr "" + +#: src/fcitx-chewing.desc:25 +msgid "Automatically shift cursor" +msgstr "Cursor automatisch anheben" + +#: src/fcitx-chewing.desc:20 +msgid "Backward phrase choice" +msgstr "" + +#: src/eim.c:143 src/chewing.conf.in:3 src/fcitx-chewing.conf.in:3 +#: src/fcitx-chewing.desc:1 src/fcitx-chewing.desc:13 +#: src/fcitx-chewing.desc:18 src/fcitx-chewing.desc:23 +#: src/fcitx-chewing.desc:28 src/fcitx-chewing.desc:33 +msgid "Chewing" +msgstr "Chewing" + +#: src/fcitx-chewing.conf.in:4 +msgid "Chewing Wrapper For Fcitx" +msgstr "Chewing Wrapper für Fcitx" + +#: src/fcitx-chewing.desc:46 +msgid "DACHEN_CP26 Keyboard" +msgstr "DACHEN_CP26 Tastatur" + +#: src/fcitx-chewing.desc:38 +msgid "Default Keyboard" +msgstr "Standard Tastatur" + +#: src/fcitx-chewing.desc:44 +msgid "Dvorak Keyboard" +msgstr "Dvorak Tastatur" + +#: src/fcitx-chewing.desc:45 +msgid "Dvorak Keyboard with Hsu's support" +msgstr "Dvorak Keyboard mit Hsu's Unterstützung" + +#: src/fcitx-chewing.desc:42 +msgid "ETen Keyboard" +msgstr "ETen Tastatur" + +#: src/fcitx-chewing.desc:43 +msgid "ETen26 Keyboard" +msgstr "ETen26 Tastatur" + +#: src/fcitx-chewing.desc:41 +msgid "Gin-Yieh Keyboard" +msgstr "Gin-Yieh Tastatur" + +#: src/fcitx-chewing.desc:47 +msgid "Han-Yu PinYin Keyboard" +msgstr "Han-Yu PinYin Tastatur" + +#: src/fcitx-chewing.desc:39 +msgid "Hsu's Keyboard" +msgstr "Hsu's Tastatur" + +#: src/fcitx-chewing.desc:40 +msgid "IBM Keyboard" +msgstr "IBM Tastatur" + +#: src/fcitx-chewing.desc:35 +msgid "Keyboard Layout" +msgstr "Tastaturlayout" + +#: src/fcitx-chewing.desc:3 +msgid "Selection Key" +msgstr "Auswahltaste" + +#: src/fcitx-chewing.desc:30 +msgid "Space as selection key" +msgstr "SPACE als Auswahltaste" + +#: src/fcitx-chewing.desc:10 +msgid "aoeuhtn789" +msgstr "aoeuhtn789" + +#: src/fcitx-chewing.desc:7 +msgid "asdfghjkl;" +msgstr "asdfghjkl;" + +#: src/fcitx-chewing.desc:9 +msgid "asdfjkl789" +msgstr "asdfjkl789" + +#: src/fcitx-chewing.desc:8 +msgid "asdfzxcv89" +msgstr "asdfzxcv89" diff -Nru fcitx-chewing-0.1.3/po/fcitx-chewing.pot fcitx-chewing-0.2.1/po/fcitx-chewing.pot --- fcitx-chewing-0.1.3/po/fcitx-chewing.pot 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/po/fcitx-chewing.pot 2013-06-03 18:02:38.000000000 +0000 @@ -7,82 +7,111 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-09 00:00+0800\n" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-04-25 00:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" +"Language: LANG\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:3 +#: src/eim.c:143 src/chewing.conf.in:3 src/fcitx-chewing.conf.in:3 +#: src/fcitx-chewing.desc:1 src/fcitx-chewing.desc:13 +#: src/fcitx-chewing.desc:18 src/fcitx-chewing.desc:23 +#: src/fcitx-chewing.desc:28 src/fcitx-chewing.desc:33 +msgid "Chewing" +msgstr "" + +#: src/fcitx-chewing.conf.in:4 +msgid "Chewing Wrapper For Fcitx" +msgstr "" + +#: src/fcitx-chewing.desc:3 +msgid "Selection Key" +msgstr "" + +#: src/fcitx-chewing.desc:6 +msgid "1234567890" +msgstr "" + +#: src/fcitx-chewing.desc:7 +msgid "asdfghjkl;" +msgstr "" + +#: src/fcitx-chewing.desc:8 +msgid "asdfzxcv89" +msgstr "" + +#: src/fcitx-chewing.desc:9 +msgid "asdfjkl789" +msgstr "" + +#: src/fcitx-chewing.desc:10 +msgid "aoeuhtn789" +msgstr "" + +#: src/fcitx-chewing.desc:11 +msgid "1234qweras" +msgstr "" + +#: src/fcitx-chewing.desc:15 msgid "Add Phrase Forward" msgstr "" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:8 +#: src/fcitx-chewing.desc:20 msgid "Backward phrase choice" msgstr "" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:13 +#: src/fcitx-chewing.desc:25 msgid "Automatically shift cursor" msgstr "" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:18 +#: src/fcitx-chewing.desc:30 msgid "Space as selection key" msgstr "" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:23 +#: src/fcitx-chewing.desc:35 msgid "Keyboard Layout" msgstr "" -# unknown -#: /home/saber/Develop/fcitx-chewing/build/po/tmp/fcitx-chewing.conf.in.h:1 -#: /home/saber/Develop/fcitx-chewing/build/po/../..//src/eim.c:130 -msgid "Chewing" -msgstr "" - -#: unknown -msgid "DACHEN_CP26 Keyboard" -msgstr "" - -#: unknown +#: src/fcitx-chewing.desc:38 msgid "Default Keyboard" msgstr "" -#: unknown -msgid "Dvorak Keyboard" +#: src/fcitx-chewing.desc:39 +msgid "Hsu's Keyboard" msgstr "" -#: unknown -msgid "Dvorak Keyboard with Hsu's support" +#: src/fcitx-chewing.desc:40 +msgid "IBM Keyboard" msgstr "" -#: unknown -msgid "ETen26 Keyboard" +#: src/fcitx-chewing.desc:41 +msgid "Gin-Yieh Keyboard" msgstr "" -#: unknown +#: src/fcitx-chewing.desc:42 msgid "ETen Keyboard" msgstr "" -#: unknown -msgid "Gin-Yieh Keyboard" +#: src/fcitx-chewing.desc:43 +msgid "ETen26 Keyboard" msgstr "" -#: unknown -msgid "Han-Yu PinYin Keyboard" +#: src/fcitx-chewing.desc:44 +msgid "Dvorak Keyboard" msgstr "" -#: unknown -msgid "Hsu's Keyboard" +#: src/fcitx-chewing.desc:45 +msgid "Dvorak Keyboard with Hsu's support" msgstr "" -#: unknown -msgid "IBM Keyboard" +#: src/fcitx-chewing.desc:46 +msgid "DACHEN_CP26 Keyboard" msgstr "" -#: /home/saber/Develop/fcitx-chewing/build/po/tmp/fcitx-chewing.conf.in.h:2 -msgid "Chewing Wrapper For Fcitx" +#: src/fcitx-chewing.desc:47 +msgid "Han-Yu PinYin Keyboard" msgstr "" diff -Nru fcitx-chewing-0.1.3/po/getdescpo fcitx-chewing-0.2.1/po/getdescpo --- fcitx-chewing-0.1.3/po/getdescpo 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/po/getdescpo 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -#!/bin/sh -filename=desc.po -indir=$1 -outdir=$2 - -cd "$outdir" - -rm -f "$outdir/$filename"; touch "$outdir/$filename" - -cat > "$outdir/$filename" <, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2010-11-17 11:48+0800\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -EOF - -cd $indir - -descfiles=`find "$indir" -name ".hg" -prune -or -name "test" -prune -or -iname "*.desc" | grep desc` - -# Extract Description -for f in $descfiles -do - awk '/^[\t ]*Description=/ { print "\n#: '$f':" NR"\n" "msgid \"" substr($0, 13)"\"\n" "msgstr \"\""}' "$f" >> "$outdir/$filename" -done - -# Extract Group Name -grep -nH '^\[' $descfiles | grep -v 'DescriptionFile' | awk ' "^[" { split($0, a, ":"); split(a[3], b, "/"); print substr(b[1], 2); }' | sort | uniq | awk '{ print "# unknown\nmsgid \""$0"\"\nmsgstr \"\"\n"; }' >> "$outdir/$filename" - -# Extract Enum Name -grep -h 'Enum[0-9]' $descfiles | sed -e 's/Enum[0-9]=//g' | sort | uniq | awk '{ print "#: unknown\nmsgid \""$0"\"\nmsgstr \"\"\n"; }' >> "$outdir/$filename" - diff -Nru fcitx-chewing-0.1.3/po/ja.po fcitx-chewing-0.2.1/po/ja.po --- fcitx-chewing-0.1.3/po/ja.po 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-chewing-0.2.1/po/ja.po 2013-06-03 18:02:38.000000000 +0000 @@ -0,0 +1,119 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# しろう <>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: fcitx\n" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-04-25 00:01-0400\n" +"PO-Revision-Date: 2013-04-14 13:46+0000\n" +"Last-Translator: しろう <>\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/fcitx/language/" +"ja/)\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/fcitx-chewing.desc:6 +msgid "1234567890" +msgstr "1234567890" + +#: src/fcitx-chewing.desc:11 +msgid "1234qweras" +msgstr "1234qweras" + +#: src/fcitx-chewing.desc:15 +msgid "Add Phrase Forward" +msgstr "" + +#: src/fcitx-chewing.desc:25 +msgid "Automatically shift cursor" +msgstr "" + +#: src/fcitx-chewing.desc:20 +msgid "Backward phrase choice" +msgstr "" + +#: src/eim.c:143 src/chewing.conf.in:3 src/fcitx-chewing.conf.in:3 +#: src/fcitx-chewing.desc:1 src/fcitx-chewing.desc:13 +#: src/fcitx-chewing.desc:18 src/fcitx-chewing.desc:23 +#: src/fcitx-chewing.desc:28 src/fcitx-chewing.desc:33 +msgid "Chewing" +msgstr "" + +#: src/fcitx-chewing.conf.in:4 +msgid "Chewing Wrapper For Fcitx" +msgstr "" + +#: src/fcitx-chewing.desc:46 +msgid "DACHEN_CP26 Keyboard" +msgstr "DACHEN_CP26 キーボード" + +#: src/fcitx-chewing.desc:38 +msgid "Default Keyboard" +msgstr "既定のキーボード" + +#: src/fcitx-chewing.desc:44 +msgid "Dvorak Keyboard" +msgstr "Dvorak キーボード" + +#: src/fcitx-chewing.desc:45 +msgid "Dvorak Keyboard with Hsu's support" +msgstr "Hsu サポートの Dvorak キーボード" + +#: src/fcitx-chewing.desc:42 +msgid "ETen Keyboard" +msgstr "Eten キーボード" + +#: src/fcitx-chewing.desc:43 +msgid "ETen26 Keyboard" +msgstr "Eten26 キーボード" + +#: src/fcitx-chewing.desc:41 +msgid "Gin-Yieh Keyboard" +msgstr "Gin-Yieh キーボード" + +#: src/fcitx-chewing.desc:47 +msgid "Han-Yu PinYin Keyboard" +msgstr "Han-Yu PinYin キーボード" + +#: src/fcitx-chewing.desc:39 +msgid "Hsu's Keyboard" +msgstr "Hsu キーボード" + +#: src/fcitx-chewing.desc:40 +msgid "IBM Keyboard" +msgstr "IBM キーボード" + +#: src/fcitx-chewing.desc:35 +msgid "Keyboard Layout" +msgstr "キーボードレイアウト" + +#: src/fcitx-chewing.desc:3 +msgid "Selection Key" +msgstr "選択キー" + +#: src/fcitx-chewing.desc:30 +msgid "Space as selection key" +msgstr "" + +#: src/fcitx-chewing.desc:10 +msgid "aoeuhtn789" +msgstr "aoeuhtn789" + +#: src/fcitx-chewing.desc:7 +msgid "asdfghjkl;" +msgstr "asdfghjkl;" + +#: src/fcitx-chewing.desc:9 +msgid "asdfjkl789" +msgstr "asdfjkl789" + +#: src/fcitx-chewing.desc:8 +msgid "asdfzxcv89" +msgstr "asdfzxcv89" diff -Nru fcitx-chewing-0.1.3/po/zh_CN.po fcitx-chewing-0.2.1/po/zh_CN.po --- fcitx-chewing-0.1.3/po/zh_CN.po 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/po/zh_CN.po 2013-06-03 18:02:38.000000000 +0000 @@ -1,88 +1,119 @@ +# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# Weng Xuetian , 2010, 2011, 2012. +# Translators: +# Xuetian Weng , 2010-2012 +# Xuetian Weng , 2013 msgid "" msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-09 00:00+0800\n" -"PO-Revision-Date: 2012-01-09 00:01+0800\n" -"Last-Translator: Weng Xuetian \n" -"Language-Team: Chinese Simplified \n" +"Project-Id-Version: fcitx\n" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-04-25 00:01-0400\n" +"PO-Revision-Date: 2013-04-11 19:01+0000\n" +"Last-Translator: Xuetian Weng \n" +"Language-Team: Chinese (China) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.4\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:3 +#: src/fcitx-chewing.desc:6 +msgid "1234567890" +msgstr "1234567890" + +#: src/fcitx-chewing.desc:11 +msgid "1234qweras" +msgstr "1234qweras" + +#: src/fcitx-chewing.desc:15 msgid "Add Phrase Forward" msgstr "前方加词" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:13 +#: src/fcitx-chewing.desc:25 msgid "Automatically shift cursor" msgstr "选词完毕自动移到下一个词" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:8 +#: src/fcitx-chewing.desc:20 msgid "Backward phrase choice" msgstr "后方选择字词" -#: /home/saber/Develop/fcitx-chewing/build/po/tmp/fcitx-chewing.conf.in.h:1 -#: /home/saber/Develop/fcitx-chewing/build/po/../..//src/eim.c:130 +#: src/eim.c:143 src/chewing.conf.in:3 src/fcitx-chewing.conf.in:3 +#: src/fcitx-chewing.desc:1 src/fcitx-chewing.desc:13 +#: src/fcitx-chewing.desc:18 src/fcitx-chewing.desc:23 +#: src/fcitx-chewing.desc:28 src/fcitx-chewing.desc:33 msgid "Chewing" msgstr "新酷音" -#: /home/saber/Develop/fcitx-chewing/build/po/tmp/fcitx-chewing.conf.in.h:2 +#: src/fcitx-chewing.conf.in:4 msgid "Chewing Wrapper For Fcitx" msgstr "Fcitx 的 新酷音封装" -#: unknown +#: src/fcitx-chewing.desc:46 msgid "DACHEN_CP26 Keyboard" msgstr "大千26键键盘" -#: unknown +#: src/fcitx-chewing.desc:38 msgid "Default Keyboard" msgstr "默认键盘" -#: unknown +#: src/fcitx-chewing.desc:44 msgid "Dvorak Keyboard" msgstr "Dvorak键盘" -#: unknown +#: src/fcitx-chewing.desc:45 msgid "Dvorak Keyboard with Hsu's support" msgstr "Dvorak键盘 + 许氏注音" -#: unknown +#: src/fcitx-chewing.desc:42 msgid "ETen Keyboard" msgstr "倚天键盘" -#: unknown +#: src/fcitx-chewing.desc:43 msgid "ETen26 Keyboard" msgstr "倚天26键键盘" -#: unknown +#: src/fcitx-chewing.desc:41 msgid "Gin-Yieh Keyboard" msgstr "精业键盘" -#: unknown +#: src/fcitx-chewing.desc:47 msgid "Han-Yu PinYin Keyboard" msgstr "汉语拼音键盘" -#: unknown +#: src/fcitx-chewing.desc:39 msgid "Hsu's Keyboard" msgstr "许氏键盘" -#: unknown +#: src/fcitx-chewing.desc:40 msgid "IBM Keyboard" msgstr "IBM键盘" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:23 +#: src/fcitx-chewing.desc:35 msgid "Keyboard Layout" msgstr "键盘布局" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:18 +#: src/fcitx-chewing.desc:3 +msgid "Selection Key" +msgstr "选词键" + +#: src/fcitx-chewing.desc:30 msgid "Space as selection key" msgstr "空格键选词" +#: src/fcitx-chewing.desc:10 +msgid "aoeuhtn789" +msgstr "aoeuhtn789" + +#: src/fcitx-chewing.desc:7 +msgid "asdfghjkl;" +msgstr "asdfghjkl;" + +#: src/fcitx-chewing.desc:9 +msgid "asdfjkl789" +msgstr "asdfjkl789" + +#: src/fcitx-chewing.desc:8 +msgid "asdfzxcv89" +msgstr "asdfzxcv89" diff -Nru fcitx-chewing-0.1.3/po/zh_TW.po fcitx-chewing-0.2.1/po/zh_TW.po --- fcitx-chewing-0.1.3/po/zh_TW.po 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/po/zh_TW.po 2013-06-03 18:02:38.000000000 +0000 @@ -3,91 +3,120 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Alisha , 2012. -# Cheng-Chia Tseng , 2012. -# , 2012. -# Weng Xuetian , 2012. +# Alisha , 2012 +# Cheng-Chia Tseng , 2012 +# Hiunn_Hue , 2012 +# Xuetian Weng , 2012-2013 msgid "" msgstr "" "Project-Id-Version: fcitx\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-09 00:00+0800\n" -"PO-Revision-Date: 2012-08-25 06:57+0000\n" -"Last-Translator: Cheng-Chia Tseng \n" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-04-25 00:01-0400\n" +"PO-Revision-Date: 2013-04-11 19:01+0000\n" +"Last-Translator: Xuetian Weng \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/fcitx/" "language/zh_TW/)\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:3 +#: src/fcitx-chewing.desc:6 +msgid "1234567890" +msgstr "1234567890" + +#: src/fcitx-chewing.desc:11 +msgid "1234qweras" +msgstr "1234qweras" + +#: src/fcitx-chewing.desc:15 msgid "Add Phrase Forward" msgstr "前方加詞" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:13 +#: src/fcitx-chewing.desc:25 msgid "Automatically shift cursor" msgstr "選字完畢自動移到下一個字" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:8 +#: src/fcitx-chewing.desc:20 msgid "Backward phrase choice" msgstr "後方選擇字詞" -# unknown -#: /home/saber/Develop/fcitx-chewing/build/po/tmp/fcitx-chewing.conf.in.h:1 -#: /home/saber/Develop/fcitx-chewing/build/po/../..//src/eim.c:130 +#: src/eim.c:143 src/chewing.conf.in:3 src/fcitx-chewing.conf.in:3 +#: src/fcitx-chewing.desc:1 src/fcitx-chewing.desc:13 +#: src/fcitx-chewing.desc:18 src/fcitx-chewing.desc:23 +#: src/fcitx-chewing.desc:28 src/fcitx-chewing.desc:33 msgid "Chewing" msgstr "新酷音" -#: /home/saber/Develop/fcitx-chewing/build/po/tmp/fcitx-chewing.conf.in.h:2 +#: src/fcitx-chewing.conf.in:4 msgid "Chewing Wrapper For Fcitx" msgstr "Fcitx 的新酷音封装" -#: unknown +#: src/fcitx-chewing.desc:46 msgid "DACHEN_CP26 Keyboard" msgstr "大千26鍵" -#: unknown +#: src/fcitx-chewing.desc:38 msgid "Default Keyboard" msgstr "預設鍵盤" -#: unknown +#: src/fcitx-chewing.desc:44 msgid "Dvorak Keyboard" msgstr "Dvorak 鍵盤" -#: unknown +#: src/fcitx-chewing.desc:45 msgid "Dvorak Keyboard with Hsu's support" msgstr "Dvorak 鍵盤 + 許氏注音" -#: unknown +#: src/fcitx-chewing.desc:42 msgid "ETen Keyboard" msgstr "倚天鍵盤" -#: unknown +#: src/fcitx-chewing.desc:43 msgid "ETen26 Keyboard" msgstr "倚天26鍵鍵盤" -#: unknown +#: src/fcitx-chewing.desc:41 msgid "Gin-Yieh Keyboard" msgstr "精業鍵盤" -#: unknown +#: src/fcitx-chewing.desc:47 msgid "Han-Yu PinYin Keyboard" msgstr "漢語拼音排列" -#: unknown +#: src/fcitx-chewing.desc:39 msgid "Hsu's Keyboard" msgstr "許氏鍵盤" -#: unknown +#: src/fcitx-chewing.desc:40 msgid "IBM Keyboard" msgstr "IBM 鍵盤" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:23 +#: src/fcitx-chewing.desc:35 msgid "Keyboard Layout" msgstr "鍵盤配置" -#: /home/saber/Develop/fcitx-chewing/data/fcitx-chewing.desc:18 +#: src/fcitx-chewing.desc:3 +msgid "Selection Key" +msgstr "選詞鍵" + +#: src/fcitx-chewing.desc:30 msgid "Space as selection key" msgstr "使用空白鍵選擇候選字詞" + +#: src/fcitx-chewing.desc:10 +msgid "aoeuhtn789" +msgstr "aoeuhtn789" + +#: src/fcitx-chewing.desc:7 +msgid "asdfghjkl;" +msgstr "asdfghjkl;" + +#: src/fcitx-chewing.desc:9 +msgid "asdfjkl789" +msgstr "asdfjkl789" + +#: src/fcitx-chewing.desc:8 +msgid "asdfzxcv89" +msgstr "asdfzxcv89" diff -Nru fcitx-chewing-0.1.3/src/CMakeLists.txt fcitx-chewing-0.2.1/src/CMakeLists.txt --- fcitx-chewing-0.1.3/src/CMakeLists.txt 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/src/CMakeLists.txt 2013-06-03 18:02:38.000000000 +0000 @@ -11,5 +11,8 @@ add_definitions( -DLOCALEDIR=\"${CMAKE_INSTALL_PREFIX}/share/locale\" ) -fcitx_add_addon(fcitx-chewing ${fcitx_chewing_sources} ) -target_link_libraries (fcitx-chewing ${CHEWING_LIBRARIES}) +fcitx_add_addon_full(chewing +DESC +SOURCES ${fcitx_chewing_sources} +IM_CONFIG chewing.conf +LINK_LIBS ${CHEWING_LIBRARIES}) \ No newline at end of file diff -Nru fcitx-chewing-0.1.3/src/chewing.conf.in fcitx-chewing-0.2.1/src/chewing.conf.in --- fcitx-chewing-0.1.3/src/chewing.conf.in 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-chewing-0.2.1/src/chewing.conf.in 2013-06-03 18:02:38.000000000 +0000 @@ -0,0 +1,7 @@ +[InputMethod] +UniqueName=chewing +_Name=Chewing +IconName=chewing +Priority=1 +LangCode=zh_TW +Parent=fcitx-chewing diff -Nru fcitx-chewing-0.1.3/src/config.c fcitx-chewing-0.2.1/src/config.c --- fcitx-chewing-0.1.3/src/config.c 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/src/config.c 2013-06-03 18:02:38.000000000 +0000 @@ -22,6 +22,7 @@ /* USE fcitx provided macro to bind config and variable */ CONFIG_BINDING_BEGIN(FcitxChewingConfig) +CONFIG_BINDING_REGISTER("Chewing", "SelectionKey", selkey) CONFIG_BINDING_REGISTER("Chewing", "AddPhraseForward", bAddPhraseForward) CONFIG_BINDING_REGISTER("Chewing", "ChoiceBackward", bChoiceBackward) CONFIG_BINDING_REGISTER("Chewing", "AutoShiftCursor", bAutoShiftCursor) diff -Nru fcitx-chewing-0.1.3/src/eim.c fcitx-chewing-0.2.1/src/eim.c --- fcitx-chewing-0.1.3/src/eim.c 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/src/eim.c 2013-06-03 18:02:38.000000000 +0000 @@ -40,14 +40,6 @@ #include "config.h" #include "eim.h" -FCITX_EXPORT_API -FcitxIMClass ime = { - FcitxChewingCreate, - FcitxChewingDestroy -}; -FCITX_EXPORT_API -int ABI_VERSION = FCITX_ABI_VERSION; - CONFIG_DESC_DEFINE(GetFcitxChewingConfigDesc, "fcitx-chewing.desc") static int FcitxChewingGetRawCursorPos(char * str, int upos); static INPUT_RETURN_VALUE FcitxChewingGetCandWord(void* arg, FcitxCandidateWord* candWord); @@ -55,16 +47,30 @@ static boolean LoadChewingConfig(FcitxChewingConfig* fs); static void SaveChewingConfig(FcitxChewingConfig* fs); static void ConfigChewing(FcitxChewing* chewing); +static void FcitxChewingOnClose(void* arg, FcitxIMCloseEventType event); +static INPUT_RETURN_VALUE FcitxChewingKeyBlocker(void* arg, FcitxKeySym key, unsigned int state); typedef struct _ChewingCandWord { int index; } ChewingCandWord; +FCITX_DEFINE_PLUGIN(fcitx_chewing, ime2, FcitxIMClass2) = { + FcitxChewingCreate, + FcitxChewingDestroy, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, +}; + +const FcitxHotkey FCITX_CHEWING_SHIFT_LEFT[2] = {{NULL, FcitxKey_Left, FcitxKeyState_Shift}, {NULL, FcitxKey_None, FcitxKeyState_None}}; +const FcitxHotkey FCITX_CHEWING_SHIFT_RIGHT[2] = {{NULL, FcitxKey_Right, FcitxKeyState_Shift}, {NULL, FcitxKey_None, FcitxKeyState_None}}; const FcitxHotkey FCITX_CHEWING_UP[2] = {{NULL, FcitxKey_Up, FcitxKeyState_None}, {NULL, FcitxKey_None, FcitxKeyState_None}}; const FcitxHotkey FCITX_CHEWING_DOWN[2] = {{NULL, FcitxKey_Down, FcitxKeyState_None}, {NULL, FcitxKey_None, FcitxKeyState_None}}; const FcitxHotkey FCITX_CHEWING_PGUP[2] = {{NULL, FcitxKey_Page_Up, FcitxKeyState_None}, {NULL, FcitxKey_None, FcitxKeyState_None}}; const FcitxHotkey FCITX_CHEWING_PGDN[2] = {{NULL, FcitxKey_Page_Down, FcitxKeyState_None}, {NULL, FcitxKey_None, FcitxKeyState_None}}; -int selKey[10] = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}; const char *builtin_keymaps[] = { "KB_DEFAULT", @@ -85,7 +91,6 @@ * @param arg * @return successful or not **/ -__EXPORT_API void* FcitxChewingCreate(FcitxInstance* instance) { if (GetFcitxChewingConfigDesc() == NULL) @@ -107,36 +112,37 @@ FcitxChewing* chewing = (FcitxChewing*) fcitx_utils_malloc0(sizeof(FcitxChewing)); FcitxGlobalConfig* config = FcitxInstanceGetGlobalConfig(instance); FcitxInputState *input = FcitxInstanceGetInputState(instance); - FcitxCandidateWordSetChoose(FcitxInputStateGetCandidateList(input), DIGIT_STR_CHOOSE); bindtextdomain("fcitx-chewing", LOCALEDIR); chewing->context = chewing_new(); ChewingContext * ctx = chewing->context; chewing->owner = instance; - chewing_set_ChiEngMode(ctx, CHINESE_MODE); chewing_set_maxChiSymbolLen(ctx, CHEWING_MAX_LEN); // chewing will crash without set page chewing_set_candPerPage(ctx, config->iMaxCandWord); FcitxCandidateWordSetPageSize(FcitxInputStateGetCandidateList(input), config->iMaxCandWord); - chewing_set_selKey(ctx, selKey, 10); LoadChewingConfig(&chewing->config); ConfigChewing(chewing); - FcitxInstanceRegisterIM( + FcitxIMIFace iface; + memset(&iface, 0, sizeof(FcitxIMIFace)); + iface.Init = FcitxChewingInit; + iface.ResetIM = FcitxChewingReset; + iface.DoInput = FcitxChewingDoInput; + iface.GetCandWords = FcitxChewingGetCandWords; + iface.Save = NULL; + iface.ReloadConfig = FcitxChewingReloadConfig; + iface.OnClose = FcitxChewingOnClose; + iface.KeyBlocker = FcitxChewingKeyBlocker; + + FcitxInstanceRegisterIMv2( instance, chewing, "chewing", _("Chewing"), "chewing", - FcitxChewingInit, - FcitxChewingReset, - FcitxChewingDoInput, - FcitxChewingGetCandWords, - NULL, - NULL, - FcitxChewingReloadConfig, - NULL, + iface, 1, "zh_TW" ); @@ -151,27 +157,17 @@ * @param count count from XKeyEvent * @return INPUT_RETURN_VALUE **/ -__EXPORT_API INPUT_RETURN_VALUE FcitxChewingDoInput(void* arg, FcitxKeySym sym, unsigned int state) { FcitxChewing* chewing = (FcitxChewing*) arg; - FcitxInputState *input = FcitxInstanceGetInputState(chewing->owner); ChewingContext * ctx = chewing->context; int zuin_len; - FcitxCandidateWordList* candList = FcitxInputStateGetCandidateList(input); - if (FcitxCandidateWordGetListSize(candList) > 0) { - if (FcitxHotkeyIsHotKeyDigit(sym, state) || FcitxHotkeyIsHotKey(sym, state, FCITX_RIGHT) || FcitxHotkeyIsHotKey(sym, state, FCITX_LEFT)) - return IRV_TO_PROCESS; - if (FcitxHotkeyIsHotKey(sym, state, FCITX_SPACE)) { - if (FcitxCandidateWordGoNextPage(candList)) - return IRV_DISPLAY_MESSAGE; - else - return IRV_DO_NOTHING; - } - } - - if (FcitxHotkeyIsHotKeySimple(sym, state)) { + if (FcitxHotkeyIsHotKey(sym, state, FCITX_SPACE)) { + chewing_handle_Space(ctx); + } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_TAB)) { + chewing_handle_Tab(ctx); + } else if (FcitxHotkeyIsHotKeySimple(sym, state)) { int scan_code = (int) sym & 0xff; chewing_handle_Default(ctx, scan_code); } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_BACKSPACE)) { @@ -192,8 +188,6 @@ chewing_handle_Del(ctx); if (chewing_buffer_Len(ctx) + zuin_len == 0) return IRV_CLEAN; - } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_SPACE)) { - chewing_handle_Space(ctx); } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_CHEWING_UP)) { chewing_handle_Up(ctx); } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_CHEWING_DOWN)) { @@ -206,6 +200,16 @@ chewing_handle_Right(ctx); } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_LEFT)) { chewing_handle_Left(ctx); + } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_HOME)) { + chewing_handle_Home(ctx); + } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_END)) { + chewing_handle_End(ctx); + } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_SHIFT_SPACE)) { + chewing_handle_ShiftSpace(ctx); + } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_CHEWING_SHIFT_LEFT)) { + chewing_handle_ShiftLeft(ctx); + } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_CHEWING_SHIFT_RIGHT)) { + chewing_handle_ShiftRight(ctx); } else if (FcitxHotkeyIsHotKey(sym, state, FCITX_ENTER)) { chewing_handle_Enter(ctx); } else if (state == FcitxKeyState_Ctrl && FcitxHotkeyIsHotKeyDigit(sym, FcitxKeyState_None)) { @@ -228,7 +232,6 @@ return IRV_DISPLAY_CANDWORDS; } -__EXPORT_API boolean FcitxChewingInit(void* arg) { FcitxChewing* chewing = (FcitxChewing*) arg; @@ -238,11 +241,15 @@ return true; } -__EXPORT_API void FcitxChewingReset(void* arg) { FcitxChewing* chewing = (FcitxChewing*) arg; chewing_Reset(chewing->context); + + chewing_set_KBType( chewing->context, chewing_KBStr2Num( + (char *) builtin_keymaps[chewing->config.layout])); + + chewing_set_ChiEngMode(chewing->context, CHINESE_MODE); #if 0 FcitxUIStatus* puncStatus = FcitxUIGetStatusByName(chewing->owner, "punc"); if (puncStatus) { @@ -254,6 +261,36 @@ #endif } +static boolean FcitxChewingPaging(void* arg, boolean prev) +{ + FcitxChewing* chewing = (FcitxChewing*) arg; + FcitxInputState *input = FcitxInstanceGetInputState(chewing->owner); + FcitxCandidateWordList* candList = FcitxInputStateGetCandidateList(input); + + if (FcitxCandidateWordGetListSize(candList) > 0) { + return false; + } + + if (prev) { + chewing_handle_Left(chewing->context); + } else { + chewing_handle_Right(chewing->context); + } + + if (chewing_keystroke_CheckAbsorb(chewing->context)) { + return true; + } + return false; +} + +static const char *builtin_selectkeys[] = { +DIGIT_STR_CHOOSE, +"asdfghjkl;", +"asdfzxcv89", +"asdfjkl789", +"aoeuhtn789", +"1234qweras", +}; /** * @brief function DoInput has done everything for us. @@ -261,7 +298,6 @@ * @param searchMode * @return INPUT_RETURN_VALUE **/ -__EXPORT_API INPUT_RETURN_VALUE FcitxChewingGetCandWords(void* arg) { FcitxChewing* chewing = (FcitxChewing*) arg; @@ -270,9 +306,18 @@ FcitxMessages *clientPreedit = FcitxInputStateGetClientPreedit(input); ChewingContext * ctx = chewing->context; FcitxGlobalConfig* config = FcitxInstanceGetGlobalConfig(chewing->owner); + FcitxCandidateWordList* candList = FcitxInputStateGetCandidateList(input); + + int selkey[10]; + int i = 0; + for (i = 0; i < 10; i++) { + selkey[i] = builtin_selectkeys[chewing->config.selkey][i]; + } + chewing_set_selKey(ctx, selkey, 10); chewing_set_candPerPage(ctx, config->iMaxCandWord); - FcitxCandidateWordSetPageSize(FcitxInputStateGetCandidateList(input), config->iMaxCandWord); + FcitxCandidateWordSetPageSize(candList, config->iMaxCandWord); + FcitxCandidateWordSetChoose(candList, builtin_selectkeys[chewing->config.selkey]); //clean up window asap FcitxInstanceCleanInputWindow(chewing->owner); @@ -299,30 +344,52 @@ cw.strExtra = NULL; cw.strWord = strdup(str); cw.wordType = MSG_OTHER; - FcitxCandidateWordAppend(FcitxInputStateGetCandidateList(input), &cw); + FcitxCandidateWordAppend(candList, &cw); chewing_free(str); index ++; } + + if (FcitxCandidateWordGetListSize(candList) > 0) { + FcitxCandidateWordSetOverridePaging( + candList, + chewing_cand_CurrentPage(ctx) > 0, + chewing_cand_CurrentPage(ctx) + 1 < chewing_cand_TotalPage(ctx), + FcitxChewingPaging, + chewing, + NULL); + } } - - /* there is nothing */ - if (strlen(zuin_str) == 0 && strlen(buf_str) == 0 && index == 0) - return IRV_DISPLAY_CANDWORDS; - // setup cursor - FcitxInputStateSetShowCursor(input, true); - int cur = chewing_cursor_Current(ctx); - FcitxLog(DEBUG, "cur: %d", cur); - int rcur = FcitxChewingGetRawCursorPos(buf_str, cur); - FcitxInputStateSetCursorPos(input, rcur); - FcitxInputStateSetClientCursorPos(input, rcur); - - // insert zuin in the middle - char * half1 = strndup(buf_str, rcur); - char * half2 = strdup(buf_str + rcur); - FcitxMessagesAddMessageAtLast(msgPreedit, MSG_INPUT, "%s%s%s", half1, zuin_str, half2); - FcitxMessagesAddMessageAtLast(clientPreedit, MSG_INPUT, "%s%s%s", half1, zuin_str, half2); - chewing_free(buf_str); chewing_free(zuin_str); free(half1); free(half2); + do { + /* there is nothing */ + if (strlen(zuin_str) == 0 && strlen(buf_str) == 0 && index == 0) + break; + + // setup cursor + FcitxInputStateSetShowCursor(input, true); + int cur = chewing_cursor_Current(ctx); + FcitxLog(DEBUG, "cur: %d", cur); + int rcur = FcitxChewingGetRawCursorPos(buf_str, cur); + FcitxInputStateSetCursorPos(input, rcur); + FcitxInputStateSetClientCursorPos(input, rcur); + + // insert zuin in the middle + char * half1 = strndup(buf_str, rcur); + char * half2 = strdup(buf_str + rcur); + + FcitxMessagesAddMessageAtLast(msgPreedit, MSG_INPUT, "%s", half1); + FcitxMessagesAddMessageAtLast(msgPreedit, MSG_CODE, "%s", zuin_str); + FcitxMessagesAddMessageAtLast(msgPreedit, MSG_INPUT, "%s", half2); + + FcitxMessagesAddMessageAtLast(clientPreedit, MSG_OTHER, "%s", half1); + FcitxMessagesAddMessageAtLast(clientPreedit, MSG_HIGHLIGHT | MSG_DONOT_COMMIT_WHEN_UNFOCUS, "%s", zuin_str); + FcitxMessagesAddMessageAtLast(clientPreedit, MSG_OTHER, "%s", half2); + free(half1); + free(half2); + } while(0); + + chewing_free(buf_str); + chewing_free(zuin_str); return IRV_DISPLAY_CANDWORDS; } @@ -351,7 +418,7 @@ } lastPage = chewing_cand_CurrentPage(chewing->context); } - chewing_handle_Default( chewing->context, selKey[off] ); + chewing_handle_Default( chewing->context, builtin_selectkeys[chewing->config.selkey][off] ); if (chewing_keystroke_CheckAbsorb(chewing->context)) { return IRV_DISPLAY_CANDWORDS; @@ -386,7 +453,6 @@ * * @return int **/ -__EXPORT_API void FcitxChewingDestroy(void* arg) { FcitxChewing* chewing = (FcitxChewing*) arg; @@ -401,6 +467,54 @@ ConfigChewing(chewing); } +void FcitxChewingOnClose(void* arg, FcitxIMCloseEventType event) +{ + FcitxChewing* chewing = (FcitxChewing*) arg; + ChewingContext* ctx = chewing->context; + if (event == CET_LostFocus || event == CET_ChangeByInactivate) { + chewing_handle_Enter(ctx); + if (event == CET_ChangeByInactivate) { + if (chewing_commit_Check(ctx)) { + char* str = chewing_commit_String(ctx); + FcitxInputContext* ic = FcitxInstanceGetCurrentIC(chewing->owner); + FcitxInstanceCommitString(chewing->owner, ic, str); + chewing_free(str); + } else { + char * buf_str = chewing_buffer_String(ctx); + do { + /* there is nothing */ + if (strlen(buf_str) == 0) + break; + FcitxInputContext* ic = FcitxInstanceGetCurrentIC(chewing->owner); + FcitxInstanceCommitString(chewing->owner, ic, buf_str); + } while(0); + chewing_free(buf_str); + } + } + else { + FcitxInstanceResetInput(chewing->owner); + } + } + +} + +INPUT_RETURN_VALUE FcitxChewingKeyBlocker(void* arg, FcitxKeySym key, unsigned int state) +{ + FcitxChewing* chewing = (FcitxChewing*) arg; + FcitxInputState *input = FcitxInstanceGetInputState(chewing->owner); + FcitxCandidateWordList* candList = FcitxInputStateGetCandidateList(input); + if (FcitxCandidateWordGetListSize(candList) > 0 + && (FcitxHotkeyIsHotKeySimple(key, state) + || FcitxHotkeyIsHotkeyCursorMove(key, state) + || FcitxHotkeyIsHotKey(key, state, FCITX_SHIFT_SPACE) + || FcitxHotkeyIsHotKey(key, state, FCITX_TAB) + || FcitxHotkeyIsHotKey(key, state, FCITX_SHIFT_ENTER) + )) + return IRV_DO_NOTHING; + else + return IRV_TO_PROCESS; +} + boolean LoadChewingConfig(FcitxChewingConfig* fs) { FcitxConfigFileDesc *configDesc = GetFcitxChewingConfigDesc(); @@ -435,10 +549,9 @@ void ConfigChewing(FcitxChewing* chewing) { ChewingContext* ctx = chewing->context; - chewing_set_KBType( ctx, chewing_KBStr2Num( - (char *) builtin_keymaps[chewing->config.layout])); chewing_set_addPhraseDirection( ctx, chewing->config.bAddPhraseForward ? 0 : 1 ); chewing_set_phraseChoiceRearward( ctx, chewing->config.bChoiceBackward ? 1 : 0 ); chewing_set_autoShiftCur( ctx, chewing->config.bAutoShiftCursor ? 1 : 0 ); chewing_set_spaceAsSelection( ctx, chewing->config.bSpaceAsSelection ? 1 : 0 ); + chewing_set_escCleanAllBuf( ctx, 1 ); } diff -Nru fcitx-chewing-0.1.3/src/eim.h fcitx-chewing-0.2.1/src/eim.h --- fcitx-chewing-0.1.3/src/eim.h 2012-09-02 06:44:34.000000000 +0000 +++ fcitx-chewing-0.2.1/src/eim.h 2013-06-03 18:02:38.000000000 +0000 @@ -42,6 +42,7 @@ __EXPORT_API boolean FcitxChewingInit(void*); __EXPORT_API void FcitxChewingReset(void* arg); + typedef struct _FcitxChewingConfig { FcitxGenericConfig config; boolean bAddPhraseForward; @@ -49,6 +50,7 @@ boolean bAutoShiftCursor; boolean bSpaceAsSelection; int layout; + int selkey; } FcitxChewingConfig; typedef struct _FcitxChewing { diff -Nru fcitx-chewing-0.1.3/src/fcitx-chewing.conf.in fcitx-chewing-0.2.1/src/fcitx-chewing.conf.in --- fcitx-chewing-0.1.3/src/fcitx-chewing.conf.in 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-chewing-0.2.1/src/fcitx-chewing.conf.in 2013-06-03 18:02:38.000000000 +0000 @@ -0,0 +1,9 @@ +[Addon] +Name=fcitx-chewing +_GeneralName=Chewing +_Comment=Chewing Wrapper For Fcitx +Category=InputMethod +Enabled=True +Library=fcitx-chewing.so +Type=SharedLibrary +IMRegisterMethod=ConfigFile diff -Nru fcitx-chewing-0.1.3/src/fcitx-chewing.desc fcitx-chewing-0.2.1/src/fcitx-chewing.desc --- fcitx-chewing-0.1.3/src/fcitx-chewing.desc 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-chewing-0.2.1/src/fcitx-chewing.desc 2013-06-03 18:02:38.000000000 +0000 @@ -0,0 +1,50 @@ +[Chewing/SelectionKey] +Type=Enum +Description=Selection Key +DefaultValue=1234567890 +EnumCount=6 +Enum0=1234567890 +Enum1=asdfghjkl; +Enum2=asdfzxcv89 +Enum3=asdfjkl789 +Enum4=aoeuhtn789 +Enum5=1234qweras + +[Chewing/AddPhraseForward] +Type=Boolean +Description=Add Phrase Forward +DefaultValue=False + +[Chewing/ChoiceBackward] +Type=Boolean +Description=Backward phrase choice +DefaultValue=True + +[Chewing/AutoShiftCursor] +Type=Boolean +Description=Automatically shift cursor +DefaultValue=True + +[Chewing/SpaceAsSelection] +Type=Boolean +Description=Space as selection key +DefaultValue=True + +[Chewing/Layout] +Type=Enum +Description=Keyboard Layout +DefaultValue=Default Keyboard +EnumCount=10 +Enum0=Default Keyboard +Enum1=Hsu's Keyboard +Enum2=IBM Keyboard +Enum3=Gin-Yieh Keyboard +Enum4=ETen Keyboard +Enum5=ETen26 Keyboard +Enum6=Dvorak Keyboard +Enum7=Dvorak Keyboard with Hsu's support +Enum8=DACHEN_CP26 Keyboard +Enum9=Han-Yu PinYin Keyboard + +[DescriptionFile] +LocaleDomain=fcitx-chewing