update
parent
5fcd95611f
commit
83f97159e9
|
@ -29,29 +29,35 @@ Item {
|
||||||
return {type:1,date:date}
|
return {type:1,date:date}
|
||||||
}
|
}
|
||||||
|
|
||||||
function createItemMonth(name){
|
function createItemMonth(date){
|
||||||
return {type:2,name:name}
|
return {type:2,date:date}
|
||||||
|
}
|
||||||
|
|
||||||
|
function createItemYear(date){
|
||||||
|
return {type:3,date:date}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function updateYear(data){
|
function updateDecade(date){
|
||||||
list_model.clear()
|
list_model.clear()
|
||||||
var year = date.getFullYear()
|
var year = date.getFullYear()
|
||||||
var month = date.getMonth()
|
const decadeStart = Math.floor(year / 10) * 10;
|
||||||
var nextMonthYear = year
|
for(var i = decadeStart ; i< decadeStart+10 ; i++){
|
||||||
var nextMonth = month + 1
|
list_model.append(createItemYear(new Date(i,0,1)));
|
||||||
if (month === 11) {
|
|
||||||
nextMonthYear = year + 1
|
|
||||||
nextMonth = 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(var i = 0 ; i< 12 ;i++){
|
|
||||||
list_model.append(createItemMonth((i+1)+"月"));
|
|
||||||
}
|
}
|
||||||
list_model.append(createItemMonth("1月"));
|
|
||||||
list_model.append(createItemMonth("2月"));
|
function updateYear(date){
|
||||||
list_model.append(createItemMonth("3月"));
|
list_model.clear()
|
||||||
list_model.append(createItemMonth("4月"));
|
var year = date.getFullYear()
|
||||||
|
for(var i = 0 ; i< 12 ; i++){
|
||||||
|
list_model.append(createItemMonth(new Date(year,i)));
|
||||||
|
}
|
||||||
|
for(var j = 0 ; j< 4 ; j++){
|
||||||
|
list_model.append(createItemMonth(new Date(year+1,j)));
|
||||||
|
}
|
||||||
|
title.text = year+"年"
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateMouth(date){
|
function updateMouth(date){
|
||||||
|
@ -107,30 +113,53 @@ Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
Component{
|
Component{
|
||||||
id:com_month
|
id:com_year
|
||||||
Item{
|
Button{
|
||||||
// property bool isYear: control.date.getFullYear() === date.getFullYear()
|
id:item_control
|
||||||
// property bool isMonth: control.currentDate.getFullYear() === date.getFullYear() && control.currentDate.getMonth()
|
property bool isYear: control.date.getFullYear() === date.getFullYear()
|
||||||
height: 70
|
height: 70
|
||||||
width: 70
|
width: 70
|
||||||
|
onClicked:{
|
||||||
|
control.date = date
|
||||||
|
displayMode = FluCalenderView.Year
|
||||||
|
updateYear(date)
|
||||||
|
}
|
||||||
|
background: Item{
|
||||||
|
Rectangle{
|
||||||
|
width: 60
|
||||||
|
height: 60
|
||||||
|
radius: 4
|
||||||
|
anchors.centerIn: parent
|
||||||
|
color:{
|
||||||
|
if(FluTheme.isDark){
|
||||||
|
if(item_control.hovered){
|
||||||
|
return Qt.rgba(1,1,1,0.05)
|
||||||
|
}
|
||||||
|
return Qt.rgba(0,0,0,0)
|
||||||
|
}else{
|
||||||
|
if(item_control.hovered){
|
||||||
|
return Qt.rgba(0,0,0,0.05)
|
||||||
|
}
|
||||||
|
return Qt.rgba(0,0,0,0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Rectangle{
|
Rectangle{
|
||||||
id:backgound_selected
|
id:backgound_selected
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
width: 50
|
width: 50
|
||||||
height: 50
|
height: 50
|
||||||
radius: 25
|
radius: 25
|
||||||
visible: false
|
visible: isYear
|
||||||
color: FluTheme.primaryColor.dark
|
color: FluTheme.primaryColor.dark
|
||||||
}
|
}
|
||||||
|
|
||||||
FluText{
|
FluText{
|
||||||
text:name
|
text:date.getFullYear()
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
color: {
|
color: {
|
||||||
// if(isMonth){
|
if(isYear){
|
||||||
// return "#FFFFFF"
|
return "#FFFFFF"
|
||||||
// }
|
}
|
||||||
// if(isYear){
|
// if(isYear){
|
||||||
// return FluTheme.isDark ? "#FFFFFF" : "#1A1A1A"
|
// return FluTheme.isDark ? "#FFFFFF" : "#1A1A1A"
|
||||||
// }
|
// }
|
||||||
|
@ -138,6 +167,68 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
contentItem: Item{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component{
|
||||||
|
id:com_month
|
||||||
|
Button{
|
||||||
|
id:item_control
|
||||||
|
property bool isYear: control.date.getFullYear() === date.getFullYear()
|
||||||
|
property bool isMonth: control.currentDate.getFullYear() === date.getFullYear() && control.currentDate.getMonth() === date.getMonth()
|
||||||
|
height: 70
|
||||||
|
width: 70
|
||||||
|
onClicked:{
|
||||||
|
control.date = date
|
||||||
|
displayMode = FluCalenderView.Month
|
||||||
|
updateMouth(date)
|
||||||
|
}
|
||||||
|
background: Item{
|
||||||
|
Rectangle{
|
||||||
|
width: 60
|
||||||
|
height: 60
|
||||||
|
radius: 4
|
||||||
|
anchors.centerIn: parent
|
||||||
|
color:{
|
||||||
|
if(FluTheme.isDark){
|
||||||
|
if(item_control.hovered){
|
||||||
|
return Qt.rgba(1,1,1,0.05)
|
||||||
|
}
|
||||||
|
return Qt.rgba(0,0,0,0)
|
||||||
|
}else{
|
||||||
|
if(item_control.hovered){
|
||||||
|
return Qt.rgba(0,0,0,0.05)
|
||||||
|
}
|
||||||
|
return Qt.rgba(0,0,0,0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle{
|
||||||
|
id:backgound_selected
|
||||||
|
anchors.centerIn: parent
|
||||||
|
width: 50
|
||||||
|
height: 50
|
||||||
|
radius: 25
|
||||||
|
visible: isMonth
|
||||||
|
color: FluTheme.primaryColor.dark
|
||||||
|
}
|
||||||
|
FluText{
|
||||||
|
text:(date.getMonth()+1)+"月"
|
||||||
|
anchors.centerIn: parent
|
||||||
|
color: {
|
||||||
|
if(isMonth){
|
||||||
|
return "#FFFFFF"
|
||||||
|
}
|
||||||
|
if(isYear){
|
||||||
|
return FluTheme.isDark ? "#FFFFFF" : "#1A1A1A"
|
||||||
|
}
|
||||||
|
return Qt.rgba(150/255,150/255,150/255,1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
contentItem: Item{}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -237,9 +328,15 @@ Item {
|
||||||
left: parent.left
|
left: parent.left
|
||||||
leftMargin: 14
|
leftMargin: 14
|
||||||
}
|
}
|
||||||
|
disabled: displayMode === FluCalenderView.Decade
|
||||||
onClicked:{
|
onClicked:{
|
||||||
|
if(displayMode === FluCalenderView.Month){
|
||||||
displayMode = FluCalenderView.Year
|
displayMode = FluCalenderView.Year
|
||||||
updateYear(data)
|
updateYear(date)
|
||||||
|
}else if(displayMode === FluCalenderView.Year){
|
||||||
|
displayMode = FluCalenderView.Decade
|
||||||
|
updateDecade(date)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -255,6 +352,7 @@ Item {
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var year = date.getFullYear()
|
var year = date.getFullYear()
|
||||||
var month = date.getMonth()
|
var month = date.getMonth()
|
||||||
|
if(displayMode === FluCalenderView.Month){
|
||||||
var lastMonthYear = year;
|
var lastMonthYear = year;
|
||||||
var lastMonthMonth = month - 1
|
var lastMonthMonth = month - 1
|
||||||
if (month === 0) {
|
if (month === 0) {
|
||||||
|
@ -264,6 +362,11 @@ Item {
|
||||||
date = new Date(lastMonthYear,lastMonthMonth,1)
|
date = new Date(lastMonthYear,lastMonthMonth,1)
|
||||||
updateMouth(date)
|
updateMouth(date)
|
||||||
}
|
}
|
||||||
|
if(displayMode === FluCalenderView.Year){
|
||||||
|
date = new Date(year-1,month,1)
|
||||||
|
updateYear(date)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FluIconButton{
|
FluIconButton{
|
||||||
|
@ -278,6 +381,7 @@ Item {
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var year = date.getFullYear()
|
var year = date.getFullYear()
|
||||||
var month = date.getMonth()
|
var month = date.getMonth()
|
||||||
|
if(displayMode === FluCalenderView.Month){
|
||||||
var nextMonthYear = year
|
var nextMonthYear = year
|
||||||
var nextMonth = month + 1
|
var nextMonth = month + 1
|
||||||
if (month === 11) {
|
if (month === 11) {
|
||||||
|
@ -287,6 +391,11 @@ Item {
|
||||||
date = new Date(nextMonthYear,nextMonth,1)
|
date = new Date(nextMonthYear,nextMonth,1)
|
||||||
updateMouth(date)
|
updateMouth(date)
|
||||||
}
|
}
|
||||||
|
if(displayMode === FluCalenderView.Year){
|
||||||
|
date = new Date(year+1,month,1)
|
||||||
|
updateYear(date)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -308,6 +417,8 @@ Item {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
cellHeight: displayMode === FluCalenderView.Month ? 40 : 70
|
cellHeight: displayMode === FluCalenderView.Month ? 40 : 70
|
||||||
cellWidth: displayMode === FluCalenderView.Month ? 40 : 70
|
cellWidth: displayMode === FluCalenderView.Month ? 40 : 70
|
||||||
|
clip: true
|
||||||
|
boundsBehavior:Flickable.StopAtBounds
|
||||||
delegate: Loader{
|
delegate: Loader{
|
||||||
property var modelData : model
|
property var modelData : model
|
||||||
property var name : model.name
|
property var name : model.name
|
||||||
|
@ -322,6 +433,9 @@ Item {
|
||||||
if(model.type === 2){
|
if(model.type === 2){
|
||||||
return com_month
|
return com_month
|
||||||
}
|
}
|
||||||
|
if(model.type === 3){
|
||||||
|
return com_year
|
||||||
|
}
|
||||||
return com_day
|
return com_day
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ if %1 == SHARED (
|
||||||
echo running install to qtqml folder
|
echo running install to qtqml folder
|
||||||
del /s /q %PRESET_PATH%\plugins.qmltypes
|
del /s /q %PRESET_PATH%\plugins.qmltypes
|
||||||
%QT_QML_FLUENT_PATH%\..\..\bin\qmlplugindump.exe -nonrelocatable FluentUI 1.0 > %PRESET_PATH%\plugins.qmltypes
|
%QT_QML_FLUENT_PATH%\..\..\bin\qmlplugindump.exe -nonrelocatable FluentUI 1.0 > %PRESET_PATH%\plugins.qmltypes
|
||||||
rem rmdir /s /q %QT_QML_FLUENT_PATH% & md %QT_QML_FLUENT_PATH%
|
rmdir /s /q %QT_QML_FLUENT_PATH% & md %QT_QML_FLUENT_PATH%
|
||||||
copy /y %BUILDER_BIN_PATH% %QT_QML_FLUENT_PATH%
|
copy /y %BUILDER_BIN_PATH% %QT_QML_FLUENT_PATH%
|
||||||
xcopy %PRESET_PATH% %QT_QML_FLUENT_PATH% /s/e/i/y
|
xcopy %PRESET_PATH% %QT_QML_FLUENT_PATH% /s/e/i/y
|
||||||
cd %QT_QML_FLUENT_PATH%
|
cd %QT_QML_FLUENT_PATH%
|
||||||
|
|
Loading…
Reference in New Issue