diff options
author | Peng Wu <alexepico@gmail.com> | 2019-12-19 15:00:01 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2019-12-19 15:00:01 +0800 |
commit | 362e5a9dc697decd93382dd66507d4838800cbf9 (patch) | |
tree | a173c1a244ffa0ecc80c63aea100fd2886eaf3d8 | |
parent | 503de9a7f203eb3d98f1313e5e0acd2ad77be2a7 (diff) | |
download | ibus-libpinyin-362e5a9dc697decd93382dd66507d4838800cbf9.tar.gz ibus-libpinyin-362e5a9dc697decd93382dd66507d4838800cbf9.tar.xz ibus-libpinyin-362e5a9dc697decd93382dd66507d4838800cbf9.zip |
write removeCandidate method
-rw-r--r-- | src/PYPEmojiCandidates.cc | 9 | ||||
-rw-r--r-- | src/PYPEmojiCandidates.h | 1 | ||||
-rw-r--r-- | src/PYPLuaConverterCandidates.cc | 12 | ||||
-rw-r--r-- | src/PYPLuaConverterCandidates.h | 1 | ||||
-rw-r--r-- | src/PYPLuaTriggerCandidates.cc | 9 | ||||
-rw-r--r-- | src/PYPLuaTriggerCandidates.h | 1 | ||||
-rw-r--r-- | src/PYPTradCandidates.cc | 12 | ||||
-rw-r--r-- | src/PYPTradCandidates.h | 1 |
8 files changed, 46 insertions, 0 deletions
diff --git a/src/PYPEmojiCandidates.cc b/src/PYPEmojiCandidates.cc index 928e617..805b2e4 100644 --- a/src/PYPEmojiCandidates.cc +++ b/src/PYPEmojiCandidates.cc @@ -111,3 +111,12 @@ EmojiCandidates::selectCandidate (EnhancedCandidate & enhanced) return SELECT_CANDIDATE_COMMIT; } + +gboolean +EmojiCandidates::removeCandidate (EnhancedCandidate & enhanced) +{ + assert (CANDIDATE_EMOJI == enhanced.m_candidate_type); + assert (0 == enhanced.m_candidate_id); + + return FALSE; +} diff --git a/src/PYPEmojiCandidates.h b/src/PYPEmojiCandidates.h index 19a2c6d..fe69623 100644 --- a/src/PYPEmojiCandidates.h +++ b/src/PYPEmojiCandidates.h @@ -36,6 +36,7 @@ public: gboolean processCandidates (std::vector<EnhancedCandidate> & candidates); int selectCandidate (EnhancedCandidate & enhanced); + gboolean removeCandidate (EnhancedCandidate & enhanced); protected: EnhancedCandidate m_candidate; diff --git a/src/PYPLuaConverterCandidates.cc b/src/PYPLuaConverterCandidates.cc index 472fc90..81b93b6 100644 --- a/src/PYPLuaConverterCandidates.cc +++ b/src/PYPLuaConverterCandidates.cc @@ -100,3 +100,15 @@ LuaConverterCandidates::selectCandidate (EnhancedCandidate & enhanced) return action; } + +gboolean +LuaConverterCandidates::removeCandidate (EnhancedCandidate & enhanced) +{ + guint id = enhanced.m_candidate_id; + assert (CANDIDATE_LUA_CONVERTER == enhanced.m_candidate_type); + + if (G_UNLIKELY (id >= m_candidates.size ())) + return FALSE; + + return m_editor->removeCandidateInternal (m_candidates[id]); +} diff --git a/src/PYPLuaConverterCandidates.h b/src/PYPLuaConverterCandidates.h index be0204b..a520e65 100644 --- a/src/PYPLuaConverterCandidates.h +++ b/src/PYPLuaConverterCandidates.h @@ -44,6 +44,7 @@ public: gboolean processCandidates (std::vector<EnhancedCandidate> & candidates); int selectCandidate (EnhancedCandidate & enhanced); + gboolean removeCandidate (EnhancedCandidate & enhanced); protected: std::vector<EnhancedCandidate> m_candidates; diff --git a/src/PYPLuaTriggerCandidates.cc b/src/PYPLuaTriggerCandidates.cc index 9201f11..486819b 100644 --- a/src/PYPLuaTriggerCandidates.cc +++ b/src/PYPLuaTriggerCandidates.cc @@ -99,3 +99,12 @@ LuaTriggerCandidates::selectCandidate (EnhancedCandidate & enhanced) return SELECT_CANDIDATE_COMMIT; } + +gboolean +LuaTriggerCandidates::removeCandidate (EnhancedCandidate & enhanced) +{ + assert (CANDIDATE_LUA_TRIGGER == enhanced.m_candidate_type); + assert (0 == enhanced.m_candidate_id); + + return FALSE; +} diff --git a/src/PYPLuaTriggerCandidates.h b/src/PYPLuaTriggerCandidates.h index bf926e8..82287a8 100644 --- a/src/PYPLuaTriggerCandidates.h +++ b/src/PYPLuaTriggerCandidates.h @@ -41,6 +41,7 @@ public: gboolean processCandidates (std::vector<EnhancedCandidate> & candidates); int selectCandidate (EnhancedCandidate & enhanced); + gboolean removeCandidate (EnhancedCandidate & enhanced); protected: Pointer<IBusEnginePlugin> m_lua_plugin; diff --git a/src/PYPTradCandidates.cc b/src/PYPTradCandidates.cc index c16b669..fba4c9d 100644 --- a/src/PYPTradCandidates.cc +++ b/src/PYPTradCandidates.cc @@ -68,3 +68,15 @@ TraditionalCandidates::selectCandidate (EnhancedCandidate & enhanced) return action; } + +gboolean +TraditionalCandidates::removeCandidate (EnhancedCandidate & enhanced) +{ + guint id = enhanced.m_candidate_id; + assert (CANDIDATE_TRADITIONAL_CHINESE == enhanced.m_candidate_type); + + if (G_UNLIKELY (id >= m_candidates.size ())) + return FALSE; + + return m_editor->removeCandidateInternal (m_candidates[id]); +} diff --git a/src/PYPTradCandidates.h b/src/PYPTradCandidates.h index 377206c..3ad18a6 100644 --- a/src/PYPTradCandidates.h +++ b/src/PYPTradCandidates.h @@ -41,6 +41,7 @@ public: gboolean processCandidates (std::vector<EnhancedCandidate> & candidates); int selectCandidate (EnhancedCandidate & enhanced); + gboolean removeCandidate (EnhancedCandidate & enhanced); protected: std::vector<EnhancedCandidate> m_candidates; |