From 2182e573f9677b714f42e8463df4c129c0412d54 Mon Sep 17 00:00:00 2001 From: Jakub Date: Thu, 20 Aug 2020 13:38:09 +0200 Subject: [PATCH] Update maximal date on every DateInput dropdown toggle --- .../frontend/qml/ImportExportUI/DateInput.qml | 25 +++++++++++++++---- .../frontend/qml/ImportExportUI/DateRange.qml | 1 + .../qml/ImportExportUI/InlineDateRange.qml | 1 + 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/internal/frontend/qml/ImportExportUI/DateInput.qml b/internal/frontend/qml/ImportExportUI/DateInput.qml index b9b78a9b..7292eb5d 100644 --- a/internal/frontend/qml/ImportExportUI/DateInput.qml +++ b/internal/frontend/qml/ImportExportUI/DateInput.qml @@ -33,10 +33,11 @@ Rectangle { property var dropDownStyle : Style.dropDownLight // dates - property date currentDate : new Date() // default now - property date minDate : new Date(0) // default epoch start - property date maxDate : new Date() // default now - property int unix : Math.floor(currentDate.getTime()/1000) + property date currentDate : new Date() // default now + property date minDate : new Date(0) // default epoch start + property date maxDate : new Date() // default now + property bool isMaxDateToday : false + property int unix : Math.floor(currentDate.getTime()/1000) onMinDateChanged: { if (isNaN(minDate.getTime()) || minDate.getTime() > maxDate.getTime()) { @@ -103,6 +104,11 @@ Rectangle { onActivated: updateRange() anchors.verticalCenter: parent.verticalCenter dropDownStyle: root.dropDownStyle + onDownChanged: { + if (root.isMaxDateToday){ + root.maxDate = new Date() + } + } } Rectangle { @@ -120,6 +126,11 @@ Rectangle { onActivated: updateRange() anchors.verticalCenter: parent.verticalCenter dropDownStyle: root.dropDownStyle + onDownChanged: { + if (root.isMaxDateToday){ + root.maxDate = new Date() + } + } } Rectangle { @@ -136,6 +147,11 @@ Rectangle { onActivated: updateRange() anchors.verticalCenter: parent.verticalCenter dropDownStyle: root.dropDownStyle + onDownChanged: { + if (root.isMaxDateToday){ + root.maxDate = new Date() + } + } } } @@ -240,4 +256,3 @@ Rectangle { )) } } - diff --git a/internal/frontend/qml/ImportExportUI/DateRange.qml b/internal/frontend/qml/ImportExportUI/DateRange.qml index d1decff5..4e6339a3 100644 --- a/internal/frontend/qml/ImportExportUI/DateRange.qml +++ b/internal/frontend/qml/ImportExportUI/DateRange.qml @@ -63,6 +63,7 @@ Column { metricsLabel: inputDateFrom.label currentDate: new Date() // now minDate: inputDateFrom.currentDate + isMaxDateToday: true dropDownStyle: dateRange.dropDownStyle } diff --git a/internal/frontend/qml/ImportExportUI/InlineDateRange.qml b/internal/frontend/qml/ImportExportUI/InlineDateRange.qml index 8518048e..3a071941 100644 --- a/internal/frontend/qml/ImportExportUI/InlineDateRange.qml +++ b/internal/frontend/qml/ImportExportUI/InlineDateRange.qml @@ -76,6 +76,7 @@ Row { anchors.verticalCenter: parent.verticalCenter currentDate: new Date() // default now minDate: inputDateFrom.currentDate + isMaxDateToday: true } CheckBoxLabel {