From 80e113d347a812818131a588b3c80a3419539b13 Mon Sep 17 00:00:00 2001 From: "Sean C. Rhea" Date: Mon, 19 May 2008 15:03:26 +0000 Subject: [PATCH] from Justin: "It should fix the bugs with creating a new power.zones file plus adds two DateEdits to show the start and end of a zone range." --- src/ConfigDialog.cpp | 4 ++++ src/Pages.cpp | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/ConfigDialog.cpp b/src/ConfigDialog.cpp index da719afca..491bd50a6 100644 --- a/src/ConfigDialog.cpp +++ b/src/ConfigDialog.cpp @@ -251,9 +251,13 @@ void ConfigDialog::new_Clicked() //Create the Zone cyclistPage->calendar->setMinimumDate(zones->getStartDate(zones->getRangeSize() - 1)); + zones->addZoneRange(zones->getStartDate(cyclistPage->getCurrentRange()), cyclistPage->calendar->selectedDate(), 0); cyclistPage->setCurrentRange(zones->getRangeSize() - 1); cyclistPage->lblCurRange->setText(QString("Current Zone Range: %1").arg(cyclistPage->getCurrentRange() + 1)); + + if(cyclistPage->getCurrentRange() > 1) + cyclistPage->calendar->setMinimumDate(zones->getEndDate(zones->getRangeSize() - 1)); QDate date; cyclistPage->calendar->setSelectedDate(date.currentDate()); diff --git a/src/Pages.cpp b/src/Pages.cpp index e19e09fd3..41e8fff75 100644 --- a/src/Pages.cpp +++ b/src/Pages.cpp @@ -71,6 +71,42 @@ CyclistPage::CyclistPage(QWidget *parent, Zones *_zones, bool emptyZone) txtStartDate->setEnabled(false); txtEndDate->setEnabled(false); + if(emptyZone) + { + setCurrentRange(0); + QDate date; + btnNew->setEnabled(false); + calendar->setSelectedDate(date.currentDate()); + calendar->setEnabled(true); + btnBack->setEnabled(false); + txtEndDate->setDate(date.currentDate()); + } + else if(zones->getRangeSize() == 1) + { + setCurrentRange(0); + QDate date; + btnNew->setEnabled(true); + btnBack->setEnabled(false); + calendar->setSelectedDate(date.currentDate()); + calendar->setEnabled(false); + //txtStartDate->setDate(date.currentDate())); + //txtEndDate->setDate(date.currentDate())); + + } + else + { + setCurrentRange(zones->getRangeSize() - 1); + QDate date = zones->getStartDate(getCurrentRange()); + calendar->setSelectedDate(date); + calendar->setMinimumDate(date); + calendar->setEnabled(false); + txtStartDate->setDate(zones->getStartDate(getCurrentRange())); + txtEndDate->setDate(zones->getEndDate(getCurrentRange())); + } + + txtStartDate->setEnabled(false); + txtEndDate->setEnabled(false); + if(emptyZone) { setCurrentRange(0);