49a2a2427afea644548edad4a5b7253375fef827
[lichviet] / qml / LichViet / main.js
1 .pragma library
2
3 Qt.include("amlich-hnd.js");
4 Qt.include("amlich-aa98.js");
5 Qt.include("Settings.js");
6 Qt.include("Themes.js");
7 Qt.include("CacNgayLeTrongNam.js");
8 Qt.include("xemngaytotxau.js");
9
10 var localdate = new Date();
11
12 var curDay=localdate.getDate();
13 var curMonth=localdate.getMonth()+1;
14 var curYear=localdate.getFullYear();
15
16 var initcurDay;
17 var initcurMonth;
18 var initcurYear;
19
20 var lunarDay = getLunarDate(curDay,curMonth,curYear).day;
21 var lunarMonth = getLunarDate(curDay,curMonth,curYear).month;
22 var lunarYear = getCanChi(getLunarDate(curDay,curMonth,curYear))[2];
23 var lunarYearInt = getLunarDate(curDay,curMonth,curYear).year;
24 var jd = getLunarDate(curDay,curMonth,curYear).jd;
25 var lunarGioHoangDao = getGioHoangDao(jd);
26
27 var lunarDayCanChi = getCanChi(getLunarDate(curDay,curMonth,curYear))[0];
28 var lunarMonthCanChi = getCanChi(getLunarDate(curDay,curMonth,curYear))[1];
29
30 var day_info = get(curDay,curMonth, curYear, lunarDay, lunarMonth);
31 var isholiday = is_holiday(curDay,curMonth, curYear, lunarDay, lunarMonth);
32
33 var datetimedlg;
34 var amdatetimedlg;
35 var fullmonth;
36
37 function init(){
38     initcurDay = curDay;
39     initcurMonth = curMonth;
40     initcurYear = curYear;
41 }
42
43 function day_reset(){
44     curDay = initcurDay;
45 }
46
47 function calDays(){
48     if (curMonth == 4 || curMonth == 6 || curMonth == 9 || curMonth == 11)
49         return 30;
50     else
51         if (curMonth == 2){
52             var isLeapYear = (curYear % 4 === 0 && curYear % 100 !== 0) || (curYear % 400 ===0);
53             if (isLeapYear)
54                 return 29;
55             else
56                 return 28;
57         }
58     return 31;
59 }
60
61 function calDaysX(month, year){
62     if (month == 4 || month == 6 || month == 9 || month == 11)
63         return 30;
64     else
65         if (month == 2){
66             var isLeapYear = (year % 4 === 0 && year % 100 !== 0) || (year % 400 ===0);
67             if (isLeapYear)
68                 return 29;
69             else
70                 return 28;
71         }
72     return 31;
73 }
74
75 function thu(){
76     return getTHU(jd);
77 }
78
79 function lunarTietKhi(){
80     return TIETKHI[getSunLongitude(jd+1,7.0)];
81 }
82
83 function reset_to_default_day(txtTHU, txtInfo, txtDAYAmLich){
84     localdate = new Date();
85
86     curDay=localdate.getDate();
87     curMonth=localdate.getMonth()+1;
88     curYear=localdate.getFullYear();
89
90     changeDay(curDay, txtTHU, txtInfo, txtDAYAmLich);
91 }
92
93 function changeDay(newday, txtTHU, txtInfo, txtDAYAmLich){
94     curDay = newday;
95     recalculate();
96
97     txtTHU.text=__txtTHU_format();
98     txtInfo.text=__txtInfo_format();
99     txtDAYAmLich.text=__txtDAYAmLich_format();
100 }
101
102 function createDateTimeDialog(parent){
103     datetimedlg = createObject("DateTimeDialog.qml", parent);
104     amdatetimedlg = createObject("AmDateTimeDialog.qml", parent);
105     fullmonth = createObject("FullMonth.qml", parent);
106 }
107
108 function __txtTHU_format(){
109     return getTHU(jd);
110 }
111
112 function __txtInfo_format(){
113     return day_info;
114 }
115
116 function __txtDAYAmLich_format(){
117     return "Ngày <span style='color:#C0C0C0;'>"+lunarDay+" ("+lunarDayCanChi+")</span><br>Tháng <span style='color:#C0C0C0;'>"+lunarMonth+" ("+lunarMonthCanChi+")</span><br>Năm <span style='color:#C0C0C0;'>"+lunarYearInt+" ("+lunarYear+")</span>";
118 }
119
120 function recalculate(){
121     lunarDay = getLunarDate(curDay,curMonth,curYear).day;
122     lunarMonth = getLunarDate(curDay,curMonth,curYear).month;
123     lunarYear = getCanChi(getLunarDate(curDay,curMonth,curYear))[2];
124     lunarYearInt = getLunarDate(curDay,curMonth,curYear).year;
125     jd = getLunarDate(curDay,curMonth,curYear).jd;
126     lunarGioHoangDao = getGioHoangDao(jd);
127
128     lunarDayCanChi = getCanChi(getLunarDate(curDay,curMonth,curYear))[0];
129     lunarMonthCanChi = getCanChi(getLunarDate(curDay,curMonth,curYear))[1];
130
131     day_info = get(curDay,curMonth, lunarDay, lunarMonth);
132     isholiday = is_holiday(curDay,curMonth, curYear, lunarDay, lunarMonth);
133 }
134
135 function createObject(sourceFile, parentObject) {
136     var component = Qt.createComponent(sourceFile);
137     var guiObject = component.createObject(parentObject);
138
139     if (guiObject === null) {
140         console.log("Error creating object");
141     }
142     else {
143         return guiObject
144     }
145 }