add ctrl switch to config
authorPeng Wu <alexepico@gmail.com>
Mon, 31 Dec 2012 02:43:58 +0000 (10:43 +0800)
committerPeng Wu <alexepico@gmail.com>
Mon, 31 Dec 2012 02:43:58 +0000 (10:43 +0800)
src/PYConfig.cc
src/PYConfig.h
src/PYPConfig.cc

index 9db78da..c9fd251 100644 (file)
@@ -46,6 +46,7 @@ Config::initDefaultValues (void)
 {
     m_orientation = IBUS_ORIENTATION_HORIZONTAL;
     m_page_size = 5;
+    m_ctrl_switch = FALSE;
     m_shift_select_candidate = FALSE;
     m_minus_equal_page = TRUE;
     m_comma_period_page = TRUE;
index 560e852..8cfc148 100644 (file)
@@ -44,6 +44,7 @@ public:
     guint option (void) const                   { return m_option & m_option_mask; }
     guint orientation (void) const              { return m_orientation; }
     guint pageSize (void) const                 { return m_page_size; }
+    gboolean ctrlSwitch(void) const             { return m_ctrl_switch; }
     gboolean shiftSelectCandidate (void) const  { return m_shift_select_candidate; }
     gboolean minusEqualPage (void) const        { return m_minus_equal_page; }
     gboolean commaPeriodPage (void) const       { return m_comma_period_page; }
@@ -88,6 +89,7 @@ protected:
 
     gint m_orientation;
     guint m_page_size;
+    gboolean m_ctrl_switch;
     gboolean m_shift_select_candidate;
     gboolean m_minus_equal_page;
     gboolean m_comma_period_page;
index a670d59..216d1cf 100644 (file)
@@ -30,6 +30,7 @@ const gchar * const CONFIG_CORRECT_PINYIN            = "CorrectPinyin";
 const gchar * const CONFIG_FUZZY_PINYIN              = "FuzzyPinyin";
 const gchar * const CONFIG_ORIENTATION               = "LookupTableOrientation";
 const gchar * const CONFIG_PAGE_SIZE                 = "LookupTablePageSize";
+const gchar * const CONFIG_CTRL_SWITCH               = "CtrlSwitch";
 const gchar * const CONFIG_SHIFT_SELECT_CANDIDATE    = "ShiftSelectCandidate";
 const gchar * const CONFIG_MINUS_EQUAL_PAGE          = "MinusEqualPage";
 const gchar * const CONFIG_COMMA_PERIOD_PAGE         = "CommaPeriodPage";
@@ -81,6 +82,7 @@ LibPinyinConfig::initDefaultValues (void)
 
     m_orientation = IBUS_ORIENTATION_HORIZONTAL;
     m_page_size = 5;
+    m_ctrl_switch = FALSE;
     m_shift_select_candidate = FALSE;
     m_minus_equal_page = TRUE;
     m_comma_period_page = TRUE;
@@ -152,6 +154,7 @@ LibPinyinConfig::readDefaultValues (void)
         m_page_size = 5;
         g_warn_if_reached ();
     }
+    m_ctrl_switch = read(CONFIG_CTRL_SWITCH, FALSE);
     m_dictionaries = read (CONFIG_DICTIONARIES, std::string("2"));
 
     /* fuzzy pinyin */
@@ -221,8 +224,9 @@ LibPinyinConfig::valueChanged (const std::string &section,
             m_page_size = 5;
             g_warn_if_reached ();
         }
-    }
-    else if (CONFIG_DICTIONARIES == name) {
+    } else if (CONFIG_CTRL_SWITCH == name) {
+        m_ctrl_switch = normalizeGVariant (value, FALSE);
+    } else if (CONFIG_DICTIONARIES == name) {
         m_dictionaries = normalizeGVariant (value, std::string("2"));
     }
     /* fuzzy pinyin */