From a13ace8a4b349b878479474915836399cae67599 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Wed, 29 Jul 2015 14:01:08 +0800 Subject: add space show candidates option --- src/ZYConfig.cc | 1 + src/ZYConfig.h | 2 ++ src/ZYZConfig.cc | 5 +++++ src/ZYZPhoneticEditor.cc | 10 ++++++++-- 4 files changed, 16 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ZYConfig.cc b/src/ZYConfig.cc index a978da1..fcc717e 100644 --- a/src/ZYConfig.cc +++ b/src/ZYConfig.cc @@ -54,6 +54,7 @@ Config::initDefaultValues (void) m_init_trad_chinese = TRUE; m_always_input_numbers = FALSE; + m_space_show_candidates = FALSE; m_easy_symbol = TRUE; m_user_symbol = TRUE; diff --git a/src/ZYConfig.h b/src/ZYConfig.h index 6c9b2c7..cba5f78 100644 --- a/src/ZYConfig.h +++ b/src/ZYConfig.h @@ -50,6 +50,7 @@ public: gboolean initFullPunct (void) const { return m_init_full_punct; } gboolean initTradChinese (void) const { return m_init_trad_chinese; } gboolean alwaysInputNumbers (void) const { return m_always_input_numbers; } + gboolean spaceShowCandidates (void) const { return m_space_show_candidates; } std::string candidateKeys (void) const { return m_candidate_keys; } gboolean easySymbol (void) const { return m_easy_symbol; } @@ -88,6 +89,7 @@ protected: gboolean m_init_trad_chinese; gboolean m_always_input_numbers; + gboolean m_space_show_candidates; std::string m_candidate_keys; diff --git a/src/ZYZConfig.cc b/src/ZYZConfig.cc index ecf15dc..17a6a34 100644 --- a/src/ZYZConfig.cc +++ b/src/ZYZConfig.cc @@ -35,6 +35,7 @@ const gchar * const CONFIG_INIT_FULL_ENGLISH = "fullhalfenglish"; const gchar * const CONFIG_INIT_FULL_PUNCT = "fullhalfpunct"; const gchar * const CONFIG_INIT_TRAD_CHINESE = "traditionalchinese"; const gchar * const CONFIG_ALWAYS_INPUT_NUMBERS = "alwaysinputnum"; +const gchar * const CONFIG_SPACE_SHOW_CANDIDATES = "spaceshowcandidates"; const gchar * const CONFIG_KEYBOARD_LAYOUT = "keyboardlayout"; const gchar * const CONFIG_CANDIDATE_KEYS = "candidatekeys"; @@ -94,6 +95,7 @@ ZhuyinConfig::initDefaultValues (void) m_init_trad_chinese = TRUE; m_always_input_numbers = FALSE; + m_space_show_candidates = FALSE; m_candidate_keys = "1234567890"; @@ -185,6 +187,7 @@ ZhuyinConfig::readDefaultValues (void) m_init_trad_chinese = read (CONFIG_INIT_TRAD_CHINESE, true); m_always_input_numbers = read (CONFIG_ALWAYS_INPUT_NUMBERS, false); + m_space_show_candidates = read (CONFIG_SPACE_SHOW_CANDIDATES, false); gint layout = read (CONFIG_KEYBOARD_LAYOUT, 0); m_keyboard_layout = CHEWING_DEFAULT; @@ -241,6 +244,8 @@ ZhuyinConfig::valueChanged (const std::string §ion, m_init_trad_chinese = normalizeGVariant (value, true); else if (CONFIG_ALWAYS_INPUT_NUMBERS == name) m_always_input_numbers = normalizeGVariant (value, false); + else if (CONFIG_SPACE_SHOW_CANDIDATES == name) + m_space_show_candidates = normalizeGVariant (value, false); else if (CONFIG_KEYBOARD_LAYOUT == name) { gint layout = normalizeGVariant (value, 0); m_keyboard_layout = CHEWING_DEFAULT; diff --git a/src/ZYZPhoneticEditor.cc b/src/ZYZPhoneticEditor.cc index b4ed011..fa8ecb6 100644 --- a/src/ZYZPhoneticEditor.cc +++ b/src/ZYZPhoneticEditor.cc @@ -153,8 +153,14 @@ PhoneticEditor::processSpace (guint keyval, guint keycode, return TRUE; } - /* use space to show candidates. */ - assert (FALSE); + if (m_config.spaceShowCandidates ()) { + /* use space to show candidates. */ + prepareCandidates (); + update (); + return TRUE; + } else { + return insert (keyval, keycode, modifiers); + } } if (STATE_CANDIDATE_SHOWN == m_input_state || -- cgit