Hello community, here is the log from the commit of package fcitx for openSUSE:Factory checked in at 2014-04-25 16:09:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fcitx (Old) and /work/SRC/openSUSE:Factory/.fcitx.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fcitx" Changes: -------- --- /work/SRC/openSUSE:Factory/fcitx/fcitx.changes 2014-02-21 06:55:28.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.fcitx.new/fcitx.changes 2014-04-25 16:09:06.000000000 +0200 @@ -1,0 +2,7 @@ +Thu Apr 17 16:10:11 UTC 2014 - [email protected] + +- add patch: fcitx-context-variable-disable-punc-on-the-fly.patch + * To support the recently released Sogou Pinyin, we need this + patch to allow Sogou to disable punc on the fly. + +------------------------------------------------------------------- New: ---- fcitx-context-variable-disable-punc-on-the-fly.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fcitx.spec ++++++ --- /var/tmp/diff_new_pack.SuVIIB/_old 2014-04-25 16:09:07.000000000 +0200 +++ /var/tmp/diff_new_pack.SuVIIB/_new 2014-04-25 16:09:07.000000000 +0200 @@ -34,6 +34,9 @@ Source8: openSUSE-default.tar.gz Source9: macros.%{name} BuildRequires: cairo-devel +#PATCH-FEATURE-OPENSUSE [email protected] To support sougou IM, we need a context +# variable to disable punc on the fly +Patch: fcitx-context-variable-disable-punc-on-the-fly.patch %if 0%{?suse_version} BuildRequires: dbus-1-devel BuildRequires: dbus-1-glib-devel @@ -368,6 +371,7 @@ %prep %setup -q -n %{name}-%{version} +%patch -p1 # hack to fix incompatibility of gtk-query-immodules-2.0 (bnc#845860) %if %suse_version < 1310 sed -i \ ++++++ fcitx-context-variable-disable-punc-on-the-fly.patch ++++++ From: Xuetian Weng <[email protected]> Date: Tue, 11 Mar 2014 00:13:43 +0800 Subject: add a context variable to disable punc --- src/lib/fcitx/context.h | 2 ++ src/module/punc/punc.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/lib/fcitx/context.h b/src/lib/fcitx/context.h index 32115af..05f0f91 100644 --- a/src/lib/fcitx/context.h +++ b/src/lib/fcitx/context.h @@ -70,6 +70,8 @@ extern "C" { #define CONTEXT_DISABLE_AUTO_FIRST_CANDIDATE_HIGHTLIGHT "CONTEXT_DISABLE_AUTO_FIRST_CANDIDATE_HIGHTLIGHT" /** disable auto first candidate highlight */ #define CONTEXT_DISABLE_FULLWIDTH "CONTEXT_DISABLE_FULLWIDTH" + /** disable punc module */ + #define CONTEXT_DISABLE_PUNC "CONTEXT_DISABLE_PUNC" /** * @brief register a new global context variable diff --git a/src/module/punc/punc.c b/src/module/punc/punc.c index be6dec3..3327f9c 100644 --- a/src/module/punc/punc.c +++ b/src/module/punc/punc.c @@ -154,6 +154,8 @@ void* PuncCreate(FcitxInstance* instance) PuncWhichCopy, PuncWhichFree, puncState); + FcitxInstanceRegisterWatchableContext(instance, CONTEXT_DISABLE_PUNC, FCT_Boolean, FCF_ResetOnInputMethodChange); + FcitxPuncAddFunctions(instance); return puncState; } @@ -250,6 +252,11 @@ boolean PuncPreFilter(void* arg, FcitxKeySym sym, unsigned int state, { FCITX_UNUSED(retVal); FcitxPuncState *puncState = (FcitxPuncState*)arg; + boolean disablePunc = FcitxInstanceGetContextBoolean( + puncState->owner, CONTEXT_DISABLE_PUNC); + if (disablePunc) + return false; + if (FcitxHotkeyIsHotKeySimple(sym, state) && !FcitxHotkeyIsHotKeyDigit(sym, state) && !IsHotKeyPunc(sym, state)) puncState->bLastIsNumber = false; @@ -269,6 +276,11 @@ boolean ProcessPunc(void* arg, FcitxKeySym sym, unsigned int state, INPUT_RETURN if (*retVal != IRV_TO_PROCESS) return false; + boolean disablePunc = FcitxInstanceGetContextBoolean( + puncState->owner, CONTEXT_DISABLE_PUNC); + if (disablePunc) + return false; + FcitxCandidateWordList *candList = FcitxInputStateGetCandidateList(input); if (FcitxCandidateWordGetListSize(candList) != 0) { if (FcitxCandidateWordGetHasGoneToNextPage(candList) && -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
