void LTMSidebar::resetSeasons() { if (active == true) return; active = true; int i; for (i=allDateRanges->childCount(); i > 0; i--) { delete allDateRanges->takeChild(0); } QString id = appsettings->cvalue(main->cyclist, GC_LTM_LAST_DATE_RANGE, seasons->seasons.at(0).id().toString()).toString(); for (i=0; i <seasons->seasons.count(); i++) { Season season = seasons->seasons.at(i); QTreeWidgetItem *add = new QTreeWidgetItem(allDateRanges, season.getType()); if (season.id().toString()==id) add->setSelected(true); // No Drag/Drop for temporary Season if (season.getType() == Season::temporary) add->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); else add->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled); add->setText(0, season.getName()); } active = false; }
void CriticalPowerWindow::seasonSelected(int iSeason) { if (iSeason >= seasons->seasons.count() || iSeason < 0) return; Season season = seasons->seasons.at(iSeason); _dateRange = season.id(); cpintPlot->changeSeason(season.getStart(), season.getEnd()); cpintPlot->calculate(currentRide); }
void CriticalPowerWindow::seasonSelected(int iSeason) { Season season = seasons.at(iSeason); cpintPlot->setStartDate(season.getStart()); cpintPlot->setEndDate(season.getEnd()); cpintPlot->needToScanRides = true; cpintPlot->calculate(currentRide); }
int Seasons::newSeason(QString name, QDate start, QDate end, int type) { Season add; add.setName(name); add.setStart(start); add.setEnd(end); add.setType(type); seasons.insert(0, add); // save changes away writeSeasons(); return 0; // always add at the top }
void CriticalPowerWindow::newRideAdded(RideItem *here) { // any plots we already have are now stale stale = true; // mine just got Zapped, a new rideitem would not be my current item if (here == currentRide) currentRide = NULL; if (rangemode) { // force replot... stale = true; dateRangeChanged(myDateRange); } else { Season season = seasons->seasons.at(cComboSeason->currentIndex()); // Refresh global curve if a ride is added during those dates if ((here->dateTime.date() >= season.getStart() || season.getStart() == QDate()) && (here->dateTime.date() <= season.getEnd() || season.getEnd() == QDate())) cpintPlot->changeSeason(season.getStart(), season.getEnd()); // if visible make the changes visible // rideSelected is easiest way if (amVisible()) rideSelected(); } }
void CriticalPowerWindow::resetSeasons() { if (rangemode) return; QString prev = cComboSeason->itemText(cComboSeason->currentIndex()); // remove seasons cComboSeason->clear(); //Store current selection QString previousDateRange = _dateRange; // insert seasons for (int i=0; i <seasons->seasons.count(); i++) { Season season = seasons->seasons.at(i); cComboSeason->addItem(season.getName()); } // restore previous selection int index = cComboSeason->findText(prev); if (index != -1) cComboSeason->setCurrentIndex(index); }
void CriticalPowerWindow::addSeasons() { QFile seasonFile(home.absolutePath() + "/seasons.xml"); QXmlInputSource source( &seasonFile ); QXmlSimpleReader xmlReader; SeasonParser( handler ); xmlReader.setContentHandler(&handler); xmlReader.setErrorHandler(&handler); bool ok = xmlReader.parse( source ); if(!ok) qWarning("Failed to parse seasons.xml"); seasons = handler.getSeasons(); Season season; season.setName("All Seasons"); seasons.insert(0,season); for (int i = 0; i < seasons.size(); ++i) { season = seasons.at(i); cComboSeason->addItem(season.getName()); } }
// // Manage the seasons array // void Seasons::readSeasons() { QFile seasonFile(home.absolutePath() + "/seasons.xml"); QXmlInputSource source( &seasonFile ); QXmlSimpleReader xmlReader; SeasonParser handler; xmlReader.setContentHandler(&handler); xmlReader.setErrorHandler(&handler); xmlReader.parse( source ); seasons = handler.getSeasons(); Season season; QDate today = QDate::currentDate(); QDate eom = QDate(today.year(), today.month(), today.daysInMonth()); // add Default Date Ranges season.setName(tr("All Dates")); season.setType(Season::temporary); season.setStart(QDate::currentDate().addYears(-50)); season.setEnd(QDate::currentDate().addYears(50)); season.setId(QUuid("{00000000-0000-0000-0000-000000000001}")); seasons.append(season); season.setName(tr("This Year")); season.setType(Season::temporary); season.setStart(QDate(today.year(), 1,1)); season.setEnd(QDate(today.year(), 12, 31)); season.setId(QUuid("{00000000-0000-0000-0000-000000000002}")); seasons.append(season); season.setName(tr("This Month")); season.setType(Season::temporary); season.setStart(QDate(today.year(), today.month(),1)); season.setEnd(eom); season.setId(QUuid("{00000000-0000-0000-0000-000000000003}")); seasons.append(season); season.setName(tr("This Week")); season.setType(Season::temporary); // from Mon-Sun QDate wstart = QDate::currentDate(); wstart = wstart.addDays(Qt::Monday - wstart.dayOfWeek()); QDate wend = wstart.addDays(6); // first day + 6 more season.setStart(wstart); season.setEnd(wend); season.setId(QUuid("{00000000-0000-0000-0000-000000000004}")); seasons.append(season); season.setName(tr("Last 7 days")); season.setType(Season::temporary); season.setStart(today.addDays(-6)); // today plus previous 6 season.setEnd(today); season.setId(QUuid("{00000000-0000-0000-0000-000000000005}")); seasons.append(season); season.setName(tr("Last 14 days")); season.setType(Season::temporary); season.setStart(today.addDays(-13)); season.setEnd(today); season.setId(QUuid("{00000000-0000-0000-0000-000000000006}")); seasons.append(season); season.setName(tr("Last 21 days")); season.setType(Season::temporary); season.setStart(today.addDays(-20)); season.setEnd(today); season.setId(QUuid("{00000000-0000-0000-0000-000000000011}")); seasons.append(season); season.setName(tr("Last 28 days")); season.setType(Season::temporary); season.setStart(today.addDays(-27)); season.setEnd(today); season.setId(QUuid("{00000000-0000-0000-0000-000000000007}")); seasons.append(season); season.setName(tr("Last 2 months")); season.setType(Season::temporary); season.setEnd(today); season.setStart(today.addMonths(-2)); season.setId(QUuid("{00000000-0000-0000-0000-000000000008}")); seasons.append(season); season.setName(tr("Last 3 months")); season.setType(Season::temporary); season.setEnd(today); season.setStart(today.addMonths(-3)); season.setId(QUuid("{00000000-0000-0000-0000-000000000011}")); seasons.append(season); season.setName(tr("Last 6 months")); season.setType(Season::temporary); season.setEnd(today); season.setStart(today.addMonths(-6)); season.setId(QUuid("{00000000-0000-0000-0000-000000000009}")); seasons.append(season); season.setName(tr("Last 12 months")); season.setType(Season::temporary); season.setEnd(today); season.setStart(today.addMonths(-12)); season.setId(QUuid("{00000000-0000-0000-0000-000000000010}")); seasons.append(season); seasonsChanged(); // signal! }