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]

Reply via email to