From: Peng Huang Date: Thu, 15 Apr 2010 00:30:32 +0000 (+0800) Subject: Fix several bugs in SpecialTable X-Git-Tag: 1.3.10~217 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d48cbf22c71b41ea14d7fb4e58dc24153ca1331a;p=platform%2Fupstream%2Fibus-libpinyin.git Fix several bugs in SpecialTable --- diff --git a/src/SpecialTable.cc b/src/SpecialTable.cc index 87c4105..2cd6be9 100644 --- a/src/SpecialTable.cc +++ b/src/SpecialTable.cc @@ -106,18 +106,18 @@ public: const std::string weekday_cn (void) { static const gchar *week_num[] = { - "一", "二", "三", "四", "五", "六", "日", + "日", "一", "二", "三", "四", "五", "六" }; return week_num[localtime (&m_time)->tm_wday]; } const std::string hour_cn (guint i) { static const gchar *hour_num[] = { - "一", "二", "三", "四", "五", - "六", "七", "八", "九", "十", - "十一", "十二", "十三", "十四", "十五", - "十六", "十七", "十八", "十九", "二十", - "二十一", "二十二", "二十三", "零" + "零", "一", "二", "三", "四", + "五", "六", "七", "八", "九", + "十", "十一", "十二", "十三", "十四", + "十五", "十六", "十七", "十八", "十九", + "二十", "二十一", "二十二", "二十三", }; return hour_num[i]; } @@ -136,8 +136,8 @@ public: "五", "六", "七", "八", "九", "", "十","二十", "三十" }; - guint day = localtime (&m_time)->tm_mday + 1; - return std::string () + day_num[day / 10 + 10] + day_num[day % 10]; + guint day = localtime (&m_time)->tm_mday; + return std::string (day_num[day / 10 + 10]) + day_num[day % 10]; } const std::string minsec_cn (guint i) { @@ -147,7 +147,7 @@ public: "零", "十","二十", "三十", "四十" "五十", "六十" }; - return std::string () + num[i / 10 + 10] + num[i % 10]; + return std::string (num[i / 10 + 10]) + num[i % 10]; } const std::string variable (const std::string &name) { @@ -155,14 +155,14 @@ public: if (name == "year_yy") return dec ((localtime (&m_time)->tm_year + 1900) % 100, "%02d"); if (name == "month") return dec (localtime (&m_time)->tm_mon + 1); if (name == "month_mm") return dec (localtime (&m_time)->tm_mon + 1, "%02d"); - if (name == "day") return dec (localtime (&m_time)->tm_mday + 1); - if (name == "day_dd") return dec (localtime (&m_time)->tm_mday + 1, "%02d"); + if (name == "day") return dec (localtime (&m_time)->tm_mday); + if (name == "day_dd") return dec (localtime (&m_time)->tm_mday, "%02d"); if (name == "weekday") return dec (localtime (&m_time)->tm_wday + 1); - if (name == "fullhour") return dec (localtime (&m_time)->tm_hour + 1, "%02d"); - if (name == "falfhour") return dec ((localtime (&m_time)->tm_hour + 1) % 12, "%02d"); + if (name == "fullhour") return dec (localtime (&m_time)->tm_hour, "%02d"); + if (name == "falfhour") return dec (localtime (&m_time)->tm_hour % 12, "%02d"); if (name == "ampm") return localtime (&m_time)->tm_hour < 12 ? "AM" : "PM"; - if (name == "minute") return dec (localtime (&m_time)->tm_min + 1, "%02d"); - if (name == "second") return dec (localtime (&m_time)->tm_sec + 1, "%02d"); + if (name == "minute") return dec (localtime (&m_time)->tm_min, "%02d"); + if (name == "second") return dec (localtime (&m_time)->tm_sec, "%02d"); if (name == "year_cn") return year_cn (); if (name == "year_yy_cn") return year_cn (TRUE); if (name == "month_cn") return month_cn (); @@ -171,8 +171,8 @@ public: if (name == "fullhour_cn") return fullhour_cn (); if (name == "halfhour_cn") return halfhour_cn (); if (name == "ampm_cn") return localtime (&m_time)->tm_hour < 12 ? "上午" : "下午"; - if (name == "minute_cn") return minsec_cn (localtime (&m_time)->tm_min + 1); - if (name == "second_cn") return minsec_cn (localtime (&m_time)->tm_sec + 1); + if (name == "minute_cn") return minsec_cn (localtime (&m_time)->tm_min); + if (name == "second_cn") return minsec_cn (localtime (&m_time)->tm_sec); return "${" + name + "}"; } @@ -185,22 +185,12 @@ private: SpecialTable::SpecialTable (void) { -#if 0 - insert ("hehe", new StaticPhrase (":-)", 0)); - insert ("haha", new StaticPhrase ("^_^", 0)); - insert ("haha", new StaticPhrase ("o(∩∩)o...哈哈", 1)); - insert ("xixi", new StaticPhrase ("(*^__^*) 嘻嘻……", 0)); - insert ("bsn", new StaticPhrase ("╭∩╮(︶︿︶)╭∩╮鄙视你!", 0)); - insert ("rq", new DynamicPhrase ("%(year)年%(month)月%(day)日", 0)); - insert ("rq", new DynamicPhrase ("%(year)-%(month)-%(day)", 1)); - insert ("sj", new DynamicPhrase ("%(hour_24)时%(minute)分%(second)秒", 0)); - insert ("sj", new DynamicPhrase ("%(hour_24):%(minute):%(second)", 1)); -#endif gchar * path = g_build_filename (g_get_user_config_dir (), "ibus", "ibus-pinyin", "phrases.txt", NULL); + + load ("phrases.txt") || load (path) || - load (PKGDATADIR G_DIR_SEPARATOR_S "phrases.txt") || - load ("phrases.txt"); + load (PKGDATADIR G_DIR_SEPARATOR_S "phrases.txt"); g_free (path); } diff --git a/src/phrases.txt b/src/phrases.txt index feea9c2..69b3053 100644 --- a/src/phrases.txt +++ b/src/phrases.txt @@ -69,4 +69,5 @@ rq=#${year}-${month}-${day} sj=#${fullhour}时${minute}分${second}秒 sj=#${fullhour}:${minute}:${second} xq=#星期${weekday_cn} +lb=#礼拜${weekday_cn} nl=#农历${lunardate}