7813d537691de7e2240f4be8948ea28a1b8b1d02
[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 changeDay(newday, txtTHU, txtInfo, txtDAYAmLich){
84     curDay = newday;
85     recalculate();
86
87     txtTHU.text=__txtTHU_format();
88     txtInfo.text=__txtInfo_format();
89     txtDAYAmLich.text=__txtDAYAmLich_format();
90 }
91
92 function createDateTimeDialog(parent){
93     datetimedlg = createObject("DateTimeDialog.qml", parent);
94     amdatetimedlg = createObject("AmDateTimeDialog.qml", parent);
95     fullmonth = createObject("FullMonth.qml", parent);
96 }
97
98 function __txtTHU_format(){
99     return getTHU(jd);
100 }
101
102 function __txtInfo_format(){
103     return day_info;
104 }
105
106 function __txtDAYAmLich_format(){
107     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>";
108 }
109
110 function recalculate(){
111     lunarDay = getLunarDate(curDay,curMonth,curYear).day;
112     lunarMonth = getLunarDate(curDay,curMonth,curYear).month;
113     lunarYear = getCanChi(getLunarDate(curDay,curMonth,curYear))[2];
114     lunarYearInt = getLunarDate(curDay,curMonth,curYear).year;
115     jd = getLunarDate(curDay,curMonth,curYear).jd;
116     lunarGioHoangDao = getGioHoangDao(jd);
117
118     lunarDayCanChi = getCanChi(getLunarDate(curDay,curMonth,curYear))[0];
119     lunarMonthCanChi = getCanChi(getLunarDate(curDay,curMonth,curYear))[1];
120
121     day_info = get(curDay,curMonth, curYear, lunarDay, lunarMonth);
122     isholiday = is_holiday(curDay,curMonth, curYear, lunarDay, lunarMonth);
123 }
124
125 function createObject(sourceFile, parentObject) {
126     var component = Qt.createComponent(sourceFile);
127     var guiObject = component.createObject(parentObject);
128
129     if (guiObject === null) {
130         console.log("Error creating object");
131     }
132     else {
133         return guiObject
134     }
135 }