diff options
author | Peng Wu <alexepico@gmail.com> | 2022-02-15 10:44:23 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2022-02-15 10:44:23 +0800 |
commit | d9ec5ae7aa0dc69c437aaaa0d686d5a2faaec826 (patch) | |
tree | bd303681053953af61d1567e18f3e6108c3735db | |
parent | 6cd62db2c298597a8ed77a0f21994839880ed320 (diff) | |
download | ibus-libpinyin-english-mode.tar.gz ibus-libpinyin-english-mode.tar.xz ibus-libpinyin-english-mode.zip |
Enable English mode for Full Pinyinenglish-mode
-rw-r--r-- | src/PYEnglishDatabase.cc | 2 | ||||
-rw-r--r-- | src/PYPPinyinEngine.cc | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/PYEnglishDatabase.cc b/src/PYEnglishDatabase.cc index a55ade6..6937fa3 100644 --- a/src/PYEnglishDatabase.cc +++ b/src/PYEnglishDatabase.cc @@ -221,7 +221,7 @@ EnglishDatabase::listWords(const char *prefix, std::vector<std::string> & words) const char *SQL_DB_LIST = "SELECT word FROM ( " "SELECT * FROM english UNION ALL SELECT * FROM userdb.english) " - " WHERE word LIKE \"%s%\" GROUP BY word ORDER BY SUM(freq) DESC;"; + " WHERE word GLOB \"%s*\" GROUP BY word ORDER BY SUM(freq) DESC;"; m_sql.printf (SQL_DB_LIST, prefix); int result = sqlite3_prepare_v2 (m_sqlite, m_sql.c_str(), -1, &stmt, &tail); if (result != SQLITE_OK) diff --git a/src/PYPPinyinEngine.cc b/src/PYPPinyinEngine.cc index 20e46cd..d1250f1 100644 --- a/src/PYPPinyinEngine.cc +++ b/src/PYPPinyinEngine.cc @@ -352,6 +352,17 @@ PinyinEngine::processKeyEvent (guint keyval, guint keycode, guint modifiers) break; #endif } + +#ifdef IBUS_BUILD_ENGLISH_INPUT_MODE + // for full pinyin + if ((IBUS_A <= keyval && keyval<= IBUS_Z) && + PinyinConfig::instance ().englishInputMode () && + !PinyinConfig::instance ().doublePinyin ()) { + m_input_mode = MODE_ENGLISH; + m_editors[m_input_mode]->setText ("v", 1); + } +#endif + } else { /* TODO: Unknown */ } |