← Back to team overview

ubuntukylin-members team mailing list archive

[Merge] lp:~mutse-young/chinese-calendar/trunk into lp:~ubuntukylin-members/chinese-calendar/chinese-calendar

 

mutse has proposed merging lp:~mutse-young/chinese-calendar/trunk into lp:~ubuntukylin-members/chinese-calendar/chinese-calendar.

Requested reviews:
  UbuntuKylin Members (ubuntukylin-members)

For more details, see:
https://code.launchpad.net/~mutse-young/chinese-calendar/trunk/+merge/162613

  * add skins changing functional code
  * add default and black skin qss files
-- 
https://code.launchpad.net/~mutse-young/chinese-calendar/trunk/+merge/162613
Your team UbuntuKylin Members is requested to review the proposed merge of lp:~mutse-young/chinese-calendar/trunk into lp:~ubuntukylin-members/chinese-calendar/chinese-calendar.
=== added file 'KylinLunar.db'
Binary files KylinLunar.db	1970-01-01 00:00:00 +0000 and KylinLunar.db	2013-05-06 14:54:28 +0000 differ
=== renamed file 'KylinLunar.db' => 'KylinLunar.db.moved'
=== added file 'calendar.ui'
--- calendar.ui	1970-01-01 00:00:00 +0000
+++ calendar.ui	2013-05-06 14:54:28 +0000
@@ -0,0 +1,1359 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Calendar</class>
+ <widget class="QWidget" name="Calendar">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>520</width>
+    <height>350</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Calendar</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
+  <widget class="QLabel" name="label_3">
+   <property name="geometry">
+    <rect>
+     <x>5</x>
+     <y>39</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+    </font>
+   </property>
+   <property name="text">
+    <string>星期日</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_4">
+   <property name="geometry">
+    <rect>
+     <x>60</x>
+     <y>39</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>11</pointsize>
+    </font>
+   </property>
+   <property name="text">
+    <string>星期一</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_5">
+   <property name="geometry">
+    <rect>
+     <x>115</x>
+     <y>39</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>11</pointsize>
+    </font>
+   </property>
+   <property name="text">
+    <string>星期二</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_6">
+   <property name="geometry">
+    <rect>
+     <x>170</x>
+     <y>39</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>11</pointsize>
+    </font>
+   </property>
+   <property name="text">
+    <string>星期三</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_7">
+   <property name="geometry">
+    <rect>
+     <x>225</x>
+     <y>39</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>11</pointsize>
+    </font>
+   </property>
+   <property name="text">
+    <string>星期四</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_8">
+   <property name="geometry">
+    <rect>
+     <x>280</x>
+     <y>39</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>11</pointsize>
+    </font>
+   </property>
+   <property name="text">
+    <string>星期五</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_9">
+   <property name="geometry">
+    <rect>
+     <x>335</x>
+     <y>39</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+    </font>
+   </property>
+   <property name="text">
+    <string>星期六</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_10">
+   <property name="geometry">
+    <rect>
+     <x>400</x>
+     <y>60</y>
+     <width>110</width>
+     <height>68</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_12">
+   <property name="geometry">
+    <rect>
+     <x>400</x>
+     <y>40</y>
+     <width>110</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_13">
+   <property name="geometry">
+    <rect>
+     <x>400</x>
+     <y>128</y>
+     <width>110</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_14">
+   <property name="geometry">
+    <rect>
+     <x>400</x>
+     <y>148</y>
+     <width>110</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_15">
+   <property name="geometry">
+    <rect>
+     <x>393</x>
+     <y>3</y>
+     <width>121</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="TbpreviousYear">
+   <property name="geometry">
+    <rect>
+     <x>5</x>
+     <y>3</y>
+     <width>25</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>14</pointsize>
+     <weight>50</weight>
+     <bold>false</bold>
+    </font>
+   </property>
+   <property name="toolTip">
+    <string>Previous Year</string>
+   </property>
+   <property name="text">
+    <string>&lt;</string>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label">
+   <property name="geometry">
+    <rect>
+     <x>100</x>
+     <y>3</y>
+     <width>25</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+    </font>
+   </property>
+   <property name="text">
+    <string>年</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="TbnextYear">
+   <property name="geometry">
+    <rect>
+     <x>125</x>
+     <y>3</y>
+     <width>25</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>14</pointsize>
+     <weight>50</weight>
+     <bold>false</bold>
+    </font>
+   </property>
+   <property name="toolTip">
+    <string>Next Year</string>
+   </property>
+   <property name="text">
+    <string>&gt;</string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="TbpreviousMonth">
+   <property name="geometry">
+    <rect>
+     <x>150</x>
+     <y>3</y>
+     <width>25</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>14</pointsize>
+     <weight>50</weight>
+     <italic>false</italic>
+     <bold>false</bold>
+     <underline>false</underline>
+     <stylestrategy>PreferDefault</stylestrategy>
+    </font>
+   </property>
+   <property name="toolTip">
+    <string>Previous Month</string>
+   </property>
+   <property name="text">
+    <string>&lt;</string>
+   </property>
+  </widget>
+  <widget class="QComboBox" name="monthCombo">
+   <property name="geometry">
+    <rect>
+     <x>175</x>
+     <y>3</y>
+     <width>60</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+    </font>
+   </property>
+   <item>
+    <property name="text">
+     <string>1</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>3</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>4</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>5</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>6</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>7</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>8</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>9</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>10</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>11</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>12</string>
+    </property>
+   </item>
+  </widget>
+  <widget class="QLabel" name="label_2">
+   <property name="geometry">
+    <rect>
+     <x>235</x>
+     <y>3</y>
+     <width>25</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+    </font>
+   </property>
+   <property name="text">
+    <string>月</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="TbnextMonth">
+   <property name="geometry">
+    <rect>
+     <x>260</x>
+     <y>3</y>
+     <width>25</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>14</pointsize>
+     <weight>50</weight>
+     <italic>false</italic>
+     <bold>false</bold>
+     <underline>false</underline>
+     <stylestrategy>PreferDefault</stylestrategy>
+    </font>
+   </property>
+   <property name="toolTip">
+    <string>Next Month</string>
+   </property>
+   <property name="text">
+    <string>&gt;</string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="backtotoday">
+   <property name="geometry">
+    <rect>
+     <x>290</x>
+     <y>3</y>
+     <width>50</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>12</pointsize>
+     <weight>75</weight>
+     <italic>false</italic>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true"/>
+   </property>
+   <property name="text">
+    <string>今日</string>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_11">
+   <property name="geometry">
+    <rect>
+     <x>400</x>
+     <y>185</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>13</pointsize>
+     <weight>75</weight>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="text">
+    <string>宜</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_16">
+   <property name="geometry">
+    <rect>
+     <x>455</x>
+     <y>185</y>
+     <width>55</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>文泉驿微米黑</family>
+     <pointsize>13</pointsize>
+     <weight>75</weight>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="text">
+    <string>忌</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QComboBox" name="YearSelect">
+   <property name="geometry">
+    <rect>
+     <x>30</x>
+     <y>3</y>
+     <width>70</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <item>
+    <property name="text">
+     <string>1900</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1901</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1902</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1903</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1904</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1905</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1906</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1907</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1908</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1909</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1910</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1911</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1912</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1913</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1914</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1915</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1916</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1917</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1918</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1919</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1920</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1921</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1922</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1923</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1924</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1925</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1926</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1927</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1928</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1929</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1930</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1931</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1932</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1933</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1934</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1935</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1936</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1937</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1938</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1939</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1940</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1941</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1942</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1943</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1944</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1945</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1946</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1947</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1948</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1949</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1950</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1951</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1952</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1953</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1954</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1955</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1956</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1957</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1958</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1959</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1960</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1961</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1962</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1963</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1964</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1965</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1966</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1967</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1968</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1969</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1970</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1971</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1972</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1973</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1974</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1975</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1976</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1977</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1978</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1979</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1980</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1981</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1982</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1983</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1984</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1985</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1986</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1987</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1988</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1989</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1990</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1991</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1992</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1993</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1994</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1995</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1996</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1997</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1998</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>1999</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2000</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2001</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2002</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2003</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2004</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2005</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2006</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2007</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2008</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2009</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2010</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2011</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2012</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2013</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2014</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2015</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2016</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2017</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2018</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2019</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2020</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2021</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2022</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2023</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2024</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2025</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2026</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2027</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2028</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2029</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2030</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2031</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2032</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2033</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2034</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2035</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2036</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2037</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2038</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2039</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2040</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2041</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2042</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2043</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2044</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2045</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2046</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2047</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2048</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2049</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>2050</string>
+    </property>
+   </item>
+  </widget>
+  <widget class="QLabel" name="label_17">
+   <property name="geometry">
+    <rect>
+     <x>400</x>
+     <y>215</y>
+     <width>55</width>
+     <height>100</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignHCenter|Qt::AlignTop</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_18">
+   <property name="geometry">
+    <rect>
+     <x>455</x>
+     <y>215</y>
+     <width>55</width>
+     <height>100</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignHCenter|Qt::AlignTop</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_19">
+   <property name="geometry">
+    <rect>
+     <x>20</x>
+     <y>320</y>
+     <width>120</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>TextLabel</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+   </property>
+  </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

=== renamed file 'calendar.ui' => 'calendar.ui.moved'
=== added file 'ccbo.cpp'
--- ccbo.cpp	1970-01-01 00:00:00 +0000
+++ ccbo.cpp	2013-05-06 14:54:28 +0000
@@ -0,0 +1,490 @@
+/*
+ * This file is part of the chinese-calendar project
+ * The code reference to "Chinese Traditional Calendar Library"
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+/*
+* Chinese Tradional Calendar Library
+* Copyright (C) 2002-2003 Wang Yang
+* Copyright (C) 2003      donaldzju@xxxxxxxxxx
+*/
+
+#include "ccbo.h"
+
+CCBO::CCBO(void){}
+CCBO::~CCBO(void){}
+
+int CCBO::ctcl_calendar_type(int y, int m, int d, int opt)
+{
+  int days_of_month[13]={0,31,28,31,30,31,30,31,30,30,31,30,31};
+  if(opt==1){
+    if(y>1582 || (y==1582 && m>10) || (y==1582 && m==10 && d>14) ){
+      if( (y%400==0) || (y%4==0 && y%100!=0) )days_of_month[2]++;
+      if(m>0 && m<=12 && d>0 && d<=days_of_month[m])
+    return(1);
+      else
+	return(-1);
+    }else if(y==1582 && m==10 && d>=5 && d<=14){ 
+      return(-1);
+    }else{
+      if(y%4==0)days_of_month[2]++;
+      if(m>0 && m<=12 && d>0 && d<=days_of_month[m])
+    return(0);
+      else 
+	return(-1);
+    }
+  }
+  
+  if(opt==2)
+    return(1);
+  return(0);
+}
+
+int CCBO::ctcl_date_to_days(int y,int m,int d)
+{
+  int days=0,i;
+  int type=ctcl_calendar_type(y,m,d,1);
+  int dm[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//Days of each month
+  if(type!=0){
+    if( (y%100!=0 && y%4==0) || (y%400==0) )
+      dm[2]+=1;
+  }else{
+    if(y%4==0)
+      dm[2]+=1;
+  }
+  for(i=0;i<=m-1;i++){
+    days+=dm[i];
+  }
+  days+=d;
+  if(y==1582){
+    if(type==1)
+      days-=10;
+    if(type==-1)
+      days=-1;
+  }
+  return days;
+}
+
+int CCBO::ctcl_days_to_date(int y,int x)
+{
+  int m=1;
+  int i;
+  for(i=1;i<=12;i++){
+    int d=ctcl_date_to_days(y,i+1,1)-ctcl_date_to_days(y,i,1);
+    if(x<=d || i==12){
+      m=i;
+      break;
+    }else{ 
+       x-=d; 
+    }
+  }
+  return 100*m+x;
+}
+
+int CCBO::days_from_era(int y)
+{
+  int days=(y-1)*365 + (y-1)/4;
+  if(y>1582)
+    days+= -((y-1)/100) + (y-1)/400;
+  return days;
+}
+
+int CCBO::ctcl_standard_days(int y,int m,int d)
+{
+  int days=(y-1)*365 + (y-1)/4 + ctcl_date_to_days(y,m,d) - 2;
+  if(y>1582)
+    days+= -((y-1)/100) + ((y-1)/400) + 2;
+  return days;
+}
+
+double CCBO::ctcl_julian_day(int y,int m,int d,int h,int min,int sec,int zone)
+{
+  int type=ctcl_calendar_type(y,m,d,1);
+  double jt=(h+(min+sec/60.0)/60.0)/24.0-0.5-zone/24.0;
+  double jd=(type!=0) ? (ctcl_standard_days(y,m,d)+1721425+jt) : 
+    (ctcl_standard_days(y,m,d)+1721425+jt);
+  return jd;
+}
+
+int CCBO::ctcl_day_of_week(int y,int m,int d)
+{
+  return ctcl_standard_days(y,m,d)%7;
+}
+
+double CCBO::ctcl_solar_term(int y,int n,int t)
+{
+  double jd = y * (365.2423112 - 6.4e-14*(y-100)*(y-100) - 3.047e-8*(y-100))
+    + 15.218427 * n + 1721050.71301;
+  double zeta = 3.0e-4 * y - 0.372781384 - 0.2617913325 * n;
+  double yd = ( 1.945 * sin(zeta) - 0.01206 * sin(2*zeta) ) 
+    * ( 1.048994 - 2.583e-5 *y );
+  double sd =-18e-4*sin(2.313908653*y-0.439822951-3.0443*n);
+  return (t==1)?(jd+yd+sd-ctcl_standard_days(y,1,0)-1721425)
+    :(jd-ctcl_standard_days(y,1,0)-1721425);
+}
+
+double CCBO::ctcl_tail(double x)
+{
+  return x-floor(x);
+}
+
+double CCBO::ctcl_rem(double x,double w)
+{
+  return ctcl_tail(x/w)*w;
+}
+
+double CCBO::ctcl_round(double x){
+  return floor(x+0.5);
+}
+
+int CCBO::ctcl_gan(int x)
+{
+  return x%10;
+}
+
+int CCBO::ctcl_zhi(int x)
+{
+  return x%12;
+}
+
+int CCBO::ctcl_year_ganzhi(int y,int m,int d,int h)
+{
+  if ( (ctcl_date_to_days(y,m,d)+h/24.0) 
+       < ctcl_solar_term(y,3,1)-1.0 )
+    y-=1;
+  return ctcl_round( ctcl_rem(y-3.0,60.0) );
+}
+
+double CCBO::ang(double x,double t,double c1,double t0,double t2,double t3)
+{
+  return ctcl_tail(c1*x)*2*M_PI+t0-t2*t*t-t3*t*t*t;
+}
+
+int CCBO::ctcl_lunar_date(int y,int m,int d)
+{
+  int lunar_date=-1;
+  const double rpi=180/M_PI;
+  const double zone=8.0;
+  double t=(y-1899.5)/100.0;
+  double ms=floor((y-1900)*12.3685);
+  double f0=ang(ms,t,0,0.75933,2.172e-4,1.55e-7)
+    +0.53058868*ms-8.37e-4*t+zone/24.0+0.5;
+  double fc=0.1734-3.93e-4*t;
+  double j0=693595+29*ms;
+  double aa0=ang(ms,t,0.08084821133,359.2242/rpi,
+		 0.0000333/rpi,0.00000347/rpi);
+  double ab0=ang(ms,t,7.171366127999999e-2,306.0253/rpi,
+		 -0.0107306/rpi,-0.00001236/rpi);
+  double ac0=ang(ms,t,0.08519585128,21.2964/rpi,
+		 0.0016528/rpi,0.00000239/rpi);
+  int i;
+  for(i=-1;i<=13;i+=1){
+    double aa=aa0+0.507984293*i;
+    double ab=ab0+6.73377553*i;
+    double ac=ac0+6.818486628*i;
+    double f1=f0+1.53058868*i+fc*sin(aa)-0.4068*sin(ab)+0.0021*sin(2*aa)
+      +0.0161*sin(2*ab)+0.0104*sin(2*ac)-0.0074*sin(aa-ab)-0.0051*sin(aa+ab);
+    double j=j0+28*i+f1;
+    int diff=ctcl_standard_days(y,m,d)-floor(j);
+    if( diff>=0 && diff<=29 )
+      lunar_date=diff+1;
+  } 
+  return(lunar_date);
+}
+
+int CCBO::ctcl_leap_month(int y)
+{
+	char leap=lunarstr.mid(y-beginning_year,2).at(0);
+	if(leap=='a')
+		leap='0'+10;
+	if(leap=='b')
+		leap='0'+11;
+	if(leap=='c')
+		leap='0'+12;
+	return leap-'0';
+}
+
+int CCBO::ctcl_lunar_month(int y,int m,int d)
+{
+  double lunar_date=ctcl_lunar_date(y,m,d);
+  int lunar_days=lunar_date-floor(lunar_date/100)*100;
+  int leap_num=0;
+  int i;
+  int non_leap;
+  int lunar_month;
+  
+  for(i=-849;i<=y;i++){
+    if(ctcl_leap_month(i)!=0)
+      leap_num++;
+  }
+  
+  non_leap=ctcl_round((ctcl_standard_days(y,m,d)
+	      -ctcl_standard_days(-849,1,21)
+	      -lunar_days)/29.530588)-leap_num;
+  
+  if(y<=240) non_leap++;
+  if(y<=237) non_leap--;
+  if(y<24) non_leap++;
+  if(y<9) non_leap--;
+  if(y<=-255) non_leap++;   
+  if(y<=-256) non_leap+=2;
+  if(y<=-722) non_leap++;
+
+  lunar_month=ctcl_round(ctcl_rem(non_leap-3.0,12.0)+1.0);
+  if(lunar_month==ctcl_leap_month(y-1) && m==1 && d<lunar_days)
+    lunar_month*=-1;
+  else if(lunar_month==ctcl_leap_month(y))
+    lunar_month*=-1;
+  else if(lunar_month<ctcl_leap_month(y) || ( m<lunar_month && ctcl_leap_month(y) ) )
+    lunar_month++;
+  else lunar_month=ctcl_round(ctcl_rem(lunar_month-1,12)+1);
+
+  return lunar_month;  
+}
+QString CCBO::ctcl_displaydata(int y, int m, int d)
+{
+    QString QueryStr;
+    QString data;
+    QueryStr=QString("select note from cnote where y=%1 and m=%2 and d=%3").arg(y).arg(m).arg(d);
+    data=ctcl_common_query("cnote",QueryStr);
+    return data;
+}
+
+int CCBO::ctcl_savenote(int  y,int m, int d ,QString textedit)
+{
+    QString QueryStr;
+    QString InsertStr;
+    QString UpdateStr;
+    QString note;
+    QString insert;
+    QueryStr=QString("select note from cnote where y=%1 and m=%2 and d=%3").arg(y).arg(m).arg(d);
+    note=ctcl_common_query("cnote",QueryStr);
+    if(textedit.isEmpty()&&note.isEmpty())
+        return 0;
+    if(note.isEmpty())
+    {   InsertStr=QString("INSERT INTO cnote(y,m,d,note) VALUES(%1,%2,%3,'%4');").arg(y).arg(m).arg(d).arg(textedit);    
+        ctcl_common_query("cnote",InsertStr);
+    }else{
+        UpdateStr=QString("UPDATE cnote SET note = '%4' where y=%1 and m=%2 and d=%3").arg(y).arg(m).arg(d).arg(textedit);        
+        ctcl_common_query("cnote",UpdateStr);
+   }
+}
+
+int CCBO::ctcl_solar_to_lunar(int y,int m,int d,struct CCalendar* ctc)
+{
+  int r,i;
+  char buf[10];
+       ::qsnprintf(buf, 10, "%02d%02d", m,d);
+  QString MD = QString::fromAscii(buf);
+  QString QueryStr;
+
+  QueryStr=QString("select Ji from yiji where Year=%1 and Month=%2 and Day=%3").arg(y).arg(m).arg(d);
+  ctc->ji=ctcl_common_query("yiji",QueryStr);
+  QueryStr=QString("select Yi from yiji where Year=%1 and Month=%2 and Day=%3").arg(y).arg(m).arg(d);
+  ctc->yi=ctcl_common_query("yiji",QueryStr);
+
+
+  QueryStr=QString("select VALUE from holiday where DATA='"+MD+"'"); 
+  ctc->holiday=ctcl_common_query("holiday",QueryStr);
+
+  int type=ctcl_calendar_type(y,m,d,1);
+  QueryStr=QString("select VALUE from caltype where ID=%1").arg(type); 
+  ctc->caltype=ctcl_common_query("caltype",QueryStr);
+
+  if(type==-1)return -1;
+
+  QueryStr=QString("select VALUE from weekday where ID=%1").arg(ctcl_day_of_week(y,m,d));
+  ctc->weekday=ctcl_common_query("weekday",QueryStr);
+
+  QueryStr=QString("select VALUE from zodiac where DATEB<=%1 and DATEE>=%2").arg(MD.toInt()).arg(MD.toInt());
+
+  ctc->zodiac=ctcl_common_query("zodiac",QueryStr);
+
+  if(ctc->zodiac.isEmpty())
+  {
+      QueryStr=QString("select VALUE from zodiac where DATEB<=%1 and %2<=1231").arg(MD.toInt()).arg(MD.toInt());
+      ctc->zodiac=ctcl_common_query("zodiac",QueryStr);
+      if(ctc->zodiac.isEmpty())
+      {
+          QueryStr=QString("select VALUE from zodiac where DATEB>=101 and  DATEE<=119");
+          ctc->zodiac=ctcl_common_query("zodiac",QueryStr);
+      }
+  }
+  ctc->gan=ctcl_gan(ctcl_year_ganzhi(y,m,d,12));
+  ctc->zhi=ctcl_zhi(ctcl_year_ganzhi(y,m,d,12));
+
+
+  QueryStr=QString("select VALUE from tiangan where ID=%1").arg(ctc->gan);
+  ctc->ganzhi=ctcl_common_query("gan",QueryStr);
+  QueryStr=QString("select VALUE from dizhi where ID=%1").arg(ctc->zhi);
+  ctc->ganzhi.append(ctcl_common_query("zhi",QueryStr));
+
+  QueryStr=QString("select VALUE from shengxiao where ID=%1").arg(ctc->zhi);
+  ctc->shengxiao=ctcl_common_query("shengxiao",QueryStr);
+
+  for(i=0;i<24;i++){
+    r=ctcl_days_to_date(y,ctcl_solar_term(y,i+1,1));
+    if(r>=m*100+d){
+       QueryStr=QString("select VALUE from sterm where ID=%1").arg(i);
+       ctc->sterm=ctcl_common_query("sterm",QueryStr);
+     if(r!=m*100+d){
+        ctc->sterm.insert(0,QString("%1%2").arg(r/10%10).arg(r%10)+QString::fromUtf8("\346\227\245"));
+      }
+     ctc->laststerm = false;
+      break;
+    }else if(i==23){
+      QueryStr=QString("select VALUE from sterm where ID=0");
+      ctc->sterm=ctcl_common_query("sterm",QueryStr);
+      r=ctcl_days_to_date(y+1,ctcl_solar_term(y+1,1,1));
+      ctc->laststerm = true;
+    }
+  }
+
+  if(y>=maxyear){
+    ctc->day=0;
+    ctc->month=0;
+    ctc->cday=tr("unknown");
+    ctc->cmonth=tr("no data");
+    return 0;
+  }
+
+ ctc->day=ctcl_lunar_date(y,m,d);
+  if(ctc->day<=10){
+   QueryStr=QString("select VALUE from cnumber where ID=%1").arg(ctc->day);
+   ctc->cday=QString::fromUtf8("\345\210\235")+ctcl_common_query("day",QueryStr);
+  }else if(ctc->day<20){
+   QueryStr=QString("select VALUE from cnumber where ID=%1").arg(ctc->day%10);
+   ctc->cday=QString::fromUtf8("\345\215\201")+ctcl_common_query("day",QueryStr);
+  }else if(ctc->day==20){
+    ctc->cday=QString::fromUtf8("\344\272\214\345\215\201");
+  }else if(ctc->day<30){
+  QueryStr=QString("select VALUE from cnumber where ID=%1").arg(ctc->day%10);
+  ctc->cday=QString::fromUtf8("\345\273\277")+ctcl_common_query("day",QueryStr);
+  }else if(ctc->day==30){
+    ctc->cday=QString::fromUtf8("\344\270\211\345\215\201");
+  }
+
+  ctc->month=ctcl_lunar_month(y,m,d);
+  if(ctc->month==-12){
+    ctc->cmonth=QString::fromUtf8("\351\227\260\345\215\201\344\272\214\346\234\210");
+  }else if(ctc->month==-11){
+    ctc->cmonth=QString::fromUtf8("\351\227\260\345\215\201\344\270\200\346\234\210");
+  }else if(ctc->month==-1){
+    ctc->cmonth=QString::fromUtf8("\351\227\260\346\255\243\346\234\210");
+  }else if(ctc->month<0){
+    ctc->cmonth=QString::fromUtf8("\351\227\260");
+    QueryStr=QString("select VALUE from cnumber where ID=%1").arg(-ctc->month);
+    ctc->cmonth.append(ctcl_common_query("month",QueryStr));
+    ctc->cmonth.append(QString::fromUtf8("\346\234\210"));
+  }else if(ctc->month==13){
+    ctc->cmonth=QString::fromUtf8("\346\255\243\346\234\210");
+  }else{
+    QueryStr=QString("select VALUE from cnumber where ID=%1").arg(ctc->month);
+    ctc->cmonth=ctcl_common_query("month",QueryStr);
+    ctc->cmonth.append(QString::fromUtf8("\346\234\210"));
+  }
+  memset(buf,0x00,sizeof(buf));
+  if(qAbs(ctc->month)<13)
+   ::qsnprintf(buf, 10, "%02d%02d", qAbs(ctc->month),ctc->day);
+  else if(qAbs(ctc->month)==13)
+   ::qsnprintf(buf, 10, "%02d%02d", 1,ctc->day);
+   MD = QString::fromAscii(buf);
+   if(ctc->month>0){
+    QueryStr=QString("select VALUE from choliday where DATA='"+MD+"'"); 
+    ctc->choliday=ctcl_common_query("choliday",QueryStr);
+    //logSqlError("choliday",QueryStr);
+    }
+   if(ctc->month>0&&!(ctc->choliday.isEmpty()))
+       ctc->ischoliday=true;
+   else
+       ctc->ischoliday=false;
+  return 1;
+}
+
+bool CCBO::InitConnection(QString Path)
+{
+    QString QueryStr;
+    QString systempath,systemdirectory;
+    QStringList env = QProcess::systemEnvironment().filter(QRegExp("^XDG_DATA_HOME="));
+    if (env.length() == 0) {
+        systemdirectory = QDir::homePath() + "/.local/share";
+    } else {
+        systemdirectory = env.at(0);
+        systemdirectory = systemdirectory.mid(systemdirectory.indexOf("=") + 1);
+        if (systemdirectory.isEmpty()) {
+            systemdirectory = QDir::homePath() + "/.local/share";
+        }
+    }
+
+    systemdirectory = QString("%1/chinese-calendar").arg(systemdirectory);
+    systempath = QString("%1/KylinLunar.db").arg(systemdirectory);
+
+    if(!QFile::exists(systempath))
+    {
+        QDir d;
+        if (d.mkpath(systemdirectory) == false) {
+            return false;
+        }
+        if (QFile::copy("/usr/share/chinese-calendar/db/KylinLunar.db", systempath) == false) {
+            return false;
+        }
+    }
+
+    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
+    db.setDatabaseName(systempath);
+
+    if (!db.open()) {
+            return false;
+    }
+
+    QSqlQuery query;
+    query.exec("select * from lunar where MaxYear=2100");
+    query.last();
+    maxyear=query.value(0).toInt();
+    lunarstr=query.value(1).toByteArray ();
+   
+    return true;
+}
+
+void CCBO::logSqlError(const QString& Type, const QString& error)
+{
+	QFile f("chinesecalendar.log" );
+	if ( !f.open(QIODevice::ReadWrite | QIODevice::Append ) )
+		return;
+	QTextStream t( &f );
+	t << "Error time: " << QDateTime::currentDateTime().toString() << "\n";
+	t << Type << "\n";
+	t << error << "\n";
+	f.close();
+}
+
+QString CCBO::ctcl_common_query(QString type,QString querystr)
+{
+    QSqlQuery query;
+    query.prepare(querystr); 
+    if(!query.exec())
+      logSqlError(type,query.lastError().text());
+    if (query.last()) {
+        return query.value(0).toString();
+    } else {
+        return QString();
+    }
+}
+

=== added file 'ccbo.h'
--- ccbo.h	1970-01-01 00:00:00 +0000
+++ ccbo.h	2013-05-06 14:54:28 +0000
@@ -0,0 +1,108 @@
+/*
+ * This file is part of the chinese-calendar project
+ * The code reference to "Chinese Traditional Calendar Library"
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+/*
+* Chinese Tradional Calendar Library
+* Copyright (C) 2002-2003 Wang Yang
+* Copyright (C) 2003      donaldzju@xxxxxxxxxx
+*/
+
+#pragma once
+#include <math.h>
+#include <QByteArray>
+#include <QFile>
+#include <QString>
+#include <QObject>
+#include <string.h>
+#include <QDate>
+#include <QFile>
+#include <QtGui>
+#include <QMessageBox>
+#include <QSqlDatabase>
+#include <QSqlError>
+#include <QSqlQuery>
+#include <QTextStream>
+#ifndef M_PI
+#define M_PI 3.14159265358979323846264338327
+#endif
+
+const int beginning_year=-849;
+const int baseIndex = 0;
+
+struct CCalendar
+{
+    int month;
+    int day;
+    int gan;
+    int zhi;
+    QString cmonth;
+    QString cday;
+    QString ganzhi;
+    QString shengxiao;
+    QString sterm;
+    QString caltype;
+    QString weekday;
+    QString zodiac;
+    QString holiday;
+    QString choliday;
+    bool laststerm;
+    bool ischoliday;
+    QString yi;
+    QString ji;
+    QString note;
+};
+
+class CCBO: public QObject
+{
+public:
+    CCBO(void);
+    ~CCBO(void);
+    int ctcl_solar_to_lunar(int y,int m,int d,struct CCalendar* ctc);
+    bool InitConnection(QString Path);
+    int ctcl_savenote(int  y,int m, int d ,QString textedit);
+    QString ctcl_displaydata(int y,int m,int d);
+private:
+    QByteArray lunarstr;
+    int maxyear;
+    int ctcl_calendar_type(int y, int m, int d, int opt);
+    int ctcl_date_to_days(int y,int m,int d);
+    int ctcl_days_to_date(int y,int x);
+    int days_from_era(int y);
+    int ctcl_standard_days(int y,int m,int d);
+    double ctcl_julian_day(int y,int m,int d,int h,int min,int sec,int zone);
+    int ctcl_day_of_week(int y,int m,int d);
+    double ctcl_solar_term(int y,int n,int t);
+    double ctcl_tail(double x);
+    double ctcl_rem(double x,double w);
+	double ctcl_round(double x);
+    int ctcl_gan(int x);
+    int ctcl_zhi(int x);
+    int ctcl_year_ganzhi(int y,int m,int d,int h);
+	double ang(double x,double t,double c1,double t0,double t2,double t3);
+	int ctcl_lunar_date(int y,int m,int d);
+    int ctcl_leap_month(int y);
+    int ctcl_lunar_month(int y,int m,int d);
+    void logSqlError( const QString& Type, const QString& error);
+    QString ctcl_common_query(QString type,QString querystr);
+
+
+};

=== added file 'chinese-calendar.desktop'
--- chinese-calendar.desktop	1970-01-01 00:00:00 +0000
+++ chinese-calendar.desktop	2013-05-06 14:54:28 +0000
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=chinese-calendar
+Name[zh_CN]=中国农历
+Comment=Chinese lunar calendar
+Exec=/usr/bin/chinese-calendar
+Icon=chinesecalendar-64.png
+StartupNotify=true
+Terminal=false
+Type=Application
+Categories=GNOME;GTK;Graphics;RasterGraphics;Viewer;

=== added file 'chinese-calendar.pro'
--- chinese-calendar.pro	1970-01-01 00:00:00 +0000
+++ chinese-calendar.pro	2013-05-06 14:54:28 +0000
@@ -0,0 +1,65 @@
+TEMPLATE = app
+TARGET += 
+DEPENDPATH += $$PWD/
+INCLUDEPATH += $$PWD/
+
+inst.files += KylinLunar.db
+inst.path = /usr/share/chinese-calendar/db
+inst1.files += img/chinesecalendar-64.png
+inst1.path = /usr/share/pixmaps
+inst2.files += chinese-calendar.desktop
+inst2.path = /usr/share/applications
+inst3.files += chinese-calendar.desktop
+inst3.path = /etc/xdg/autostart
+default_skin.files += skin/default/chinesecalendarBGyellow.png \
+	skin/default/no.png \
+	skin/default/note.png \
+	skin/default/ok.png
+default_skin.path = /usr/share/chinese-calendar/skin/default
+black_skin.files += skin/black/chinesecalendar.png \
+	skin/black/no.png \
+	skin/black/no-hover.png \
+	skin/black/ok.png \
+	skin/black/ok-hover.png \
+	skin/black/note.png \
+	skin/black/arrow-left.png \
+	skin/black/arrow-right.png \
+	skin/black/arrow-down.png
+black_skin.path = /usr/share/chinese-calendar/skin/black
+qss.files += skin/default-skin.qss \
+	skin/black-skin.qss
+qss.path = /usr/share/chinese-calendar/skin
+
+target.source += $$TARGET
+target.path = /usr/bin
+INSTALLS += inst \
+    inst1 \
+    inst2 \
+    inst3 \
+    default_skin \
+    black_skin \
+    qss \
+    target
+	
+
+QT += core gui\
+    sql \
+    svg
+
+HEADERS += \  
+    dateitem.h \
+    datemaskwidget.h \
+    chinesecalendar.h \
+    ccbo.h \
+    cnote.h
+FORMS += calendar.ui \
+    dateitem.ui
+SOURCES += main.cpp \
+    dateitem.cpp \
+    datemaskwidget.cpp \
+    chinesecalendar.cpp \
+    ccbo.cpp \
+    cnote.cpp
+RESOURCES += \
+    chinese-calendar.qrc
+TRANSLATIONS += translate/i18_zh_CN.ts

=== added file 'chinese-calendar.qrc'
--- chinese-calendar.qrc	1970-01-01 00:00:00 +0000
+++ chinese-calendar.qrc	2013-05-06 14:54:28 +0000
@@ -0,0 +1,10 @@
+<RCC>
+    <qresource prefix="/">
+        <file>img/chinesecalendar.svg</file>
+        <file>img/chinesecalendar-64.png</file>
+        <file>img/icon.png</file>
+        <file>img/icon-64.png</file>
+        <file>translate/i18_zh_CN.qm</file>
+        <file>translate/i18_zh_CN.ts</file>
+    </qresource>
+</RCC>

=== added file 'chinesecalendar.cpp'
--- chinesecalendar.cpp	1970-01-01 00:00:00 +0000
+++ chinesecalendar.cpp	2013-05-06 14:54:28 +0000
@@ -0,0 +1,1265 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+
+#include "chinesecalendar.h"
+
+
+ChineseCalendar::ChineseCalendar(QWidget *parent)
+    : QWidget(parent)
+{
+    setupUi(this); m_strFileList.clear();
+//    bg = new QPixmap(":/img/chinesecalendarBGyellow.png");
+    icon = QIcon(":/img/icon.png");
+    icon64 = QIcon(":/img/chinesecalendar-64.png");
+    mycalendat=new CCBO;
+    mycalendat->InitConnection(QDir::currentPath ());
+    selectedDate = QDate::currentDate();
+	monthCombo->setCurrentIndex(selectedDate.month() - 1);
+    YearSelect->setCurrentIndex(selectedDate.year()-1900);
+    connect(monthCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setMonth(int)));
+    connect(monthCombo, SIGNAL(activated(int)), this, SLOT(setMonth(int)));
+    connect(YearSelect, SIGNAL(currentIndexChanged(int)), this, SLOT(setYear(int)));
+    connect(this->backtotoday, SIGNAL(clicked()), this, SLOT(backtoday()));
+
+//    this->TbnextMonth->setStyleSheet("QPushButton{background-color:transparent;color:rgb(200,200,150);}QPushButton:hover{color:rgb(255,255,255);}");
+//    this->TbnextYear->setStyleSheet("QPushButton{background-color:transparent;color:rgb(200,200,150);}QPushButton:hover{color:rgb(255,255,255);}");
+//    this->TbpreviousMonth->setStyleSheet("QPushButton{background-color:transparent;color:rgb(200,200,150);}QPushButton:hover{color:rgb(255,255,255);}");
+//    this->TbpreviousYear->setStyleSheet("QPushButton{background-color:transparent;color:rgb(200,200,150);}QPushButton:hover{color:rgb(255,255,255);}");
+//    this->backtotoday->setStyleSheet("QPushButton{background-color:transparent;color:rgb(200,200,150);}QPushButton:hover{color:rgb(255,255,255);}");
+//    this->YearSelect->setStyleSheet("QComboBox{border: 2px solid lightgray;border-radius: 5px;font:12pt;}");
+//    this->monthCombo->setStyleSheet("QComboBox{border: 2px solid lightgray;border-radius: 5px;font:12pt;}");
+//    this->label->setStyleSheet("QLabel{font:12pt;}");
+//    this->label_2->setStyleSheet("QLabel{font:12pt;}");
+
+    QDateTime dateTime;
+    QString currentTime;
+    QString week;
+    dateTime = QDateTime::currentDateTime();
+    if(dateTime.toString("ddd") == "Mon")
+        week = "星期一";
+    if(dateTime.toString("ddd") == "Tue")
+        week = "星期二";
+    if(dateTime.toString("ddd") == "Wed")
+        week = "星期三";
+    if(dateTime.toString("ddd") == "Thu")
+        week = "星期四";
+    if(dateTime.toString("ddd") == "Fri")
+        week = "星期五";
+    if(dateTime.toString("ddd") == "Sat")
+        week = "星期六";
+    if(dateTime.toString("ddd") == "Sun")
+        week = "星期日";
+    currentTime = dateTime.toString("yyyy-MM-dd %1").arg(week);
+    QDate day = QDate::currentDate();
+    struct CCalendar datebase;
+    mycalendat->ctcl_solar_to_lunar(day.year(),day.month(),day.day(),&datebase);
+    QString chinesemonth = datebase.cmonth;
+    if (chinesemonth == "一月")
+        chinesemonth = "正月";
+    if (chinesemonth == "十一月")
+        chinesemonth = "冬月";
+    if (chinesemonth == "十二月")
+        chinesemonth = "腊月";
+    QString chineseday = QString("农历 %1%2").arg(chinesemonth).arg(datebase.cday);
+    QString chineseyear = QString("%1年(%2年)").arg(datebase.ganzhi).arg(datebase.shengxiao);
+
+    QString chineseyi = QString("%1").arg(datebase.yi);
+    QStringList chineseyilist = chineseyi.split("、");
+    QString chineseji = QString("%2").arg(datebase.ji);
+    QStringList chinesejilist = chineseji.split("、");
+
+    QFont font;
+    QPalette pa;
+    font.setPointSize(48);
+    font.setBold(true);
+    this->label_10->setFont(font);
+    this->label_10->setText(QString::number(day.day()));
+    font.setBold(false);
+    font.setPointSize(9);
+    this->label_12->setFont(font);
+    this->label_12->setText(currentTime);
+    font.setPointSize(10);
+    this->label_13->setFont(font);
+    this->label_13->setText(chineseday);
+    this->label_14->setFont(font);
+    this->label_14->setText(chineseyear);
+    font.setPointSize(15);
+    this->label_15->setFont(font);
+    font.setPointSize(10);
+    this->label_17->setFont(font);
+    this->label_18->setFont(font);
+    QString yi=QString("");
+    QString ji=QString("");
+    if(chineseyilist.count() == 0 )
+       yi =QString("");
+    if(chineseyilist.count() >= 5)
+       yi = QString("").append(chineseyilist.at(0)).append("\n").append(chineseyilist.at(1)).append("\n").append(chineseyilist.at(2)).append("\n").append(chineseyilist.at(3)).append("\n").append(chineseyilist.at(4));
+    if(chineseyilist.count() == 4)
+       yi = QString("").append(chineseyilist.at(0)).append("\n").append(chineseyilist.at(1)).append("\n").append(chineseyilist.at(2)).append("\n").append(chineseyilist.at(3));
+    if (chineseyilist.count() == 3)
+       yi = QString("").append(chineseyilist.at(0)).append("\n").append(chineseyilist.at(1)).append("\n").append(chineseyilist.at(2));
+    if (chineseyilist.count() == 2)
+       yi = QString("").append(chineseyilist.at(0)).append("\n").append(chineseyilist.at(1));
+    if (chineseyilist.count() == 1)
+       yi = QString("").append(chineseyilist.at(0)).append("\n");
+    this->label_17->setText(yi);
+
+    if(chinesejilist.count() == 0 )
+       ji =QString("");
+    if(chinesejilist.count() >= 5)
+       ji = QString("").append(chinesejilist.at(0)).append("\n").append(chinesejilist.at(1)).append("\n").append(chinesejilist.at(2)).append("\n").append(chinesejilist.at(3)).append("\n").append(chinesejilist.at(4));
+    if(chinesejilist.count() == 4)
+       ji = QString("").append(chinesejilist.at(0)).append("\n").append(chinesejilist.at(1)).append("\n").append(chinesejilist.at(2)).append("\n").append(chinesejilist.at(3));
+    if (chinesejilist.count() == 3)
+       ji = QString("").append(chinesejilist.at(0)).append("\n").append(chinesejilist.at(1)).append("\n").append(chinesejilist.at(2));
+    if (chinesejilist.count() == 2)
+       ji = QString("").append(chinesejilist.at(0)).append("\n").append(chinesejilist.at(1));
+    if (chinesejilist.count() == 1)
+       ji = QString("").append(chinesejilist.at(0)).append("\n");
+    this->label_18->setText(ji);
+
+    QString cnote=mycalendat->ctcl_displaydata(day.year(),day.month(),day.day());
+    QString haveplan=QString("今日有行程安排");
+    QString noplan=QString("今日无行程安排");
+    int num=cnote.count();
+    while( num > 0 && cnote.at(num-1).isSpace())
+    {
+        num--;
+    }
+    if(cnote.isEmpty() || num == 0)
+        this->label_19->setText(noplan);
+    else
+        this->label_19->setText(haveplan);
+    pa.setColor(QPalette::WindowText,Qt::white);
+    this->label->setPalette(pa);
+    this->label_2->setPalette(pa);
+    this->label_15->setPalette(pa);
+    this->label_4->setPalette(pa);
+    this->label_5->setPalette(pa);
+    this->label_6->setPalette(pa);
+    this->label_7->setPalette(pa);
+    this->label_8->setPalette(pa);
+
+    pa.setColor(QPalette::WindowText,QColor(255,255,255));
+    this->label_3->setPalette(pa);
+    this->label_9->setPalette(pa); 
+
+    pa.setColor(QPalette::WindowText,Qt::black);
+    this->label_18->setPalette(pa);
+    this->label_19->setPalette(pa);
+
+    pa.setColor(QPalette::WindowText,Qt::red);
+    this->label_10->setPalette(pa);
+    this->label_11->setPalette(pa);
+    this->label_12->setPalette(pa);
+    this->label_13->setPalette(pa);
+    this->label_14->setPalette(pa);
+    this->label_17->setPalette(pa);
+
+    map = new QMap<QString, DateItem *>();
+    DateItem *dateitem00 = new DateItem(this);
+    dateitem00->show();
+    map->insert(QString("1-1"), dateitem00 );
+    connect(dateitem00, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem00, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem01 = new DateItem(this);
+    dateitem01->show();
+    map->insert(QString("1-2"), dateitem01 );
+    connect(dateitem01, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem01, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem02 = new DateItem(this);
+    dateitem02->show();
+    map->insert(QString("1-3"), dateitem02 );
+    connect(dateitem02, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem02, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem03 = new DateItem(this);
+    dateitem03->show();
+    map->insert(QString("1-4"), dateitem03 );
+    connect(dateitem03, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem03, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem04 = new DateItem(this);
+    dateitem04->show();
+    map->insert(QString("1-5"), dateitem04 );
+    connect(dateitem04, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem04, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem05 = new DateItem(this);
+    dateitem05->show();
+    map->insert(QString("1-6"), dateitem05 );
+    connect(dateitem05, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem05, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem06 = new DateItem(this);
+    dateitem06->show();
+    map->insert(QString("1-7"), dateitem06 );
+    connect(dateitem06, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem06, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem10 = new DateItem(this);
+    dateitem10->show();
+    map->insert(QString("2-1"), dateitem10 );
+    connect(dateitem10, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem10, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem11 = new DateItem(this);
+    dateitem11->show();
+    map->insert(QString("2-2"), dateitem11 );
+    connect(dateitem11, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem11, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem12 = new DateItem(this);
+    dateitem12->show();
+    map->insert(QString("2-3"), dateitem12 );
+    connect(dateitem12, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem12, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem13 = new DateItem(this);
+    dateitem13->show();
+    map->insert(QString("2-4"), dateitem13 );
+    connect(dateitem13, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem13, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem14 = new DateItem(this);
+    dateitem14->show();
+    map->insert(QString("2-5"), dateitem14 );
+    connect(dateitem14, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem14, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem15 = new DateItem(this);
+    dateitem15->show();
+    map->insert(QString("2-6"), dateitem15 );
+    connect(dateitem15, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem15, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem16 = new DateItem(this);
+    dateitem16->show();
+    map->insert(QString("2-7"), dateitem16 );
+    connect(dateitem16, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem16, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem20 = new DateItem(this);
+    dateitem20->show();
+    map->insert(QString("3-1"), dateitem20 );
+    connect(dateitem20, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem20, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem21 = new DateItem(this);
+    dateitem21->show();
+    map->insert(QString("3-2"), dateitem21 );
+    connect(dateitem21, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem21, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem22 = new DateItem(this);
+    dateitem22->show();
+    map->insert(QString("3-3"), dateitem22 );
+    connect(dateitem22, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem22, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem23 = new DateItem(this);
+    dateitem23->show();
+    map->insert(QString("3-4"), dateitem23 );
+    connect(dateitem23, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem23, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem24 = new DateItem(this);
+    dateitem24->show();
+    map->insert(QString("3-5"), dateitem24 );
+    connect(dateitem24, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem24, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem25 = new DateItem(this);
+    dateitem25->show();
+    map->insert(QString("3-6"), dateitem25 );
+    connect(dateitem25, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem25, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem26 = new DateItem(this);
+    dateitem26->show();
+    map->insert(QString("3-7"), dateitem26 );
+    connect(dateitem26, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem26, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem30 = new DateItem(this);
+    dateitem30->show();
+    map->insert(QString("4-1"), dateitem30 );
+    connect(dateitem30, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem30, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem31 = new DateItem(this);
+    dateitem31->show();
+    map->insert(QString("4-2"), dateitem31 );
+    connect(dateitem31, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem31, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem32 = new DateItem(this);
+    dateitem32->show();
+    map->insert(QString("4-3"), dateitem32 );
+    connect(dateitem32, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem32, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem33 = new DateItem(this);
+    dateitem33->show();
+    map->insert(QString("4-4"), dateitem33 );
+    connect(dateitem33, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem33, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem34 = new DateItem(this);
+    dateitem34->show();
+    map->insert(QString("4-5"), dateitem34 );
+    connect(dateitem34, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem34, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem35 = new DateItem(this);
+    dateitem35->show();
+    map->insert(QString("4-6"), dateitem35 );
+    connect(dateitem35, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem35, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem36 = new DateItem(this);
+    dateitem36->show();
+    map->insert(QString("4-7"), dateitem36 );
+    connect(dateitem36, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem36, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem40 = new DateItem(this);
+    dateitem40->show();
+    map->insert(QString("5-1"), dateitem40 );
+    connect(dateitem40, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem40, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem41 = new DateItem(this);
+    dateitem41->show();
+    map->insert(QString("5-2"), dateitem41 );
+    connect(dateitem41, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem41, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem42 = new DateItem(this);
+    dateitem42->show();
+    map->insert(QString("5-3"), dateitem42 );
+    connect(dateitem42, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem42, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem43 = new DateItem(this);
+    dateitem43->show();
+    map->insert(QString("5-4"), dateitem43 );
+    connect(dateitem43, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem43, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem44 = new DateItem(this);
+    dateitem44->show();
+    map->insert(QString("5-5"), dateitem44 );
+    connect(dateitem44, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem44, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem45 = new DateItem(this);
+    dateitem45->show();
+    map->insert(QString("5-6"), dateitem45 );
+    connect(dateitem45, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem45, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem46 = new DateItem(this);
+    dateitem46->show();
+    map->insert(QString("5-7"), dateitem46 );
+    connect(dateitem46, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem46, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem50 = new DateItem(this);
+    dateitem50->hide();
+    map->insert(QString("6-1"), dateitem50 );
+    connect(dateitem50, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem50, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem51 = new DateItem(this);
+    dateitem51->hide();
+    map->insert(QString("6-2"), dateitem51 );
+    connect(dateitem51, SIGNAL(clicked(QString)), this, SLOT(resetcalendardate(QString)));
+    connect(dateitem51, SIGNAL(day(QString)), this, SLOT(setclickday(QString)));
+
+    DateItem *dateitem52 = new DateItem(this);
+    dateitem52->hide();
+    map->insert(QString("6-3"), dateitem52 );
+
+    DateItem *dateitem53 = new DateItem(this);
+    dateitem53->hide();
+    map->insert(QString("6-4"), dateitem53 );
+
+    DateItem *dateitem54 = new DateItem(this);
+    dateitem54->hide();
+    map->insert(QString("6-5"), dateitem54 );
+
+    DateItem *dateitem55 = new DateItem(this);
+    dateitem55->hide();
+    map->insert(QString("6-6"), dateitem55 );
+
+    DateItem *dateitem56 = new DateItem(this);
+    dateitem56->hide();
+    map->insert(QString("6-7"), dateitem56 );
+
+    setItemLayout();
+    setCalendar();
+
+    QTimer *timer = new QTimer(this);
+    timer->setInterval(1000);
+    connect(timer,SIGNAL(timeout()),this,SLOT(setTime()));
+    timer->start();
+
+    QBitmap objBitmap(size());
+    QPainter painter(&objBitmap);
+    painter.fillRect(rect(),Qt::white);
+    painter.setBrush(QColor(0,0,0));
+    painter.drawRoundedRect(this->rect(),10,10);
+    setMask(objBitmap);
+
+
+    this->createTray();
+
+
+    note = new Cnote;
+    QDesktopWidget desktop;
+    int width = desktop.screenGeometry().width();
+    note->setGeometry(QRect(width-400,80,224,280));
+    connect(note,SIGNAL(save(QString)),this,SLOT(savedata(QString)));
+    note->hide();
+
+}
+
+ChineseCalendar::~ChineseCalendar()
+{
+  delete mycalendat;
+}
+
+void ChineseCalendar::setclickday(QString day)
+{
+    clickday = day.toInt();
+    int year = this->YearSelect->currentText().toInt();
+    int month = this->monthCombo->currentText().toInt();
+    int today = clickday;
+    QString dateplan = QString("%1月%2日计划安排").arg(this->monthCombo->currentText()).arg(day);
+    QString data;
+    data=mycalendat->ctcl_displaydata(year,month,today);
+    note->textedit->setText(data);
+    note->datelabel->setText(dateplan);
+    note->exec();
+}
+
+void ChineseCalendar::savedata(QString data)
+{
+    int year = this->YearSelect->currentText().toInt();
+    int month = this->monthCombo->currentText().toInt();
+    int day = clickday;
+    mycalendat->ctcl_savenote(year,month,day,data);
+    note->hide();
+
+}
+
+
+void ChineseCalendar::createTray()
+{
+    this->actionShow = new QAction(tr("隐藏/显示"), this);
+    connect(actionShow, SIGNAL(triggered()), this, SLOT(showOrHide()));
+
+    this->actionStaysOnTop = new QAction(tr("总在最前"), this);
+    this->actionStaysOnTop->setCheckable(true);
+    connect(actionStaysOnTop, SIGNAL(triggered()), this, SLOT(setMode()));
+
+    this->actionStaysOnBottom = new QAction(tr("总在最后"), this);
+    this->actionStaysOnBottom->setCheckable(true);
+    connect(actionStaysOnBottom, SIGNAL(triggered()), this, SLOT(setMode()));
+
+    this->actionStaysNormal = new QAction(tr("普通模式"), this);
+    this->actionStaysNormal->setCheckable(true);
+    this->actionStaysNormal->setChecked(true);
+    connect(actionStaysNormal, SIGNAL(triggered()), this, SLOT(setMode()));
+
+    // default skin
+    this->actionDefault = new QAction(tr("Default"), this);
+    actionDefault->setCheckable(true);
+    actionDefault->setChecked(true);
+    connect(actionDefault, SIGNAL(triggered()), this, SLOT(slotChangeSkin()));
+
+    // black skin
+    this->actionSkin = new QAction(tr("Black"), this);
+    actionSkin->setCheckable(true);
+    connect(actionSkin, SIGNAL(triggered()), this, SLOT(slotChangeSkin()));
+
+    this->skinMenu = new QMenu(tr("换肤"), this);
+    this->skinMenu->addAction(actionDefault);
+    this->skinMenu->addAction(actionSkin);
+
+    QActionGroup *actSkinGrp = new QActionGroup(this);
+    actSkinGrp->addAction(actionDefault);
+    actSkinGrp->addAction(actionSkin);
+
+    // read user customizated skin files
+    readSkinFiles();
+
+    foreach (QString strSkin, m_strFileList)
+    {
+        QAction *actionNew = new QAction(strSkin, this);
+        actionNew->setCheckable(true);
+        actSkinGrp->addAction(actionNew);
+        this->skinMenu->addAction(actionNew);
+        connect(actionNew, SIGNAL(triggered()), this, SLOT(slotChangeSkin()));
+    }
+
+    this->ag = new QActionGroup(this);
+    this->ag->addAction(actionStaysOnTop);
+    this->ag->addAction(actionStaysOnBottom);
+    this->ag->addAction(actionStaysNormal);
+
+    this->actionQuit = new QAction(tr("退出程序"), this);
+    connect(actionQuit, SIGNAL(triggered()), qApp, SLOT(quit()));
+
+    this->trayMenu = new QMenu(this);
+    this->trayMenu->addAction(actionShow);
+    this->trayMenu->addSeparator();
+    this->trayMenu->addAction(actionStaysOnTop);
+    this->trayMenu->addAction(actionStaysOnBottom);
+    this->trayMenu->addAction(actionStaysNormal);
+    this->trayMenu->addSeparator();
+    this->trayMenu->addMenu(skinMenu);
+    this->trayMenu->addSeparator();
+    this->trayMenu->addAction(actionQuit);
+
+    this->trayIcon = new QSystemTrayIcon(this);
+    this->trayIcon->setIcon(icon);
+    this->trayIcon->setContextMenu(trayMenu);
+    this->trayIcon->show();
+}
+
+void ChineseCalendar::paintEvent(QPaintEvent *)
+{
+    QStyleOption opt;
+    opt.init(this);
+    QPainter painter(this);
+//    painter.drawPixmap(0,0,width(),height(),*bg);
+    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
+
+//    painter.setPen(Qt::gray);
+    painter.setPen(QColor(255,121,3,100));
+
+    if(!isTall)
+    {
+    //row
+        painter.drawLine(5,108,390,108);
+        painter.drawLine(5,147,390,147);
+        painter.drawLine(5,186,390,186);
+        painter.drawLine(5,225,390,225);
+        painter.drawLine(5,264,390,264);
+//        painter.drawLine(5,303,390,303);
+    }
+    else
+    {
+        painter.drawLine(5,116,390,116);
+        painter.drawLine(5,163,390,163);
+        painter.drawLine(5,210,390,210);
+        painter.drawLine(5,257,390,257);
+//        painter.drawLine(5,304,390,304);
+    }
+    //column
+    painter.drawLine(60,69,60,303);
+    painter.drawLine(115,69,115,303);
+    painter.drawLine(170,69,170,303);
+    painter.drawLine(225,69,225,303);
+    painter.drawLine(280,69,280,303);
+    painter.drawLine(335,69,335,303);
+}
+
+void ChineseCalendar::setItemLayout()
+{
+    if(isTall == false)
+    {
+        map->value("1-1")->resizeItem(55,47);
+        map->value("1-2")->resizeItem(55,47);
+        map->value("1-3")->resizeItem(55,47);
+        map->value("1-4")->resizeItem(55,47);
+        map->value("1-5")->resizeItem(55,47);
+        map->value("1-6")->resizeItem(55,47);
+        map->value("1-7")->resizeItem(55,47);
+        map->value("2-1")->resizeItem(55,47);
+        map->value("2-2")->resizeItem(55,47);
+        map->value("2-3")->resizeItem(55,47);
+        map->value("2-4")->resizeItem(55,47);
+        map->value("2-5")->resizeItem(55,47);
+        map->value("2-6")->resizeItem(55,47);
+        map->value("2-7")->resizeItem(55,47);
+        map->value("3-1")->resizeItem(55,47);
+        map->value("3-2")->resizeItem(55,47);
+        map->value("3-3")->resizeItem(55,47);
+        map->value("3-4")->resizeItem(55,47);
+        map->value("3-5")->resizeItem(55,47);
+        map->value("3-6")->resizeItem(55,47);
+        map->value("3-7")->resizeItem(55,47);
+        map->value("4-1")->resizeItem(55,47);
+        map->value("4-2")->resizeItem(55,47);
+        map->value("4-3")->resizeItem(55,47);
+        map->value("4-4")->resizeItem(55,47);
+        map->value("4-5")->resizeItem(55,47);
+        map->value("4-6")->resizeItem(55,47);
+        map->value("4-7")->resizeItem(55,47);
+        map->value("5-1")->resizeItem(55,47);
+        map->value("5-2")->resizeItem(55,47);
+        map->value("5-3")->resizeItem(55,47);
+        map->value("5-4")->resizeItem(55,47);
+        map->value("5-5")->resizeItem(55,47);
+        map->value("5-6")->resizeItem(55,47);
+        map->value("5-7")->resizeItem(55,47);
+        map->value("6-1")->resizeItem(55,47);
+        map->value("6-2")->resizeItem(55,47);
+        map->value("6-3")->resizeItem(55,47);
+        map->value("6-4")->resizeItem(55,47);
+        map->value("6-5")->resizeItem(55,47);
+        map->value("6-6")->resizeItem(55,47);
+        map->value("6-7")->resizeItem(55,47);
+        isTall = true;
+    }
+    map->value("1-1")->move(5,69);
+    map->value("1-2")->move(60,69);
+    map->value("1-3")->move(115,69);
+    map->value("1-4")->move(170,69);
+    map->value("1-5")->move(225,69);
+    map->value("1-6")->move(280,69);
+    map->value("1-7")->move(335,69);
+    map->value("2-1")->move(5,116);
+    map->value("2-2")->move(60,116);
+    map->value("2-3")->move(115,116);
+    map->value("2-4")->move(170,116);
+    map->value("2-5")->move(225,116);
+    map->value("2-6")->move(280,116);
+    map->value("2-7")->move(335,116);
+    map->value("3-1")->move(5,163);
+    map->value("3-2")->move(60,163);
+    map->value("3-3")->move(115,163);
+    map->value("3-4")->move(170,163);
+    map->value("3-5")->move(225,163);
+    map->value("3-6")->move(280,163);
+    map->value("3-7")->move(335,163);
+    map->value("4-1")->move(5,210);
+    map->value("4-2")->move(60,210);
+    map->value("4-3")->move(115,210);
+    map->value("4-4")->move(170,210);
+    map->value("4-5")->move(225,210);
+    map->value("4-6")->move(280,210);
+    map->value("4-7")->move(335,210);
+    map->value("5-1")->move(5,257);
+    map->value("5-2")->move(60,257);
+    map->value("5-3")->move(115,257);
+    map->value("5-4")->move(170,257);
+    map->value("5-5")->move(225,257);
+    map->value("5-6")->move(280,257);
+    map->value("5-7")->move(335,257);
+    map->value("6-1")->move(5,304);
+    map->value("6-2")->move(60,304);
+    map->value("6-3")->move(115,304);
+    map->value("6-4")->move(170,304);
+    map->value("6-5")->move(225,304);
+    map->value("6-6")->move(280,304);
+    map->value("6-7")->move(335,304);
+}
+
+void ChineseCalendar::resetItemLayout()
+{
+    map->value("1-1")->resizeItem(55,39);
+    map->value("1-2")->resizeItem(55,39);
+    map->value("1-3")->resizeItem(55,39);
+    map->value("1-4")->resizeItem(55,39);
+    map->value("1-5")->resizeItem(55,39);
+    map->value("1-6")->resizeItem(55,39);
+    map->value("1-7")->resizeItem(55,39);
+    map->value("2-1")->resizeItem(55,39);
+    map->value("2-2")->resizeItem(55,39);
+    map->value("2-3")->resizeItem(55,39);
+    map->value("2-4")->resizeItem(55,39);
+    map->value("2-5")->resizeItem(55,39);
+    map->value("2-6")->resizeItem(55,39);
+    map->value("2-7")->resizeItem(55,39);
+    map->value("3-1")->resizeItem(55,39);
+    map->value("3-2")->resizeItem(55,39);
+    map->value("3-3")->resizeItem(55,39);
+    map->value("3-4")->resizeItem(55,39);
+    map->value("3-5")->resizeItem(55,39);
+    map->value("3-6")->resizeItem(55,39);
+    map->value("3-7")->resizeItem(55,39);
+    map->value("4-1")->resizeItem(55,39);
+    map->value("4-2")->resizeItem(55,39);
+    map->value("4-3")->resizeItem(55,39);
+    map->value("4-4")->resizeItem(55,39);
+    map->value("4-5")->resizeItem(55,39);
+    map->value("4-6")->resizeItem(55,39);
+    map->value("4-7")->resizeItem(55,39);
+    map->value("5-1")->resizeItem(55,39);
+    map->value("5-2")->resizeItem(55,39);
+    map->value("5-3")->resizeItem(55,39);
+    map->value("5-4")->resizeItem(55,39);
+    map->value("5-5")->resizeItem(55,39);
+    map->value("5-6")->resizeItem(55,39);
+    map->value("5-7")->resizeItem(55,39);
+    map->value("6-1")->resizeItem(55,39);
+    map->value("6-2")->resizeItem(55,39);
+    map->value("6-3")->resizeItem(55,39);
+    map->value("6-4")->resizeItem(55,39);
+    map->value("6-5")->resizeItem(55,39);
+    map->value("6-6")->resizeItem(55,39);
+    map->value("6-7")->resizeItem(55,39);
+    isTall = false;
+
+    map->value("1-1")->move(5,69);
+    map->value("1-2")->move(60,69);
+    map->value("1-3")->move(115,69);
+    map->value("1-4")->move(170,69);
+    map->value("1-5")->move(225,69);
+    map->value("1-6")->move(280,69);
+    map->value("1-7")->move(335,69);
+    map->value("2-1")->move(5,108);
+    map->value("2-2")->move(60,108);
+    map->value("2-3")->move(115,108);
+    map->value("2-4")->move(170,108);
+    map->value("2-5")->move(225,108);
+    map->value("2-6")->move(280,108);
+    map->value("2-7")->move(335,108);
+    map->value("3-1")->move(5,147);
+    map->value("3-2")->move(60,147);
+    map->value("3-3")->move(115,147);
+    map->value("3-4")->move(170,147);
+    map->value("3-5")->move(225,147);
+    map->value("3-6")->move(280,147);
+    map->value("3-7")->move(335,147);
+    map->value("4-1")->move(5,186);
+    map->value("4-2")->move(60,186);
+    map->value("4-3")->move(115,186);
+    map->value("4-4")->move(170,186);
+    map->value("4-5")->move(225,186);
+    map->value("4-6")->move(280,186);
+    map->value("4-7")->move(335,186);
+    map->value("5-1")->move(5,225);
+    map->value("5-2")->move(60,225);
+    map->value("5-3")->move(115,225);
+    map->value("5-4")->move(170,225);
+    map->value("5-5")->move(225,225);
+    map->value("5-6")->move(280,225);
+    map->value("5-7")->move(335,225);
+    map->value("6-1")->move(5,264);
+    map->value("6-2")->move(60,264);
+    map->value("6-3")->move(115,264);
+    map->value("6-4")->move(170,264);
+    map->value("6-5")->move(225,264);
+    map->value("6-6")->move(280,264);
+    map->value("6-7")->move(335,264);
+}
+
+void ChineseCalendar::setTime()
+{
+    QDateTime dateTime = QDateTime::currentDateTime();
+    this->label_15->setText(dateTime.toString("hh:mm:ss"));
+}
+
+void ChineseCalendar::resetcalendardate(QString day)
+{
+    QDate date(this->YearSelect->currentText().toInt(),this->monthCombo->currentText().toInt(),day.toInt());
+    clearbackground();
+    QString weekday;
+    if(date.toString("ddd") == "Mon")
+        weekday = "星期一";
+    if(date.toString("ddd") == "Tue")
+        weekday = "星期二";
+    if(date.toString("ddd") == "Wed")
+        weekday = "星期三";
+    if(date.toString("ddd") == "Thu")
+        weekday = "星期四";
+    if(date.toString("ddd") == "Fri")
+        weekday = "星期五";
+    if(date.toString("ddd") == "Sat")
+        weekday = "星期六";
+    if(date.toString("ddd") == "Sun")
+        weekday = "星期日";
+    QString selecttime = date.toString("yyyy-MM-dd %1").arg(weekday);
+    struct CCalendar d;
+    mycalendat->ctcl_solar_to_lunar(date.year(),date.month(),date.day(),&d);
+    QString selectmonth = d.cmonth;
+    if (selectmonth == "一月")
+        selectmonth = "正月";
+    if (selectmonth == "十一月")
+        selectmonth = "冬月";
+    if (selectmonth == "十二月")
+        selectmonth = "腊月";
+    struct CCalendar f = fixshengxiao(date);
+    QString selectday = QString("农历 %1%2").arg(selectmonth).arg(d.cday);
+    QString selectyear = QString("%1年(%2年)").arg(f.ganzhi).arg(f.shengxiao);
+    this->label_10->setText(day);
+    this->label_12->setText(selecttime);
+    this->label_13->setText(selectday);
+    this->label_14->setText(selectyear);
+
+    QString cnote=QString("");
+    QString haveplan=QString("今日有行程安排");
+    QString noplan=QString("今日无行程安排");
+    cnote=mycalendat->ctcl_displaydata(date.year(),date.month(),date.day());
+    int num=cnote.count();
+    while( num > 0 && cnote.at(num-1).isSpace())
+    {
+        num--;
+    }
+    if(cnote.isEmpty() || num == 0)
+        this->label_19->setText(noplan);
+    else
+        this->label_19->setText(haveplan);
+
+    QString yi = QString("");
+    QString ji = QString("");
+    QString selectyi = QString("%1").arg(f.yi);
+    QStringList selectyilist = selectyi.split("、");
+    if(selectyilist.count() == 0 )
+       yi =QString("");
+    if(selectyilist.count() >= 5)
+       yi = QString("").append(selectyilist.at(0)).append("\n").append(selectyilist.at(1)).append("\n").append(selectyilist.at(2)).append("\n").append(selectyilist.at(3)).append("\n").append(selectyilist.at(4));
+    if(selectyilist.count() == 4)
+       yi = QString("").append(selectyilist.at(0)).append("\n").append(selectyilist.at(1)).append("\n").append(selectyilist.at(2)).append("\n").append(selectyilist.at(3));
+    if (selectyilist.count() == 3)
+       yi = QString("").append(selectyilist.at(0)).append("\n").append(selectyilist.at(1)).append("\n").append(selectyilist.at(2));
+    if (selectyilist.count() == 2)
+       yi = QString("").append(selectyilist.at(0)).append("\n").append(selectyilist.at(1));
+    if (selectyilist.count() == 1)
+       yi = QString("").append(selectyilist.at(0)).append("\n");
+
+    QString selectji = QString("%2").arg(f.ji);
+    QStringList selectjilist = selectji.split("、");
+    if(selectjilist.count() == 0 )
+       ji =QString("");
+    if(selectjilist.count() >= 5)
+       ji = QString("").append(selectjilist.at(0)).append("\n").append(selectjilist.at(1)).append("\n").append(selectjilist.at(2)).append("\n").append(selectjilist.at(3)).append("\n").append(selectjilist.at(4));
+    if(selectjilist.count() == 4)
+       ji = QString("").append(selectjilist.at(0)).append("\n").append(selectjilist.at(1)).append("\n").append(selectjilist.at(2)).append("\n").append(selectjilist.at(3));
+    if (selectjilist.count() == 3)
+       ji = QString("").append(selectjilist.at(0)).append("\n").append(selectjilist.at(1)).append("\n").append(selectjilist.at(2));
+    if (selectjilist.count() == 2)
+       ji = QString("").append(selectjilist.at(0)).append("\n").append(selectjilist.at(1));
+    if (selectjilist.count() == 1)
+       ji = QString("").append(selectjilist.at(0)).append("\n");
+    this->label_17->setText(yi);
+    this->label_18->setText(ji);
+}
+
+CCalendar ChineseCalendar::fixshengxiao(QDate date)
+{
+    QDate fixdate = date.addDays(1);
+    struct CCalendar fix;
+    mycalendat->ctcl_solar_to_lunar(fixdate.year(),fixdate.month(),fixdate.day(),&fix);
+    if (fix.sterm == "立春")
+    {
+        fixdate = fixdate.addDays(-2);
+        mycalendat->ctcl_solar_to_lunar(fixdate.year(),fixdate.month(),fixdate.day(),&fix);
+        return fix;
+    }
+    else
+    {
+        fixdate = fixdate.addDays(-1);
+        mycalendat->ctcl_solar_to_lunar(fixdate.year(),fixdate.month(),fixdate.day(),&fix);
+        return fix;
+    }
+}
+
+void ChineseCalendar::backtoday()
+{
+    QDate today = QDate::currentDate();
+    YearSelect->setCurrentIndex(today.year() - 1900);
+    monthCombo->setCurrentIndex(today.month() - 1);
+    setCalendar();
+
+}
+
+void ChineseCalendar::setCalendar()
+{
+    struct CCalendar c;
+    cleardate();
+    QDate date(selectedDate.year(), selectedDate.month(), 1);
+    while (date.month() == selectedDate.month()) {
+        int weekDay = date.dayOfWeek();
+        mycalendat->ctcl_solar_to_lunar(selectedDate.year(),selectedDate.month(),date.day(),&c);
+        QString mycday;
+        mycday=c.cday;
+        if(c.sterm.at(0) >=QChar('0') && c.sterm.at(0) <= QChar('9'))
+          mycday=c.cday;
+        else
+        {
+          if(c.laststerm)
+              mycday=c.cday;
+          else
+              mycday=c.sterm;
+        }
+        if(c.ischoliday)
+            mycday=c.choliday;
+        int day = date.day();
+        if (weekDay == 7)
+            weekDay = 0;
+        int row = (day + (6 - weekDay) + 7 -1)/7;
+        QString site = QString("%1-%2").arg(row).arg(weekDay+1);
+        map->value(site)->setday(date.day());
+        map->value(site)->setcday(mycday);
+        if(weekDay == 6 || weekDay == 0)
+            map->value(site)->setcolor();
+         date = date.addDays(1);
+    }
+
+    if (!map->value("6-1")->day().isNull())
+    {
+        map->value("6-1")->show();
+        map->value("6-2")->show();
+        map->value("6-3")->show();
+        map->value("6-4")->show();
+        map->value("6-5")->show();
+        map->value("6-6")->show();
+        map->value("6-7")->show();
+        resetItemLayout();
+    } 
+
+    QDate today = QDate::currentDate();
+    if(today.year() == selectedDate.year() && today.month() == selectedDate.month())
+    {
+        int d = today.day();
+        int w = today.dayOfWeek();
+        if (w == 7)
+            w = 0;
+        int r = (d + (6 - w) + 7 -1)/7;
+        QString add = QString("%1-%2").arg(r).arg(w+1);
+        resetcalendardate(QString::number(today.day()));
+        map->value(add)->setToday();
+    }
+}
+
+void ChineseCalendar::clearbackground()
+{
+    map->value("1-1")->clearstyle();
+    map->value("1-2")->clearstyle();
+    map->value("1-3")->clearstyle();
+    map->value("1-4")->clearstyle();
+    map->value("1-5")->clearstyle();
+    map->value("1-6")->clearstyle();
+    map->value("1-7")->clearstyle();
+    map->value("2-1")->clearstyle();
+    map->value("2-2")->clearstyle();
+    map->value("2-3")->clearstyle();
+    map->value("2-4")->clearstyle();
+    map->value("2-5")->clearstyle();
+    map->value("2-6")->clearstyle();
+    map->value("2-7")->clearstyle();
+    map->value("3-1")->clearstyle();
+    map->value("3-2")->clearstyle();
+    map->value("3-3")->clearstyle();
+    map->value("3-4")->clearstyle();
+    map->value("3-5")->clearstyle();
+    map->value("3-6")->clearstyle();
+    map->value("3-7")->clearstyle();
+    map->value("4-1")->clearstyle();
+    map->value("4-2")->clearstyle();
+    map->value("4-3")->clearstyle();
+    map->value("4-4")->clearstyle();
+    map->value("4-5")->clearstyle();
+    map->value("4-6")->clearstyle();
+    map->value("4-7")->clearstyle();
+    map->value("5-1")->clearstyle();
+    map->value("5-2")->clearstyle();
+    map->value("5-3")->clearstyle();
+    map->value("5-4")->clearstyle();
+    map->value("5-5")->clearstyle();
+    map->value("5-6")->clearstyle();
+    map->value("5-7")->clearstyle();
+    map->value("6-1")->clearstyle();
+    map->value("6-2")->clearstyle();
+    map->value("6-3")->clearstyle();
+    map->value("6-4")->clearstyle();
+    map->value("6-5")->clearstyle();
+    map->value("6-6")->clearstyle();
+    map->value("6-7")->clearstyle();
+}
+
+void ChineseCalendar::cleardate()
+{
+    map->value("1-1")->clear();
+    map->value("1-2")->clear();
+    map->value("1-3")->clear();
+    map->value("1-4")->clear();
+    map->value("1-5")->clear();
+    map->value("1-6")->clear();
+    map->value("1-7")->clear();
+    map->value("2-1")->clear();
+    map->value("2-2")->clear();
+    map->value("2-3")->clear();
+    map->value("2-4")->clear();
+    map->value("2-5")->clear();
+    map->value("2-6")->clear();
+    map->value("2-7")->clear();
+    map->value("3-1")->clear();
+    map->value("3-2")->clear();
+    map->value("3-3")->clear();
+    map->value("3-4")->clear();
+    map->value("3-5")->clear();
+    map->value("3-6")->clear();
+    map->value("3-7")->clear();
+    map->value("4-1")->clear();
+    map->value("4-2")->clear();
+    map->value("4-3")->clear();
+    map->value("4-4")->clear();
+    map->value("4-5")->clear();
+    map->value("4-6")->clear();
+    map->value("4-7")->clear();
+    map->value("5-1")->clear();
+    map->value("5-2")->clear();
+    map->value("5-3")->clear();
+    map->value("5-4")->clear();
+    map->value("5-5")->clear();
+    map->value("5-6")->clear();
+    map->value("5-7")->clear();
+    map->value("6-1")->clear();
+    map->value("6-2")->clear();
+    map->value("6-3")->clear();
+    map->value("6-4")->clear();
+    map->value("6-5")->clear();
+    map->value("6-6")->clear();
+    map->value("6-7")->clear();
+    map->value("6-1")->hide();
+    map->value("6-2")->hide();
+    map->value("6-3")->hide();
+    map->value("6-4")->hide();
+    map->value("6-5")->hide();
+    map->value("6-6")->hide();
+    map->value("6-7")->hide();
+    setItemLayout();
+}
+
+void ChineseCalendar::mousePressEvent(QMouseEvent *event)
+{
+    if (event->button() == Qt::LeftButton)
+    {
+        if (map->value("6-1")->isHidden())
+        {
+            if (event->x()>5 && event->x()<390 && event->y()>69 && event->y()<304)
+                moveable = false;
+            else moveable = true;
+        }
+        else
+        {
+            if (event->x()>5 && event->x()<390 && event->y()>69 && event->y()<304)
+                moveable = false ;
+            else moveable = true;
+        }
+        dragPos = event->globalPos() - frameGeometry().topLeft();
+        event->accept();
+    }
+
+}
+
+void ChineseCalendar::mouseMoveEvent(QMouseEvent *event)
+{
+    if (event->buttons() & Qt::LeftButton && moveable == true )
+    {
+        if (map->value("6-1")->isHidden())
+        {
+            if (event->x()>5 && event->x()<390 && event->y()>69 && event->y()<304)
+                return ;
+            else move(event->globalPos() - dragPos);
+        }
+        else
+        {
+            if (event->x()>5 && event->x()<390 && event->y()>69 && event->y()<304)
+                return ;
+            else move(event->globalPos() - dragPos);
+        }
+        setWindowOpacity(0.5);
+    }
+    event->accept();
+
+}
+
+void ChineseCalendar::mouseReleaseEvent(QMouseEvent *event)
+{
+    if (event->button() == Qt::LeftButton)
+    {
+        setWindowOpacity(1);
+    }
+    event->accept();
+}
+
+void ChineseCalendar::setMonth(int month)
+{
+
+    int day=0;
+    int newmonth = month+1;
+    if(newmonth<=0)
+    {
+        newmonth = 12;
+        monthCombo->setCurrentIndex(11);
+    }
+    if(newmonth>12)
+    {
+        newmonth = 1;
+    }
+    if(newmonth ==1 || newmonth ==3 || newmonth == 5 || newmonth == 7 || newmonth  == 8 || newmonth == 10 || newmonth ==12)
+    {
+        day =31;
+    }
+    else if(newmonth ==4 || newmonth==6 || newmonth ==9 || newmonth ==11)
+    {
+       day =30;
+    }
+   if(selectedDate.year()%4 ==0 && selectedDate.year()%100!=0)
+    {
+            day = 29;
+    }
+    else if(selectedDate.year()%400 ==0)
+    {
+            day = 29;
+    }
+    else
+    {
+            day = 28;
+    }
+    selectedDate = QDate(selectedDate.year(),newmonth,day);
+    setCalendar();
+}
+
+void ChineseCalendar::setYear(int year)
+{
+    selectedDate = QDate(year+1900, selectedDate.month(), selectedDate.day());
+    setCalendar();
+}
+
+void ChineseCalendar::on_TbpreviousYear_clicked()
+{
+    if(YearSelect->currentIndex() != 0)
+        YearSelect->setCurrentIndex(YearSelect->currentIndex()-1);
+}
+
+void ChineseCalendar::on_TbpreviousMonth_clicked()
+{
+    if (monthCombo->currentIndex() == 0 && YearSelect->currentIndex() != 0)
+    {
+        YearSelect->setCurrentIndex(YearSelect->currentIndex()-1);
+        monthCombo->setCurrentIndex(11);
+    }
+    else
+        monthCombo->setCurrentIndex(monthCombo->currentIndex()-1);
+}
+
+void ChineseCalendar::on_TbnextMonth_clicked()
+{
+    if (monthCombo->currentIndex() == 11 && YearSelect->currentIndex() != 150)
+    {
+        YearSelect->setCurrentIndex(YearSelect->currentIndex()+1);
+        monthCombo->setCurrentIndex(0);
+    }
+    else
+        monthCombo->setCurrentIndex(monthCombo->currentIndex()+1);
+}
+
+void ChineseCalendar::on_TbnextYear_clicked()
+{
+    if(YearSelect->currentIndex() != 150)
+        YearSelect->setCurrentIndex(YearSelect->currentIndex()+1);
+}
+
+void ChineseCalendar::showOrHide()
+{
+    if(this->isHidden())
+    {
+        this->show();
+    }else
+        this->hide();
+}
+
+void ChineseCalendar::setMode()
+{
+    if(this->actionStaysOnTop->isChecked())
+    {
+        this->setWindowFlags(Qt::ToolTip | Qt::FramelessWindowHint);
+        this->show();
+    } else if(this->actionStaysOnBottom->isChecked())
+    {
+        this->setWindowFlags(Qt::WindowStaysOnBottomHint | Qt::FramelessWindowHint);
+        this->show();
+    } else
+    {
+        this->setWindowFlags(Qt::FramelessWindowHint);
+        this->show();
+    }
+}
+
+void ChineseCalendar::slotChangeSkin()
+{
+    QAction *action = qobject_cast<QAction *>(sender());
+    QString strSkin = action->text();
+
+    if (!strSkin.isEmpty())
+    {
+        if (strSkin.toLower() == "default" || strSkin.toLower() == "black")
+        {
+            changeSkin(strSkin.toLower());
+        }
+        else
+        {
+            changeSkin(strSkin, false);
+        }
+    }
+}
+
+void ChineseCalendar::changeSkin(const QString &skin, bool bFlag)
+{
+    QString strFilename("");
+
+    if (bFlag)
+    {
+#ifdef DEBUG
+        strFilename = QCoreApplication::applicationDirPath() + QString("/skin/%1-skin.qss").arg(skin);
+#else
+        strFilename = QString("/usr/share/chinese-calendar/skin/%1-skin.qss").arg(skin);
+#endif
+    }
+    else
+    {
+        strFilename =  QDir::homePath() + QString("/.local/share/chinese-calendar/skins/%1.qss").arg(skin);
+    }
+
+    QFile qss(strFilename);
+    if (qss.open(QFile::ReadOnly))
+    {
+        qApp->setStyleSheet(qss.readAll());
+        qss.close();
+    }
+}
+
+void ChineseCalendar::readSkinFiles()
+{
+    QString systemdirectory;
+    systemdirectory = QDir::homePath() + "/.local/share/chinese-calendar/skins/";
+
+    QDir dir(systemdirectory);
+    foreach(QFileInfo info, dir.entryInfoList())
+    {
+        if (info.isFile() && info.suffix() == "qss")
+        {
+            m_strFileList << info.baseName();
+        }
+    }
+}

=== added file 'chinesecalendar.h'
--- chinesecalendar.h	1970-01-01 00:00:00 +0000
+++ chinesecalendar.h	2013-05-06 14:54:28 +0000
@@ -0,0 +1,111 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+
+#ifndef MYCALENDAR_H
+#define MYCALENDAR_H
+
+#include <QWidget>
+#include <QDate>
+#include <QSystemTrayIcon>
+#include <QMenu>
+#include <QProcess>
+#include <QGraphicsItem>
+#include <QtGui>
+#include <QMap>
+#include <QPixmap>
+#include <QSystemTrayIcon>
+#include <QMenu>
+#include <QAction>
+#include <QActionGroup>
+#include "ui_calendar.h"
+#include "ccbo.h"
+#include "dateitem.h"
+#include "cnote.h"
+class CCBO;
+class ChineseCalendar: public QWidget, private Ui::Calendar
+{
+    Q_OBJECT
+public:
+    explicit ChineseCalendar(QWidget *parent = 0);
+    virtual ~ChineseCalendar();
+    QIcon icon, icon64;
+    int clickday;
+
+private:
+    void setCalendar();
+    void cleardate();
+    void clearbackground();
+    void createTray();
+    void setItemLayout();
+    void resetItemLayout();
+    CCalendar fixshengxiao(QDate);
+    Cnote *note;
+
+    void paintEvent(QPaintEvent *);
+
+    bool moveable;
+    bool isTall;
+    QPoint dragPos;
+    QDate selectedDate;
+    CCBO *mycalendat;
+    QMap<QString, DateItem*> *map;
+
+    QPixmap *bg;
+    QSystemTrayIcon *trayIcon;
+    QMenu *trayMenu;
+    QActionGroup *ag;
+    QAction *actionShow, *actionStaysOnTop, *actionStaysOnBottom, *actionStaysNormal, *actionQuit;
+    QAction *actionDefault;
+    QAction *actionSkin;
+    QMenu *skinMenu;
+
+public slots:
+    void setMonth(int month);
+    void setYear(int year);
+    void setTime();
+    void resetcalendardate(QString);
+    void backtoday();
+    void showOrHide();
+    void setMode();
+    void savedata(QString);
+    void setclickday(QString);
+
+
+protected:
+    void mousePressEvent(QMouseEvent *event);
+    void mouseMoveEvent(QMouseEvent *event);
+    void mouseReleaseEvent(QMouseEvent *event);
+
+private slots:
+    void on_TbnextYear_clicked();
+    void on_TbnextMonth_clicked();
+    void on_TbpreviousMonth_clicked();
+    void on_TbpreviousYear_clicked();
+    void slotChangeSkin();
+private:
+    void changeSkin(const QString &, bool bFlag = true);
+    void readSkinFiles();
+
+    QStringList m_strFileList;
+};
+
+#endif

=== added file 'cnote.cpp'
--- cnote.cpp	1970-01-01 00:00:00 +0000
+++ cnote.cpp	2013-05-06 14:54:28 +0000
@@ -0,0 +1,89 @@
+#include "cnote.h"
+#include "ccbo.h"
+#include <QtGui>
+
+Cnote::Cnote(QWidget *parent) :
+    QDialog(parent)
+{
+    setWindowFlags(Qt::FramelessWindowHint);
+    setAttribute(Qt::WA_TranslucentBackground);
+    //pix.load(":/img/note.png",0,Qt::AvoidDither|Qt::ThresholdDither|Qt::ThresholdAlphaDither);
+    resize(224,280);
+    textedit = new QTextEdit(this); textedit->setObjectName("textedit");
+    ok = new QPushButton(this); ok->setObjectName("ok");
+    cancel = new QPushButton(this);cancel->setObjectName("cancel");
+    datelabel = new QLabel(this);datelabel->setObjectName("datelabel");
+    clearplan = new QPushButton(this);clearplan->setObjectName("clearplan");
+    textedit->resize(155,140);
+    textedit->move(30,60);
+    ok->resize(30,30);
+    ok->move(120,210);
+    cancel->resize(30,30);
+    cancel->move(160,210);
+    clearplan->resize(70,30);
+    clearplan->setText("清空计划");
+    clearplan->move(30,210);
+    datelabel->resize(120,20);
+    datelabel->move(50,40);
+
+    //ok->setStyleSheet("QPushButton{background-color:transparent;}");
+    //cancel->setStyleSheet("QPushButton{background-color:transparent;border:0 solid}");
+    //datelabel->setStyleSheet("QLabel{background-color:transparent;border:0 solid;}");
+    //clearplan->setStyleSheet("QPushButton{background-color:transparent;}");
+    //ok->setIcon(QIcon(":/img/ok.png"));
+    //cancel->setIcon(QIcon(":/img/no.png"));
+    //textedit->setStyleSheet("QTextEdit{background-color:transparent;border:0 solid;}");
+    connect(this->ok,SIGNAL(clicked()),this,SLOT(savenote()));
+    connect(this->cancel,SIGNAL(clicked()),this,SLOT(cancelnote()));
+    connect(this->clearplan,SIGNAL(clicked()),this,SLOT(clean()));
+
+}
+
+Cnote::~Cnote()
+{
+
+}
+
+void Cnote::clean()
+{
+    this->textedit->clear();
+}
+
+void Cnote::savenote()
+{
+    emit save(this->textedit->toPlainText());
+
+    this->hide();
+    this->textedit->clear();
+}
+
+void Cnote::cancelnote()
+{
+    this->hide();
+    this->textedit->clear();
+}
+
+void Cnote::paintEvent(QPaintEvent *)
+{
+    QPainter painter(this);
+    //painter.drawPixmap(0,0,pix.scaled(this->size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
+    QStyleOption opt;
+    opt.init(this);
+    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
+}
+
+void  Cnote::mouseMoveEvent(QMouseEvent *event)
+{
+    move(event->globalPos() - dragPos);
+    setWindowOpacity(0.5);
+}
+
+void  Cnote::mousePressEvent(QMouseEvent *event)
+{
+    dragPos = event->globalPos() - frameGeometry().topLeft();
+}
+
+void  Cnote::mouseReleaseEvent(QMouseEvent *event)
+{
+    setWindowOpacity(1.0);
+}

=== added file 'cnote.h'
--- cnote.h	1970-01-01 00:00:00 +0000
+++ cnote.h	2013-05-06 14:54:28 +0000
@@ -0,0 +1,39 @@
+#ifndef CNOTE_H
+#define CNOTE_H
+
+#include <QWidget>
+#include <QtGui>
+#include <QDialog>
+
+class Cnote : public QDialog
+{
+    Q_OBJECT
+public:
+    explicit Cnote(QWidget *parent = 0);
+    ~Cnote();
+    QPixmap pix;
+    void paintEvent(QPaintEvent *);
+    QPoint dragPos;
+    QTextEdit *textedit;
+    QLabel *datelabel;
+protected:
+    void  mouseMoveEvent(QMouseEvent *event);
+    void  mousePressEvent(QMouseEvent *event);
+    void  mouseReleaseEvent(QMouseEvent *event);
+private:
+    QPushButton *ok;
+    QPushButton *cancel;
+    QPushButton *clearplan;
+public slots:
+    void savenote();
+    void cancelnote();
+    void clean();
+
+signals:
+    void save(QString);
+
+
+    
+};
+
+#endif // CNOTE_H

=== added file 'dateitem.cpp'
--- dateitem.cpp	1970-01-01 00:00:00 +0000
+++ dateitem.cpp	2013-05-06 14:54:28 +0000
@@ -0,0 +1,195 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+
+#include "dateitem.h"
+//extern Cnote *note;
+
+DateItem::DateItem(QWidget *parent) :
+    QWidget(parent),
+    ui(new Ui::DateItem)
+{
+    ui->setupUi(this);
+    QFont font ;
+    font.setPointSize(15);
+    QFont font1;
+    font1.setPointSize(10);
+    ui->label->setFont(font);
+    ui->label_2->setFont(font1);
+
+    connect(ui->datemaskwidget, SIGNAL(clicked()), this, SLOT(click()));
+    connect(ui->datemaskwidget, SIGNAL(clickday()), this, SLOT(clickday()));
+
+    ui->datemaskwidget->installEventFilter(this);
+
+    this->isFocus = false;
+    this->oriItemStyle = this->styleSheet();
+    this->oriDayStyle = ui->label->styleSheet();
+    this->oriCDayStyle = ui->label_2->styleSheet();
+    this->clickiItemStyle = "QWidget{background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(238, 93, 0, 255), stop:1 rgba(255, 121, 2, 200));}";
+    this->clickDayStyle = "QLabel{color:rgb(255,255,255);}";
+    this->clickCDayStyle = "QLabel{color:rgb(255,255,255);}";
+    this->hoverItemStyle = "QWidget{background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(238, 93, 0, 155), stop:1 rgba(255, 121, 2, 100));}";
+    this->hoverDayStyle = "QLabel{color:rgb(255,255,255);}";
+    this->hoverCDayStyle = "QLabel{color:rgb(255,255,255);}";
+}
+
+DateItem::~DateItem()
+{
+    delete ui;
+}
+
+bool DateItem::eventFilter(QObject *o, QEvent *ev)
+{
+    if(o == ui->datemaskwidget){
+        if(ev->type() == QEvent::Enter){
+            this->enter();
+        }else if(ev->type() == QEvent::Leave){
+            this->leave();
+        }else{
+            return QObject::eventFilter(o,ev);
+        }
+    }
+}
+
+void DateItem::resizeItem(int x, int y)
+{
+    this->resize(x,y);
+    ui->datemaskwidget->resize(x,y);
+    if ( y == 47 )
+    {
+        ui->label->resize(55,27);
+        ui->label->move(0,0);
+        ui->label_2->resize(55,20);
+        ui->label_2->move(0,27);
+    }
+    if( y == 39 )
+    {
+        ui->label->resize(55,22);
+        ui->label->move(0,0);
+        ui->label_2->resize(55,17);
+        ui->label_2->move(0,22);
+    }
+}
+
+void DateItem::enter()
+{
+    if (!ui->label->text().isNull())
+    {
+        this->setStyleSheet(this->hoverItemStyle);
+        ui->label->setStyleSheet(this->hoverDayStyle);
+        ui->label_2->setStyleSheet(this->hoverCDayStyle);
+    }
+}
+
+void DateItem::leave()
+{
+    if(this->isFocus){
+        this->setStyleSheet(this->clickiItemStyle);
+        ui->label->setStyleSheet(this->clickDayStyle);
+        ui->label_2->setStyleSheet(this->clickCDayStyle);
+    }else{
+        this->setStyleSheet(this->oriItemStyle);
+        ui->label->setStyleSheet(this->oriDayStyle);
+        ui->label_2->setStyleSheet(this->oriCDayStyle);
+    }
+}
+
+
+void DateItem::click()
+{
+    if (!ui->label->text().isNull())
+    {
+        emit clicked(ui->label->text());
+        this->setStyleSheet(this->clickiItemStyle);
+        ui->label->setStyleSheet(this->clickDayStyle);
+        ui->label_2->setStyleSheet(this->clickCDayStyle);
+        this->isFocus = true;
+    }
+}
+
+void DateItem::clickday()
+{
+    if(!ui->label->text().isNull())
+    {
+        emit day(ui->label->text());
+//        note->show();
+    }
+}
+
+void DateItem::setday(int day)
+{
+    ui->label->setText(QString::number(day));
+}
+
+void DateItem::setcday(QString cday)
+{
+    ui->label_2->setText(cday);
+}
+
+QString DateItem::day()
+{
+    return ui->label->text();
+}
+
+QString DateItem::cday()
+{
+    return ui->label_2->text();
+}
+
+void DateItem::clear()
+{
+    ui->label->clear();
+    ui->label_2->clear();
+    this->clearstyle();
+}
+
+void DateItem::clearstyle()
+{
+    this->setStyleSheet(this->oriItemStyle);
+    ui->label->setStyleSheet(this->oriDayStyle);
+    ui->label_2->setStyleSheet(this->oriCDayStyle);
+    this->isFocus = false;
+}
+
+void DateItem::setcolor()
+{
+    QPalette pa;
+    pa.setColor(QPalette::WindowText,Qt::red);
+    ui->label->setPalette(pa);
+    ui->label_2->setPalette(pa);
+}
+
+void DateItem::setToday()
+{
+    this->setStyleSheet(this->clickiItemStyle);
+    ui->label->setStyleSheet(this->clickDayStyle);
+    ui->label_2->setStyleSheet(this->clickCDayStyle);
+    this->isFocus = true;
+}
+
+void DateItem::paintEvent(QPaintEvent *)
+{
+    QPainter painter(this);
+    QStyleOption opt;
+    opt.init(this);
+    style()->drawPrimitive(QStyle::PE_Widget, &opt, &painter, this);
+}

=== renamed file 'dateitem.cpp' => 'dateitem.cpp.moved'
=== added file 'dateitem.h'
--- dateitem.h	1970-01-01 00:00:00 +0000
+++ dateitem.h	2013-05-06 14:54:28 +0000
@@ -0,0 +1,76 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+
+#ifndef DATEITEM_H
+#define DATEITEM_H
+
+#include <QtGui>
+#include <QWidget>
+#include "datemaskwidget.h"
+#include "ui_dateitem.h"
+
+namespace Ui {
+class DateItem;
+}
+
+class DateItem : public QWidget
+{
+    Q_OBJECT
+    
+public:
+    explicit DateItem(QWidget *parent = 0);
+    ~DateItem();
+    int row;
+    int column;
+    void setday(int day);
+    void setcday(QString cday);
+    void clear();
+    void clearstyle();
+    void setcolor();
+    void setToday();
+    QString day();
+    QString cday();
+    void resizeItem(int x,int y);
+
+protected:
+    void paintEvent(QPaintEvent *);
+    bool eventFilter(QObject *o, QEvent *ev);
+    void enter();
+    void leave();
+
+public slots:
+    void click();
+    void clickday();
+    
+signals:
+    void clicked(QString);
+    void day(QString);
+
+private:
+    Ui::DateItem *ui;
+    bool isFocus;
+    QString oriItemStyle, oriDayStyle, oriCDayStyle;
+    QString clickiItemStyle, clickDayStyle, clickCDayStyle;
+    QString hoverItemStyle, hoverDayStyle, hoverCDayStyle;
+};
+
+#endif // DATEITEM_H

=== renamed file 'dateitem.h' => 'dateitem.h.moved'
=== added file 'dateitem.ui'
--- dateitem.ui	1970-01-01 00:00:00 +0000
+++ dateitem.ui	2013-05-06 14:54:28 +0000
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DateItem</class>
+ <widget class="QWidget" name="DateItem">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>55</width>
+    <height>47</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
+  <widget class="QLabel" name="label">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>55</width>
+     <height>27</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>17</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_2">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>27</y>
+     <width>55</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>端午节</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="DateMaskWidget" name="datemaskwidget" native="true">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>55</width>
+     <height>47</height>
+    </rect>
+   </property>
+  </widget>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>DateMaskWidget</class>
+   <extends>QWidget</extends>
+   <header>datemaskwidget.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>

=== renamed file 'dateitem.ui' => 'dateitem.ui.moved'
=== added file 'datemaskwidget.cpp'
--- datemaskwidget.cpp	1970-01-01 00:00:00 +0000
+++ datemaskwidget.cpp	2013-05-06 14:54:28 +0000
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+
+#include "datemaskwidget.h"
+#include <QDebug>
+#include "chinesecalendar.h"
+DateMaskWidget::DateMaskWidget(QWidget *parent) :
+    QWidget(parent)
+{
+
+}
+
+void DateMaskWidget::mousePressEvent(QMouseEvent *ev)
+{
+    if( ev->button() == Qt::LeftButton)
+        emit clicked();
+    if( ev->button() == Qt::LeftButton && ev->type() == QEvent::MouseButtonDblClick)
+    {
+        emit clickday();
+    }
+    ev->ignore();
+}

=== renamed file 'datemaskwidget.cpp' => 'datemaskwidget.cpp.moved'
=== added file 'datemaskwidget.h'
--- datemaskwidget.h	1970-01-01 00:00:00 +0000
+++ datemaskwidget.h	2013-05-06 14:54:28 +0000
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+
+#ifndef DATEMASKWIDGET_H
+#define DATEMASKWIDGET_H
+
+#include <QWidget>
+#include <QMouseEvent>
+#include "cnote.h"
+
+class DateMaskWidget : public QWidget
+{
+    Q_OBJECT
+public:
+    explicit DateMaskWidget(QWidget *parent = 0);
+    
+signals:
+    void clicked();
+    void clickday();
+
+protected:
+    void mousePressEvent(QMouseEvent *ev);
+
+private:
+    QPoint mousePos;
+    
+};
+
+#endif // DATEMASKWIDGET_H

=== renamed file 'datemaskwidget.h' => 'datemaskwidget.h.moved'
=== added directory 'debian'
=== added file 'debian/changelog'
--- debian/changelog	1970-01-01 00:00:00 +0000
+++ debian/changelog	2013-05-06 14:54:28 +0000
@@ -0,0 +1,57 @@
+chinese-calendar (0.7.8-1) raring; urgency=low
+
+  * add skins changing function code
+  * add default and black skin qss files
+
+ -- mutse <yyhoo2.young@xxxxxxxxx>  Wed, 01 May 2013 19:11:07 +0800
+
+chinese-calendar (0.7.7-0ubuntu1) raring; urgency=low
+
+  [ abelsaber (Yes,it's true) ]
+  * Fix bug #1160698, bug #1164859, bug #1161756, bug #1155491, bug #1160698, bug #1160800.
+
+chinese-calendar (0.7.6-0ubuntu4) raring; urgency=low
+
+  * add 03-save-data-per-user.diff (LP: #1160149)
+  * remove debian/postinst, since db will be saved under
+    user's home.
+
+ -- Zhengpeng Hou <zhengpeng-hou@xxxxxxxxxx>  Tue, 26 Mar 2013 22:49:47 +0800
+
+chinese-calendar (0.7.6-0ubuntu3) raring; urgency=low
+
+  * add 02-fix-write-permission.diff. (LP: #1159732) 
+
+ -- Zhengpeng Hou <zhengpeng-hou@xxxxxxxxxx>  Mon, 25 Mar 2013 20:12:01 +0800
+
+chinese-calendar (0.7.6-0ubuntu2) raring; urgency=low
+
+  * Add 01-fix-crash.diff to fix the crash on startup.
+
+ -- Zhengpeng Hou <zhengpeng-hou@xxxxxxxxxx>  Thu, 14 Mar 2013 21:41:07 +0800
+
+chinese-calendar (0.7.6-0ubuntu1) raring; urgency=high
+
+  * Fix bug #1154063, bug #1154075, bug #1154079, bug #1154050.
+  * Modify note function.
+
+ -- abelsaber (Yes,it's true) <guiltyritter@xxxxxxxxx> Wed, 13 Mar 2013 10:12:21 +0800
+
+chinese-calendar (0.7.5) raring; urgency=high
+
+  * Fix bug #1124849, bug #1124747, bug #1124831, bug #1131516, bug #1124825, bug #1129925.
+  * Add note function.
+
+ -- abelsaber (Yes,it's true) <guiltyritter@xxxxxxxxx>  Tue, 12 Mar 2013 14:25:51 +0800
+
+chinese-calendar (0.7.4) raring; urgency=low
+
+  * Optimize the display of dateitem, add systemtray.
+
+ -- abelsaber (Yes,it's true) <guiltyritter@xxxxxxxxx>  Tue, 29 Jan 2013 14:33:08 +0800
+
+chinese-calendar (0.6.2-1) raring; urgency=low
+
+  * Initial release.
+
+ -- abelsaber (Yes,it's true) <guiltyritter@xxxxxxxxx>  Tue, 22 Jan 2013 14:10:26 +0800

=== added file 'debian/compat'
--- debian/compat	1970-01-01 00:00:00 +0000
+++ debian/compat	2013-05-06 14:54:28 +0000
@@ -0,0 +1,1 @@
+8

=== added file 'debian/control'
--- debian/control	1970-01-01 00:00:00 +0000
+++ debian/control	2013-05-06 14:54:28 +0000
@@ -0,0 +1,17 @@
+Source: chinese-calendar
+Section: utils
+Priority: extra
+Maintainer: abel <guiltyritter@xxxxxxxxx>
+Build-Depends: debhelper (>= 8.0.0), libqt4-dev (>=4.8.1), libqt4-sql-sqlite, ttf-wqy-microhei
+Standards-Version: 3.9.2
+Homepage: https://launchpad.net/chinese-calendar
+
+Package: chinese-calendar
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Chinese lunar calendar
+ This indicator is used to show a Chinese lunar calendar which is
+ tailored for Chinese users. The calendar can show festivals and the
+ 24 solar terms, year and month is also selectable.
+ .
+ This calendar is the default application in the UbuntuKylin flavour.

=== added file 'debian/copyright'
--- debian/copyright	1970-01-01 00:00:00 +0000
+++ debian/copyright	2013-05-06 14:54:28 +0000
@@ -0,0 +1,19 @@
+Format: http://dep.debian.net/deps/dep5
+Upstream-Name: chinese-calendar
+Upstream-Contact: abel <guiltyritter@xxxxxxxxx>
+Source: https://launchpad.net/chinese-calendar
+
+Files: *
+Copyright: Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Lt
+License: GPL-3
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License version 3 as
+ published by the Free Software Foundation.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ On Debian/Ubuntu systems, the full text of the GPL v3 can be found in
+ `/usr/share/common-licenses/GPL-3'

=== added file 'debian/rules'
--- debian/rules	1970-01-01 00:00:00 +0000
+++ debian/rules	2013-05-06 14:54:28 +0000
@@ -0,0 +1,5 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+%:
+	dh $@

=== added directory 'debian/source'
=== added file 'debian/source/format'
--- debian/source/format	1970-01-01 00:00:00 +0000
+++ debian/source/format	2013-05-06 14:54:28 +0000
@@ -0,0 +1,1 @@
+3.0 (quilt)

=== added directory 'img'
=== renamed directory 'img' => 'img.moved'
=== added file 'img/chinesecalendar-64.png'
Binary files img/chinesecalendar-64.png	1970-01-01 00:00:00 +0000 and img/chinesecalendar-64.png	2013-05-06 14:54:28 +0000 differ
=== added file 'img/chinesecalendar.svg'
--- img/chinesecalendar.svg	1970-01-01 00:00:00 +0000
+++ img/chinesecalendar.svg	2013-05-06 14:54:28 +0000
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; x="0px" y="0px"
+	 width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
+<g>
+	
+		<image overflow="visible" opacity="0.55" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAACXBIWXMAAAsSAAALEgHS3X78AAAA
+GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAATRJREFUeNrs27FqAkEUheHZcQ0W
+CqK9ffIC1nnyvEMKt08fEVQI2bDrGbyTnYRYBGy8/gOHu2D1zYzTnVEYVmWJxbenhGKG2ma074nN
+GHytTvlSPmx2te1CmktlpSyUh3J3bnz1yqeyVd6Ud6XNJz4x9LPypEydwQ/KRnlRjhlenvijslbm
+jq57uuY724BXs1blf3yszAy9cAYPZhtnV33hVY/OHrj463V393r/ayeAAwcOHDhw4MCBAwcOHDhw
+4MCBAwcOHDhw4MCBAwcOHDhw4MCBAwcOHDhw4MCBAwcOHDjwa6+yodBbujDUGTys7Mm+H/D0Q6vs
+w7m44uk25DLO3oxdhqddSCW01Mdqwrm34bF+1ZgxWftcUEntnLsq3FXFtb67imX5H28dnfRfJ/89
+TwIMADtMQaNu0ySdAAAAAElFTkSuQmCC" transform="matrix(1 0 0 1 1 2)">
+	</image>
+	<g>
+		<path fill="#590100" d="M60,57c0,1.658-1.344,3-3,3H7c-1.657,0-3-1.342-3-3V7c0-1.656,1.343-3,3-3h50c1.656,0,3,1.344,3,3V57z"/>
+	</g>
+</g>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="4" y1="32" x2="60" y2="32">
+	<stop  offset="0" style="stop-color:#FFFFFF;stop-opacity:0"/>
+	<stop  offset="0.5" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
+</linearGradient>
+<path opacity="0.3" fill="url(#SVGID_1_)" d="M60,57c0,1.658-1.344,3-3,3H7c-1.657,0-3-1.342-3-3V7c0-1.656,1.343-3,3-3h50
+	c1.656,0,3,1.344,3,3V57z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="31.9995" y1="4" x2="31.9995" y2="57.2713">
+	<stop  offset="0" style="stop-color:#FFA44D"/>
+	<stop  offset="1" style="stop-color:#CD0100"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" d="M60,54c0,1.658-1.344,3-3,3H7c-1.657,0-3-1.342-3-3V7c0-1.656,1.343-3,3-3h50c1.656,0,3,1.344,3,3V54
+	z"/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="31.9995" y1="5" x2="31.9995" y2="56.2611">
+	<stop  offset="0" style="stop-color:#FF7D01"/>
+	<stop  offset="1" style="stop-color:#990100"/>
+</linearGradient>
+<path fill="url(#SVGID_3_)" d="M7,56c-1.103,0-2-0.897-2-2V7c0-1.103,0.897-2,2-2h50c1.104,0,2,0.897,2,2v47c0,1.103-0.896,2-2,2H7z
+	"/>
+<g>
+	<path fill="#B35701" d="M25.624,10.926l1.377-3.801h0.966l1.335,3.801H28.48l-0.288-0.801h-1.5l-0.288,0.801H25.624z M27.987,9.488
+		l-0.514-1.623h-0.021l-0.555,1.623H27.987z"/>
+	<path fill="#B35701" d="M30.391,8.584h0.021c0.178-0.233,0.411-0.356,0.699-0.37c0.767,0.041,1.178,0.507,1.233,1.397
+		c-0.055,0.876-0.432,1.329-1.13,1.356c-0.383,0-0.65-0.137-0.801-0.411h-0.021v1.335H29.61V8.81c0-0.055,0-0.137,0-0.247
+		C29.597,8.44,29.59,8.344,29.59,8.275h0.781L30.391,8.584z M30.966,10.474c0.384,0,0.568-0.288,0.555-0.863
+		c0.013-0.589-0.171-0.884-0.555-0.884c-0.356,0.014-0.548,0.308-0.575,0.884C30.418,10.173,30.61,10.461,30.966,10.474z"/>
+	<path fill="#B35701" d="M33.556,8.275v0.493h0.021c0.15-0.37,0.452-0.541,0.904-0.514v0.699h-0.35
+		c-0.191,0.041-0.322,0.103-0.391,0.185c-0.041,0.096-0.075,0.226-0.103,0.39c0,0.042,0,0.069,0,0.083v1.315h-0.78V8.81
+		c0-0.027,0-0.089,0-0.185c-0.015-0.151-0.021-0.267-0.021-0.35H33.556z"/>
+	<path fill="#B35701" d="M35.733,7.125v0.678h-0.842V7.125H35.733z M35.713,8.275v2.651h-0.801V8.275H35.713z"/>
+	<path fill="#B35701" d="M37.172,7.125v3.801h-0.801V7.125H37.172z"/>
+</g>
+<g>
+	<path fill="#FFFFFF" d="M25.624,10.7l1.377-3.801h0.966l1.335,3.801H28.48l-0.288-0.801h-1.5L26.405,10.7H25.624z M27.987,9.261
+		l-0.514-1.623h-0.021l-0.555,1.623H27.987z"/>
+	<path fill="#FFFFFF" d="M30.391,8.357h0.021c0.178-0.233,0.411-0.356,0.699-0.37c0.767,0.041,1.178,0.507,1.233,1.397
+		c-0.055,0.876-0.432,1.329-1.13,1.356c-0.383,0-0.65-0.137-0.801-0.411h-0.021v1.335H29.61V8.583c0-0.055,0-0.137,0-0.247
+		c-0.014-0.124-0.021-0.219-0.021-0.288h0.781L30.391,8.357z M30.966,10.248c0.384,0,0.568-0.288,0.555-0.863
+		c0.013-0.589-0.171-0.884-0.555-0.884c-0.356,0.014-0.548,0.308-0.575,0.884C30.418,9.946,30.61,10.234,30.966,10.248z"/>
+	<path fill="#FFFFFF" d="M33.556,8.049v0.493h0.021c0.15-0.37,0.452-0.541,0.904-0.514v0.699h-0.35
+		c-0.191,0.041-0.322,0.103-0.391,0.185c-0.041,0.096-0.075,0.226-0.103,0.39c0,0.042,0,0.069,0,0.083V10.7h-0.78V8.583
+		c0-0.027,0-0.089,0-0.185c-0.015-0.151-0.021-0.267-0.021-0.35H33.556z"/>
+	<path fill="#FFFFFF" d="M35.733,6.898v0.678h-0.842V6.898H35.733z M35.713,8.049V10.7h-0.801V8.049H35.713z"/>
+	<path fill="#FFFFFF" d="M37.172,6.898V10.7h-0.801V6.898H37.172z"/>
+</g>
+<path fill="#B3B3B3" d="M57,51c0,1.657-1.344,3-3,3H10c-1.657,0-3-1.343-3-3V15.657c0-1.657,1.343-3,3-3h44c1.656,0,3,1.343,3,3V51z
+	"/>
+<radialGradient id="SVGID_4_" cx="31.833" cy="53.9121" r="22.9383" gradientUnits="userSpaceOnUse">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#000000"/>
+</radialGradient>
+<path opacity="0.2" fill="url(#SVGID_4_)" d="M57,51c0,1.657-1.344,3-3,3H10c-1.657,0-3-1.343-3-3V15.657c0-1.657,1.343-3,3-3h44
+	c1.656,0,3,1.343,3,3V51z"/>
+<path fill="#D6D6D6" d="M57,49c0,1.657-1.344,3-3,3H10c-1.657,0-3-1.343-3-3V15.657c0-1.657,1.343-3,3-3h44c1.656,0,3,1.343,3,3V49z
+	"/>
+<path fill="#F5F5F5" d="M57,48c0,1.657-1.344,3-3,3H10c-1.657,0-3-1.343-3-3V15.657c0-1.657,1.343-3,3-3h44c1.656,0,3,1.343,3,3V48z
+	"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="31.9995" y1="12.5039" x2="31.9995" y2="49.9999">
+	<stop  offset="0" style="stop-color:#E6E6E6"/>
+	<stop  offset="1" style="stop-color:#F2F2F2"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" d="M57,47c0,1.657-1.344,3-3,3H10c-1.657,0-3-1.343-3-3V15.657c0-1.657,1.343-3,3-3h44
+	c1.656,0,3,1.343,3,3V47z"/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="31.9995" y1="13.5122" x2="31.9995" y2="49">
+	<stop  offset="0" style="stop-color:#CCCCCC"/>
+	<stop  offset="1" style="stop-color:#F2F2F2"/>
+</linearGradient>
+<path fill="url(#SVGID_6_)" d="M10,49c-1.103,0-2-0.897-2-2V15.657c0-1.103,0.897-2,2-2h44c1.104,0,2,0.897,2,2V47
+	c0,1.103-0.896,2-2,2H10z"/>
+<radialGradient id="SVGID_7_" cx="32.125" cy="12.7036" r="22.0638" gradientUnits="userSpaceOnUse">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
+</radialGradient>
+<path fill="url(#SVGID_7_)" d="M57,47c0,1.657-1.344,3-3,3H10c-1.657,0-3-1.343-3-3V15.657c0-1.657,1.343-3,3-3h44
+	c1.656,0,3,1.343,3,3V47z"/>
+<g>
+	<g>
+		<path fill="#FFFFFF" d="M24.344,49.229v-9.481c-0.941,0.854-2.05,1.666-3.332,2.435c-0.941-0.939-2.05-1.922-3.332-2.947
+			c2.819-1.451,5.125-3.245,6.919-5.382h-6.663v-2.947h8.585c0.256-0.512,0.512-1.067,0.769-1.666h-5.638v-2.947h6.791
+			c0.17-0.512,0.298-1.025,0.384-1.538h-9.866v-2.947h10.635c0.17-0.939,0.298-1.793,0.384-2.563
+			c0.597,0.086,1.494,0.214,2.691,0.384c0.427,0.086,0.725,0.128,0.897,0.128c0.682,0.172,0.811,0.557,0.385,1.153
+			c-0.174,0.172-0.258,0.3-0.258,0.384v0.256l-0.127,0.256h12.941v2.947H33.057c-0.085,0.513-0.213,1.025-0.384,1.538H43.82v2.947
+			h-5.51c0.084,0.256,0.256,0.599,0.514,1.025c0.17,0.256,0.297,0.471,0.383,0.641h8.33v2.947h-5.895
+			c1.537,1.538,3.543,2.863,6.021,3.973c-0.256,0.172-0.342,0.256-0.256,0.256c-1.453,1.197-2.434,2.137-2.947,2.819
+			c-1.197-0.77-2.307-1.538-3.332-2.307v10.123H36.9v-0.513h-8.328v1.024H24.344z M29.598,33.853
+			c-0.599,0.855-1.239,1.752-1.922,2.691h11.276c-0.855-0.939-1.623-1.836-2.307-2.691H29.598z M36.9,39.362h-8.328v1.666H36.9
+			V39.362z M36.9,43.848h-8.328v1.794H36.9V43.848z M34.723,30.905c-0.256-0.512-0.557-1.067-0.896-1.666h-2.178
+			c-0.172,0.513-0.385,1.069-0.641,1.666H34.723z"/>
+	</g>
+	<g>
+		<path fill="#1A1A1A" d="M23.511,48.422V38.94c-0.941,0.854-2.05,1.666-3.332,2.435c-0.941-0.939-2.05-1.922-3.332-2.947
+			c2.819-1.451,5.125-3.245,6.919-5.382h-6.663v-2.947h8.585c0.256-0.512,0.512-1.067,0.769-1.666H20.82v-2.947h6.791
+			c0.17-0.512,0.298-1.025,0.384-1.538h-9.866v-2.947h10.635c0.17-0.939,0.298-1.793,0.384-2.563
+			c0.597,0.086,1.494,0.214,2.691,0.384c0.426,0.086,0.725,0.128,0.897,0.128c0.683,0.172,0.81,0.557,0.384,1.153
+			c-0.172,0.172-0.256,0.3-0.256,0.384v0.256l-0.128,0.256h12.941v2.947H32.224c-0.086,0.513-0.214,1.025-0.384,1.538h11.148v2.947
+			h-5.51c0.084,0.256,0.256,0.599,0.512,1.025c0.17,0.256,0.299,0.471,0.385,0.641h8.328v2.947h-5.895
+			c1.539,1.538,3.545,2.863,6.023,3.973c-0.256,0.172-0.342,0.256-0.256,0.256c-1.455,1.197-2.436,2.137-2.947,2.819
+			c-1.197-0.77-2.307-1.538-3.332-2.307V47.91h-4.229v-0.513h-8.329v1.024H23.511z M28.765,33.046
+			c-0.599,0.855-1.239,1.752-1.922,2.691h11.277c-0.855-0.939-1.625-1.836-2.307-2.691H28.765z M36.068,38.556h-8.329v1.666h8.329
+			V38.556z M36.068,43.041h-8.329v1.794h8.329V43.041z M33.891,30.099c-0.258-0.512-0.557-1.067-0.898-1.666h-2.178
+			c-0.172,0.513-0.385,1.069-0.641,1.666H33.891z"/>
+	</g>
+</g>
+<g>
+	<ellipse fill="#FFFFFF" cx="17.032" cy="17.01" rx="4.028" ry="2.49"/>
+	<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="17.0322" y1="14.0186" x2="17.0322" y2="19.1263">
+		<stop  offset="0" style="stop-color:#020202"/>
+		<stop  offset="1" style="stop-color:#636363"/>
+	</linearGradient>
+	<ellipse fill="url(#SVGID_8_)" cx="17.032" cy="16.581" rx="4.028" ry="2.49"/>
+	
+		<radialGradient id="SVGID_9_" cx="17.0322" cy="9.8262" r="3.3488" gradientTransform="matrix(1 0 0 0.7209 0 2.7423)" gradientUnits="userSpaceOnUse">
+		<stop  offset="0" style="stop-color:#000000"/>
+		<stop  offset="1" style="stop-color:#000000;stop-opacity:0"/>
+	</radialGradient>
+	<ellipse fill="url(#SVGID_9_)" cx="17.032" cy="9.827" rx="4.028" ry="2.49"/>
+	<g>
+		
+			<radialGradient id="SVGID_10_" cx="17.0425" cy="11.5977" r="2.587" gradientTransform="matrix(1 0 0 2.1958 0 -13.869)" gradientUnits="userSpaceOnUse">
+			<stop  offset="0" style="stop-color:#000000"/>
+			<stop  offset="1" style="stop-color:#000000;stop-opacity:0"/>
+		</radialGradient>
+		<polygon fill="url(#SVGID_10_)" points="19.605,11.454 19.251,17.367 14.813,17.367 14.48,11.547 14.813,5.829 19.251,5.829 		"/>
+		<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="17.0322" y1="6.9238" x2="17.0322" y2="17.3821">
+			<stop  offset="0" style="stop-color:#B8BABC"/>
+			<stop  offset="0.0024" style="stop-color:#B2B4B6"/>
+			<stop  offset="0.0167" style="stop-color:#939497"/>
+			<stop  offset="0.0316" style="stop-color:#7B7B7F"/>
+			<stop  offset="0.0472" style="stop-color:#6A6A6E"/>
+			<stop  offset="0.0638" style="stop-color:#605F63"/>
+			<stop  offset="0.0832" style="stop-color:#5D5C60"/>
+			<stop  offset="0.1083" style="stop-color:#808083"/>
+			<stop  offset="0.1508" style="stop-color:#B6B6B8"/>
+			<stop  offset="0.1875" style="stop-color:#DEDEDF"/>
+			<stop  offset="0.2166" style="stop-color:#F6F6F6"/>
+			<stop  offset="0.2344" style="stop-color:#FFFFFF"/>
+			<stop  offset="0.3824" style="stop-color:#F0F2F2"/>
+			<stop  offset="0.5576" style="stop-color:#9D9EA1"/>
+			<stop  offset="0.5874" style="stop-color:#939497"/>
+			<stop  offset="0.6675" style="stop-color:#7F8083"/>
+			<stop  offset="0.7473" style="stop-color:#737477"/>
+			<stop  offset="0.826" style="stop-color:#6F7073"/>
+			<stop  offset="0.8886" style="stop-color:#959799"/>
+			<stop  offset="0.9575" style="stop-color:#BCBEC0"/>
+		</linearGradient>
+		<rect x="15.136" y="6.667" fill="url(#SVGID_11_)" width="3.792" height="10.7"/>
+	</g>
+</g>
+<g>
+	<ellipse fill="#FFFFFF" cx="46.928" cy="17.01" rx="4.028" ry="2.49"/>
+	<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="46.9277" y1="14.0186" x2="46.9277" y2="19.1263">
+		<stop  offset="0" style="stop-color:#020202"/>
+		<stop  offset="1" style="stop-color:#636363"/>
+	</linearGradient>
+	<ellipse fill="url(#SVGID_12_)" cx="46.928" cy="16.581" rx="4.028" ry="2.49"/>
+	
+		<radialGradient id="SVGID_13_" cx="46.9277" cy="9.8262" r="3.3488" gradientTransform="matrix(1 0 0 0.7209 0 2.7423)" gradientUnits="userSpaceOnUse">
+		<stop  offset="0" style="stop-color:#000000"/>
+		<stop  offset="1" style="stop-color:#000000;stop-opacity:0"/>
+	</radialGradient>
+	<ellipse fill="url(#SVGID_13_)" cx="46.928" cy="9.827" rx="4.028" ry="2.49"/>
+	<g>
+		
+			<radialGradient id="SVGID_14_" cx="46.9375" cy="11.5977" r="2.587" gradientTransform="matrix(1 0 0 2.1958 0 -13.869)" gradientUnits="userSpaceOnUse">
+			<stop  offset="0" style="stop-color:#000000"/>
+			<stop  offset="1" style="stop-color:#000000;stop-opacity:0"/>
+		</radialGradient>
+		<polygon fill="url(#SVGID_14_)" points="49.5,11.454 49.146,17.367 44.709,17.367 44.375,11.547 44.709,5.829 49.146,5.829 		"/>
+		<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="46.9277" y1="6.9238" x2="46.9277" y2="17.3821">
+			<stop  offset="0" style="stop-color:#B8BABC"/>
+			<stop  offset="0.0024" style="stop-color:#B2B4B6"/>
+			<stop  offset="0.0167" style="stop-color:#939497"/>
+			<stop  offset="0.0316" style="stop-color:#7B7B7F"/>
+			<stop  offset="0.0472" style="stop-color:#6A6A6E"/>
+			<stop  offset="0.0638" style="stop-color:#605F63"/>
+			<stop  offset="0.0832" style="stop-color:#5D5C60"/>
+			<stop  offset="0.1083" style="stop-color:#808083"/>
+			<stop  offset="0.1508" style="stop-color:#B6B6B8"/>
+			<stop  offset="0.1875" style="stop-color:#DEDEDF"/>
+			<stop  offset="0.2166" style="stop-color:#F6F6F6"/>
+			<stop  offset="0.2344" style="stop-color:#FFFFFF"/>
+			<stop  offset="0.3824" style="stop-color:#F0F2F2"/>
+			<stop  offset="0.5576" style="stop-color:#9D9EA1"/>
+			<stop  offset="0.5874" style="stop-color:#939497"/>
+			<stop  offset="0.6675" style="stop-color:#7F8083"/>
+			<stop  offset="0.7473" style="stop-color:#737477"/>
+			<stop  offset="0.826" style="stop-color:#6F7073"/>
+			<stop  offset="0.8886" style="stop-color:#959799"/>
+			<stop  offset="0.9575" style="stop-color:#BCBEC0"/>
+		</linearGradient>
+		<rect x="45.031" y="6.667" fill="url(#SVGID_15_)" width="3.793" height="10.7"/>
+	</g>
+</g>
+</svg>

=== added file 'img/icon-64.png'
Binary files img/icon-64.png	1970-01-01 00:00:00 +0000 and img/icon-64.png	2013-05-06 14:54:28 +0000 differ
=== added file 'img/icon.png'
Binary files img/icon.png	1970-01-01 00:00:00 +0000 and img/icon.png	2013-05-06 14:54:28 +0000 differ
=== added file 'main.cpp'
--- main.cpp	1970-01-01 00:00:00 +0000
+++ main.cpp	2013-05-06 14:54:28 +0000
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 National University of Defense Technology(NUDT) & Kylin Ltd
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Authors: Abel Liu <guiltyritter@xxxxxxxxx>
+ *                 Shine Huang <hostc@xxxxxxx>
+ */
+
+#include <QtGui>
+#include <QCoreApplication>
+#include <QTranslator>
+#include <QTextCodec>
+#include <QDesktopWidget>
+#include "chinesecalendar.h"
+
+int main(int argc, char *argv[])
+{
+    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
+    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
+    QApplication app(argc, argv);
+    QTranslator translator;
+
+    translator.load(":/translate/i18_zh_CN.qm");
+    app.installTranslator(&translator);
+
+    // load default skin
+#ifdef DEBUG
+    QFile file(QCoreApplication::applicationDirPath() + "/skin/default-skin.qss");
+#else
+    QFile file("/usr/share/chinese-calendar/skin/default-skin.qss");
+#endif
+    file.open(QFile::ReadOnly);
+    QString stylesheet = QObject::tr(file.readAll());
+    app.setStyleSheet(stylesheet);
+
+    ChineseCalendar *window = new ChineseCalendar;
+    app.setWindowIcon(window->icon64);
+    window->setWindowFlags(Qt::FramelessWindowHint);
+
+    QDesktopWidget desktop;
+    int width = desktop.screenGeometry().width();
+    int height = desktop.screenGeometry().height();
+
+    window->setGeometry(QRect(width-525,30,520,350));
+    window->hide();
+    return app.exec();
+}

=== renamed file 'main.cpp' => 'main.cpp.moved'
=== added directory 'skin'
=== added file 'skin/README.md'
--- skin/README.md	1970-01-01 00:00:00 +0000
+++ skin/README.md	2013-05-06 14:54:28 +0000
@@ -0,0 +1,27 @@
+皮肤说明文档
+============
+
+目录结构如下:
+
+skin/
+  |
+  |-black/
+  |-black-skin.qss
+  |
+  |-blue/
+  |-blue.qss
+  |
+  |-default/
+  |-default-skin.qss
+
+其中,black-skin.qss default-skin.qss为系统皮肤文件,blue.qss为用户自己定义皮肤文件。
+
+### 用户自定义皮肤
+
+若用户想制作自己的个性皮肤,可参考blue.qss。运行程序前,将自制皮肤文件复制到 ~/.local/share/chinese-calendar/skins 目录(若无此目录,请使用 mkdir -p ~/.local/share/chinese-calendar/skins 来新建)下即可换肤。
+
+### 问题与反馈
+
+mutse(墨汁)	<yyhoo2.young@xxxxxxxxx>
+ 
+

=== added directory 'skin/black'
=== added file 'skin/black-skin.qss'
--- skin/black-skin.qss	1970-01-01 00:00:00 +0000
+++ skin/black-skin.qss	2013-05-06 14:54:28 +0000
@@ -0,0 +1,189 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 Mutse & UbuntuKylin Members
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Author: Mutse <yyhoo2.young@xxxxxxxxx>
+ */
+
+ChineseCalendar{
+    background: url(/usr/share/chinese-calendar/skin/black/chinesecalendar.png);
+}
+
+ChineseCalendar QPushButton#TbnextMonth{
+    background-color:transparent;
+    image: url(/usr/share/chinese-calendar/skin/black/arrow-right.png);
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#TbnextMonth:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QPushButton#TbnextYear{
+    background-color:transparent;
+    image: url(/usr/share/chinese-calendar/skin/black/arrow-right.png);
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#TbnextYear:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QPushButton#TbpreviousMonth{
+    background-color:transparent;
+    image: url(/usr/share/chinese-calendar/skin/black/arrow-left.png);
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#TbpreviousMonth:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QPushButton#TbpreviousYear{
+    background-color:transparent;
+    image: url(/usr/share/chinese-calendar/skin/black/arrow-left.png);
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#TbpreviousYear:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QPushButton#backtotoday{
+    background-color:transparent;
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#backtotoday:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QComboBox#YearSelect{
+    border: 2px solid lightgray;
+    border-radius: 5px;
+    font:12pt;
+}
+
+ChineseCalendar QComboBox#monthCombo{
+    border: 2px solid lightgray;
+    border-radius: 5px;
+    font:12pt;
+}
+
+ChineseCalendar QComboBox::down-arrow {
+    image: url(/usr/share/chinese-calendar/skin/black/arrow-down.png);
+    background-color: transparent;
+}
+
+ChineseCalendar QLabel#label{
+    font:12pt;
+}
+
+ChineseCalendar QLabel#label_2{
+    font:12pt;
+}
+
+ChineseCalendar QLabel#label_3, QLabel#label_9{
+    color: rgb(112, 121, 138);
+}
+
+ChineseCalendar QLabel#label_4,
+	QLabel#label_5,
+	QLabel#label_6,
+	QLabel#label_7,
+	QLabel#label_8{
+    color: rgb(248,128,35);
+}
+
+ChineseCalendar QLabel#label_10{
+    color: rgb(248,128,35);
+}
+
+ChineseCalendar QLabel#label_11{
+    color: rgb(238,124,35);
+}
+
+ChineseCalendar QLabel#label_12,
+    	QLabel#label_13, QLabel#label_14, 
+	QLabel#label_15, QLabel#label_17{
+    color: rgb(112, 121, 138);
+}
+
+ChineseCalendar QLabel#label_16{
+    color: black;
+}
+
+Cnote{
+    background: url(/usr/share/chinese-calendar/skin/black/note.png);
+}
+
+Cnote QPushButton#ok{
+    image: url(/usr/share/chinese-calendar/skin/black/ok.png);
+    background-color:transparent;
+}
+
+Cnote QPushButton#ok:hover{
+	image: url(/usr/share/chinese-calendar/skin/black/ok-hover.png);
+}
+
+Cnote QPushButton#cancel{
+    image: url(/usr/share/chinese-calendar/skin/black/no.png);
+    background-color:transparent;
+
+    border:0 solid;
+}
+
+Cnote QPushButton#cancel:hover{
+	image: url(/usr/share/chinese-calendar/skin/black/no-hover.png);
+}
+
+Cnote QLabel#datelabel{
+    background-color: transparent;
+    color: rgb(133,143,162);
+    border:0 solid;
+}
+
+Cnote QPushButton#clearplan{
+    background-color: transparent;
+    color: rgb(133,143,162);
+}
+
+Cnote QTextEdit#textedit{
+    background-color: transparent;
+    color: rgb(133,143,162);
+    border:0 solid;
+}
+
+DateItem:focus{
+    background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(238, 93, 0, 255), stop:1 rgba(255, 121, 2, 200));
+}
+
+DateItem QWidget:hover{
+    background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(238, 93, 0, 155), stop:1 rgba(255, 121, 2, 100));
+}
+
+DateItem QLabel#label{
+    color:rgb(112,121,138);
+}
+
+DateItem QLabel#labe:pressed{
+    color:rgb(255, 255, 0);
+}
+
+DateItem QLabel#label_2{
+    color:rgb(112, 121, 138);
+}

=== added file 'skin/black/bg.png'
Binary files skin/black/bg.png	1970-01-01 00:00:00 +0000 and skin/black/bg.png	2013-05-06 14:54:28 +0000 differ
=== added file 'skin/black/chinesecalendar.png'
Binary files skin/black/chinesecalendar.png	1970-01-01 00:00:00 +0000 and skin/black/chinesecalendar.png	2013-05-06 14:54:28 +0000 differ
=== added file 'skin/black/no.png'
Binary files skin/black/no.png	1970-01-01 00:00:00 +0000 and skin/black/no.png	2013-05-06 14:54:28 +0000 differ
=== added file 'skin/black/note.png'
Binary files skin/black/note.png	1970-01-01 00:00:00 +0000 and skin/black/note.png	2013-05-06 14:54:28 +0000 differ
=== added file 'skin/black/ok.png'
Binary files skin/black/ok.png	1970-01-01 00:00:00 +0000 and skin/black/ok.png	2013-05-06 14:54:28 +0000 differ
=== added directory 'skin/default'
=== added file 'skin/default-skin.qss'
--- skin/default-skin.qss	1970-01-01 00:00:00 +0000
+++ skin/default-skin.qss	2013-05-06 14:54:28 +0000
@@ -0,0 +1,138 @@
+/*
+ * This file is part of the chinese-calendar project
+ * Copyright (C) 2013 Mutse & UbuntuKylin Members
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * This project is developed by "UbuntuKylin Members" team,
+ * see <https://launchpad.net/~ubuntukylin~members>
+ * Author: Mutse <yyhoo2.young@xxxxxxxxx>
+ */
+
+ChineseCalendar{
+    background: url(/usr/share/chinese-calendar/skin/default/chinesecalendarBGyellow.png);
+}
+
+ChineseCalendar QPushButton#TbnextMonth{
+    background-color:transparent;
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#TbnextMonth:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QPushButton#TbnextYear{
+    background-color:transparent;
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#TbnextYear:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QPushButton#TbpreviousMonth{
+    background-color:transparent;
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#TbpreviousMonth:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QPushButton#TbpreviousYear{
+    background-color:transparent;
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#TbpreviousYear:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QPushButton#backtotoday{
+    background-color:transparent;
+    color:rgb(200,200,150);
+}
+
+ChineseCalendar QPushButton#backtotoday:hover{
+    color:rgb(255,255,255);
+}
+
+ChineseCalendar QComboBox#YearSelect{
+    border: 2px solid lightgray;
+    border-radius: 5px;
+    font:12pt;
+}
+
+ChineseCalendar QComboBox#monthCombo{
+    border: 2px solid lightgray;
+    border-radius: 5px;
+    font:12pt;
+}
+
+ChineseCalendar QLabel#label{
+    font:12pt;
+}
+
+ChineseCalendar QLabel#label_2{
+    font:12pt;
+}
+
+Cnote{
+    background: url(/usr/share/chinese-calendar/skin/default/note.png);
+}
+
+Cnote QPushButton#ok{
+    image: url(/usr/share/chinese-calendar/skin/default/ok.png);
+    background-color:transparent;
+}
+
+Cnote QPushButton#cancel{
+    image: url(/usr/share/chinese-calendar/skin/default/no.png);
+    background-color:transparent;
+    border:0 solid;
+}
+
+Cnote QLabel#datelabel{
+    background-color:transparent;
+    border:0 solid;
+}
+
+Cnote QPushButton#clearplan{
+    background-color:transparent;
+}
+
+Cnote QTextEdit#textedit{
+    background-color:transparent;
+    border:0 solid;
+}
+
+DateItem:focus{
+    background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(238, 93, 0, 255), stop:1 rgba(255, 121, 2, 200));
+}
+
+DateItem QWidget:hover{
+    background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(238, 93, 0, 155), stop:1 rgba(255, 121, 2, 100));
+}
+
+DateItem QLabel#label{
+    color:rgb(0,0,255);
+}
+
+DateItem QLabel#labe:pressed{
+    color:rgb(255,0,0);
+}
+
+DateItem QLabel#label_2{
+    color:rgb(0,0,0);
+}

=== added file 'skin/default/chinesecalendarBGyellow.png'
Binary files skin/default/chinesecalendarBGyellow.png	1970-01-01 00:00:00 +0000 and skin/default/chinesecalendarBGyellow.png	2013-05-06 14:54:28 +0000 differ
=== added file 'skin/default/no.png'
Binary files skin/default/no.png	1970-01-01 00:00:00 +0000 and skin/default/no.png	2013-05-06 14:54:28 +0000 differ
=== added file 'skin/default/note.png'
Binary files skin/default/note.png	1970-01-01 00:00:00 +0000 and skin/default/note.png	2013-05-06 14:54:28 +0000 differ
=== added file 'skin/default/ok.png'
Binary files skin/default/ok.png	1970-01-01 00:00:00 +0000 and skin/default/ok.png	2013-05-06 14:54:28 +0000 differ
=== added directory 'translate'
=== renamed directory 'translate' => 'translate.moved'
=== added file 'translate/i18_zh_CN.qm'
Binary files translate/i18_zh_CN.qm	1970-01-01 00:00:00 +0000 and translate/i18_zh_CN.qm	2013-05-06 14:54:28 +0000 differ
=== added file 'translate/i18_zh_CN.ts'
--- translate/i18_zh_CN.ts	1970-01-01 00:00:00 +0000
+++ translate/i18_zh_CN.ts	2013-05-06 14:54:28 +0000
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_CN">
+<context>
+    <name>Calendar</name>
+    <message>
+        <source>Calendar</source>
+        <translation type="unfinished">中国农历</translation>
+    </message>
+    <message>
+        <source>Previous Year</source>
+        <translation type="unfinished">前年</translation>
+    </message>
+    <message>
+        <source>previousYear</source>
+        <translation type="unfinished">前年</translation>
+    </message>
+    <message>
+        <source>Previous Month</source>
+        <translation type="unfinished">前一月</translation>
+    </message>
+    <message>
+        <source>previousMonth</source>
+        <translation type="unfinished">前一月</translation>
+    </message>
+    <message>
+        <source>yyyy</source>
+        <translation type="unfinished">yyyy</translation>
+    </message>
+    <message>
+        <source>Next Month</source>
+        <translation type="unfinished">后一月</translation>
+    </message>
+    <message>
+        <source>nextMonth</source>
+        <translation type="unfinished">后一月</translation>
+    </message>
+    <message>
+        <source>Next Year</source>
+        <translation type="unfinished">后年</translation>
+    </message>
+    <message>
+        <source>nextYear</source>
+        <translation type="unfinished">后年</translation>
+    </message>
+</context>
+<context>
+    <name>MyCTCalendar</name>
+    <message>
+        <source>ri</source>
+        <translation type="obsolete">日</translation>
+    </message>
+    <message>
+        <source>unknown</source>
+        <translation type="unfinished">未知</translation>
+    </message>
+    <message>
+        <source>no data</source>
+        <translation type="unfinished">无数据</translation>
+    </message>
+    <message>
+        <source>first</source>
+        <translation type="obsolete">初</translation>
+    </message>
+    <message>
+        <source>ten</source>
+        <translation type="obsolete">十</translation>
+    </message>
+    <message>
+        <source>twenty</source>
+        <translation type="obsolete">二十</translation>
+    </message>
+    <message>
+        <source>Ctwenty</source>
+        <translation type="obsolete">廿</translation>
+    </message>
+    <message>
+        <source>thirty</source>
+        <translation type="obsolete">三十</translation>
+    </message>
+    <message>
+        <source>sleek December</source>
+        <translation type="obsolete">润十二月</translation>
+    </message>
+    <message>
+        <source>sleek November</source>
+        <translation type="obsolete">润十一月</translation>
+    </message>
+    <message>
+        <source>sleek January</source>
+        <translation type="obsolete">润正月</translation>
+    </message>
+    <message>
+        <source>sleek</source>
+        <translation type="obsolete">润</translation>
+    </message>
+    <message>
+        <source>month</source>
+        <translation type="obsolete">月</translation>
+    </message>
+    <message>
+        <source>January</source>
+        <translation type="obsolete">正月</translation>
+    </message>
+</context>
+<context>
+    <name>Mycalendar</name>
+    <message>
+        <source>NongLi year</source>
+        <translation type="unfinished">农历年:</translation>
+    </message>
+    <message>
+        <source>year(</source>
+        <translation type="unfinished">年(</translation>
+    </message>
+    <message>
+        <source>NongLi Day:</source>
+        <translation type="unfinished">农历日:</translation>
+    </message>
+    <message>
+        <source>today constellation:</source>
+        <translation type="unfinished">当日星座:</translation>
+    </message>
+    <message>
+        <source>forthcoming sterm:</source>
+        <translation type="unfinished">即将到来的节气:</translation>
+    </message>
+    <message>
+        <source>holiday:</source>
+        <translation type="unfinished">公历节日:</translation>
+    </message>
+    <message>
+        <source>choliday:</source>
+        <translation type="unfinished">农历节日:</translation>
+    </message>
+    <message>
+        <source>softwarename</source>
+        <translation type="obsolete">中国农历</translation>
+    </message>
+</context>
+</TS>


Follow ups