Renamed PlanningCalendar to Calendar (class and label)

This commit is contained in:
Joachim Kohlhammer
2025-11-19 20:45:39 +01:00
committed by Alejandro Martinez
parent b02f7bad7e
commit 5e5f4af72f
4 changed files with 85 additions and 85 deletions

View File

@@ -16,7 +16,7 @@
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "PlanningCalendarWindow.h"
#include "CalendarWindow.h"
#include <QComboBox>
@@ -35,7 +35,7 @@
#define HLC "</h4>"
PlanningCalendarWindow::PlanningCalendarWindow(Context *context)
CalendarWindow::CalendarWindow(Context *context)
: GcChartWindow(context), context(context)
{
mkControls();
@@ -60,12 +60,12 @@ PlanningCalendarWindow::PlanningCalendarWindow(Context *context)
updateSeason(season, false);
}
});
connect(context, &Context::filterChanged, this, &PlanningCalendarWindow::updateActivities);
connect(context, &Context::homeFilterChanged, this, &PlanningCalendarWindow::updateActivities);
connect(context, &Context::rideAdded, this, &PlanningCalendarWindow::updateActivitiesIfInRange);
connect(context, &Context::rideDeleted, this, &PlanningCalendarWindow::updateActivitiesIfInRange);
connect(context, &Context::rideChanged, this, &PlanningCalendarWindow::updateActivitiesIfInRange);
connect(context, &Context::configChanged, this, &PlanningCalendarWindow::configChanged);
connect(context, &Context::filterChanged, this, &CalendarWindow::updateActivities);
connect(context, &Context::homeFilterChanged, this, &CalendarWindow::updateActivities);
connect(context, &Context::rideAdded, this, &CalendarWindow::updateActivitiesIfInRange);
connect(context, &Context::rideDeleted, this, &CalendarWindow::updateActivitiesIfInRange);
connect(context, &Context::rideChanged, this, &CalendarWindow::updateActivitiesIfInRange);
connect(context, &Context::configChanged, this, &CalendarWindow::configChanged);
connect(calendar, &Calendar::showInTrainMode, [=](CalendarEntry activity) {
for (RideItem *rideItem : context->athlete->rideCache->rides()) {
if (rideItem != nullptr && rideItem->fileName == activity.reference) {
@@ -152,9 +152,9 @@ PlanningCalendarWindow::PlanningCalendarWindow(Context *context)
}
QApplication::restoreOverrideCursor();
});
connect(calendar, &Calendar::dayChanged, this, &PlanningCalendarWindow::updateActivities);
connect(calendar, &Calendar::monthChanged, this, &PlanningCalendarWindow::updateActivities);
connect(calendar, &Calendar::viewChanged, this, &PlanningCalendarWindow::updateActivities);
connect(calendar, &Calendar::dayChanged, this, &CalendarWindow::updateActivities);
connect(calendar, &Calendar::monthChanged, this, &CalendarWindow::updateActivities);
connect(calendar, &Calendar::viewChanged, this, &CalendarWindow::updateActivities);
QTimer::singleShot(0, this, [this]() {
configChanged(CONFIG_APPEARANCE);
@@ -163,7 +163,7 @@ PlanningCalendarWindow::PlanningCalendarWindow(Context *context)
int
PlanningCalendarWindow::getDefaultView
CalendarWindow::getDefaultView
() const
{
return defaultViewCombo->currentIndex();
@@ -171,7 +171,7 @@ PlanningCalendarWindow::getDefaultView
void
PlanningCalendarWindow::setDefaultView
CalendarWindow::setDefaultView
(int view)
{
defaultViewCombo->setCurrentIndex(view);
@@ -180,7 +180,7 @@ PlanningCalendarWindow::setDefaultView
int
PlanningCalendarWindow::getFirstDayOfWeek
CalendarWindow::getFirstDayOfWeek
() const
{
return firstDayOfWeekCombo->currentIndex() + 1;
@@ -188,7 +188,7 @@ PlanningCalendarWindow::getFirstDayOfWeek
void
PlanningCalendarWindow::setFirstDayOfWeek
CalendarWindow::setFirstDayOfWeek
(int fdw)
{
firstDayOfWeekCombo->setCurrentIndex(std::min(static_cast<int>(Qt::Sunday), std::max(static_cast<int>(Qt::Monday), fdw)) - 1);
@@ -197,7 +197,7 @@ PlanningCalendarWindow::setFirstDayOfWeek
int
PlanningCalendarWindow::getStartHour
CalendarWindow::getStartHour
() const
{
return startHourSpin->value();
@@ -205,7 +205,7 @@ PlanningCalendarWindow::getStartHour
void
PlanningCalendarWindow::setStartHour
CalendarWindow::setStartHour
(int hour)
{
startHourSpin->setValue(hour);
@@ -218,7 +218,7 @@ PlanningCalendarWindow::setStartHour
int
PlanningCalendarWindow::getEndHour
CalendarWindow::getEndHour
() const
{
return endHourSpin->value();
@@ -226,7 +226,7 @@ PlanningCalendarWindow::getEndHour
void
PlanningCalendarWindow::setEndHour
CalendarWindow::setEndHour
(int hour)
{
endHourSpin->setValue(hour);
@@ -239,7 +239,7 @@ PlanningCalendarWindow::setEndHour
int
PlanningCalendarWindow::getAgendaPastDays
CalendarWindow::getAgendaPastDays
() const
{
return agendaPastDaysSpin->value();
@@ -247,7 +247,7 @@ PlanningCalendarWindow::getAgendaPastDays
void
PlanningCalendarWindow::setAgendaPastDays
CalendarWindow::setAgendaPastDays
(int days)
{
agendaPastDaysSpin->setValue(days);
@@ -259,7 +259,7 @@ PlanningCalendarWindow::setAgendaPastDays
int
PlanningCalendarWindow::getAgendaFutureDays
CalendarWindow::getAgendaFutureDays
() const
{
return agendaFutureDaysSpin->value();
@@ -267,7 +267,7 @@ PlanningCalendarWindow::getAgendaFutureDays
void
PlanningCalendarWindow::setAgendaFutureDays
CalendarWindow::setAgendaFutureDays
(int days)
{
agendaFutureDaysSpin->setValue(days);
@@ -279,7 +279,7 @@ PlanningCalendarWindow::setAgendaFutureDays
bool
PlanningCalendarWindow::isSummaryVisibleDay
CalendarWindow::isSummaryVisibleDay
() const
{
return summaryDayCheck->isChecked();
@@ -287,7 +287,7 @@ PlanningCalendarWindow::isSummaryVisibleDay
void
PlanningCalendarWindow::setSummaryVisibleDay
CalendarWindow::setSummaryVisibleDay
(bool visible)
{
summaryDayCheck->setChecked(visible);
@@ -296,7 +296,7 @@ PlanningCalendarWindow::setSummaryVisibleDay
bool
PlanningCalendarWindow::isSummaryVisibleWeek
CalendarWindow::isSummaryVisibleWeek
() const
{
return summaryWeekCheck->isChecked();
@@ -304,7 +304,7 @@ PlanningCalendarWindow::isSummaryVisibleWeek
void
PlanningCalendarWindow::setSummaryVisibleWeek
CalendarWindow::setSummaryVisibleWeek
(bool visible)
{
summaryWeekCheck->setChecked(visible);
@@ -313,7 +313,7 @@ PlanningCalendarWindow::setSummaryVisibleWeek
bool
PlanningCalendarWindow::isSummaryVisibleMonth
CalendarWindow::isSummaryVisibleMonth
() const
{
return summaryMonthCheck->isChecked();
@@ -321,7 +321,7 @@ PlanningCalendarWindow::isSummaryVisibleMonth
void
PlanningCalendarWindow::setSummaryVisibleMonth
CalendarWindow::setSummaryVisibleMonth
(bool visible)
{
summaryMonthCheck->setChecked(visible);
@@ -330,7 +330,7 @@ PlanningCalendarWindow::setSummaryVisibleMonth
bool
PlanningCalendarWindow::isFiltered
CalendarWindow::isFiltered
() const
{
return (context->ishomefiltered || context->isfiltered);
@@ -338,7 +338,7 @@ PlanningCalendarWindow::isFiltered
QString
PlanningCalendarWindow::getPrimaryMainField
CalendarWindow::getPrimaryMainField
() const
{
return primaryMainCombo->currentText();
@@ -346,7 +346,7 @@ PlanningCalendarWindow::getPrimaryMainField
void
PlanningCalendarWindow::setPrimaryMainField
CalendarWindow::setPrimaryMainField
(const QString &name)
{
primaryMainCombo->setCurrentText(name);
@@ -354,7 +354,7 @@ PlanningCalendarWindow::setPrimaryMainField
QString
PlanningCalendarWindow::getPrimaryFallbackField
CalendarWindow::getPrimaryFallbackField
() const
{
return primaryFallbackCombo->currentText();
@@ -362,7 +362,7 @@ PlanningCalendarWindow::getPrimaryFallbackField
void
PlanningCalendarWindow::setPrimaryFallbackField
CalendarWindow::setPrimaryFallbackField
(const QString &name)
{
primaryFallbackCombo->setCurrentText(name);
@@ -370,7 +370,7 @@ PlanningCalendarWindow::setPrimaryFallbackField
QString
PlanningCalendarWindow::getSecondaryMetric
CalendarWindow::getSecondaryMetric
() const
{
return secondaryCombo->currentData(Qt::UserRole).toString();
@@ -378,7 +378,7 @@ PlanningCalendarWindow::getSecondaryMetric
QString
PlanningCalendarWindow::getTertiaryField
CalendarWindow::getTertiaryField
() const
{
return tertiaryCombo->currentText();
@@ -386,7 +386,7 @@ PlanningCalendarWindow::getTertiaryField
void
PlanningCalendarWindow::setTertiaryField
CalendarWindow::setTertiaryField
(const QString &name)
{
tertiaryCombo->setCurrentText(name);
@@ -394,7 +394,7 @@ PlanningCalendarWindow::setTertiaryField
QString
PlanningCalendarWindow::getSummaryMetrics
CalendarWindow::getSummaryMetrics
() const
{
return multiMetricSelector->getSymbols().join(',');
@@ -402,7 +402,7 @@ PlanningCalendarWindow::getSummaryMetrics
QStringList
PlanningCalendarWindow::getSummaryMetricsList
CalendarWindow::getSummaryMetricsList
() const
{
return multiMetricSelector->getSymbols();
@@ -410,7 +410,7 @@ PlanningCalendarWindow::getSummaryMetricsList
void
PlanningCalendarWindow::setSecondaryMetric
CalendarWindow::setSecondaryMetric
(const QString &name)
{
secondaryCombo->setCurrentIndex(std::max(0, secondaryCombo->findData(name)));
@@ -418,7 +418,7 @@ PlanningCalendarWindow::setSecondaryMetric
void
PlanningCalendarWindow::setSummaryMetrics
CalendarWindow::setSummaryMetrics
(const QString &summaryMetrics)
{
multiMetricSelector->setSymbols(summaryMetrics.split(',', Qt::SkipEmptyParts));
@@ -426,7 +426,7 @@ PlanningCalendarWindow::setSummaryMetrics
void
PlanningCalendarWindow::setSummaryMetrics
CalendarWindow::setSummaryMetrics
(const QStringList &summaryMetrics)
{
multiMetricSelector->setSymbols(summaryMetrics);
@@ -434,7 +434,7 @@ PlanningCalendarWindow::setSummaryMetrics
void
PlanningCalendarWindow::configChanged
CalendarWindow::configChanged
(qint32 what)
{
bool refreshActivities = false;
@@ -510,7 +510,7 @@ PlanningCalendarWindow::configChanged
void
PlanningCalendarWindow::mkControls
CalendarWindow::mkControls
()
{
QLocale locale;
@@ -587,39 +587,39 @@ PlanningCalendarWindow::mkControls
controlsTabs->addTab(multiMetricSelector, tr("Summary"));
#if QT_VERSION < 0x060000
connect(startHourSpin, QOverload<int>::of(&QSpinBox::valueChanged), this, &PlanningCalendarWindow::setStartHour);
connect(endHourSpin, QOverload<int>::of(&QSpinBox::valueChanged), this, &PlanningCalendarWindow::setEndHour);
connect(agendaPastDaysSpin, QOverload<int>::of(&QSpinBox::valueChanged), this, &PlanningCalendarWindow::setAgendaPastDays);
connect(agendaFutureDaysSpin, QOverload<int>::of(&QSpinBox::valueChanged), this, &PlanningCalendarWindow::setAgendaFutureDays);
connect(defaultViewCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &PlanningCalendarWindow::setDefaultView);
connect(startHourSpin, QOverload<int>::of(&QSpinBox::valueChanged), this, &CalendarWindow::setStartHour);
connect(endHourSpin, QOverload<int>::of(&QSpinBox::valueChanged), this, &CalendarWindow::setEndHour);
connect(agendaPastDaysSpin, QOverload<int>::of(&QSpinBox::valueChanged), this, &CalendarWindow::setAgendaPastDays);
connect(agendaFutureDaysSpin, QOverload<int>::of(&QSpinBox::valueChanged), this, &CalendarWindow::setAgendaFutureDays);
connect(defaultViewCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &CalendarWindow::setDefaultView);
connect(firstDayOfWeekCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), [=](int idx) { setFirstDayOfWeek(idx + 1); });
connect(primaryMainCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &PlanningCalendarWindow::updateActivities);
connect(primaryFallbackCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &PlanningCalendarWindow::updateActivities);
connect(secondaryCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &PlanningCalendarWindow::updateActivities);
connect(tertiaryCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &PlanningCalendarWindow::updateActivities);
connect(primaryMainCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &CalendarWindow::updateActivities);
connect(primaryFallbackCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &CalendarWindow::updateActivities);
connect(secondaryCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &CalendarWindow::updateActivities);
connect(tertiaryCombo, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &CalendarWindow::updateActivities);
#else
connect(startHourSpin, &QSpinBox::valueChanged, this, &PlanningCalendarWindow::setStartHour);
connect(endHourSpin, &QSpinBox::valueChanged, this, &PlanningCalendarWindow::setEndHour);
connect(agendaPastDaysSpin, &QSpinBox::valueChanged, this, &PlanningCalendarWindow::setAgendaPastDays);
connect(agendaFutureDaysSpin, &QSpinBox::valueChanged, this, &PlanningCalendarWindow::setAgendaFutureDays);
connect(defaultViewCombo, &QComboBox::currentIndexChanged, this, &PlanningCalendarWindow::setDefaultView);
connect(startHourSpin, &QSpinBox::valueChanged, this, &CalendarWindow::setStartHour);
connect(endHourSpin, &QSpinBox::valueChanged, this, &CalendarWindow::setEndHour);
connect(agendaPastDaysSpin, &QSpinBox::valueChanged, this, &CalendarWindow::setAgendaPastDays);
connect(agendaFutureDaysSpin, &QSpinBox::valueChanged, this, &CalendarWindow::setAgendaFutureDays);
connect(defaultViewCombo, &QComboBox::currentIndexChanged, this, &CalendarWindow::setDefaultView);
connect(firstDayOfWeekCombo, &QComboBox::currentIndexChanged, [=](int idx) { setFirstDayOfWeek(idx + 1); });
connect(primaryMainCombo, &QComboBox::currentIndexChanged, this, &PlanningCalendarWindow::updateActivities);
connect(primaryFallbackCombo, &QComboBox::currentIndexChanged, this, &PlanningCalendarWindow::updateActivities);
connect(secondaryCombo, &QComboBox::currentIndexChanged, this, &PlanningCalendarWindow::updateActivities);
connect(tertiaryCombo, &QComboBox::currentIndexChanged, this, &PlanningCalendarWindow::updateActivities);
connect(primaryMainCombo, &QComboBox::currentIndexChanged, this, &CalendarWindow::updateActivities);
connect(primaryFallbackCombo, &QComboBox::currentIndexChanged, this, &CalendarWindow::updateActivities);
connect(secondaryCombo, &QComboBox::currentIndexChanged, this, &CalendarWindow::updateActivities);
connect(tertiaryCombo, &QComboBox::currentIndexChanged, this, &CalendarWindow::updateActivities);
#endif
connect(summaryDayCheck, &QCheckBox::toggled, this, &PlanningCalendarWindow::setSummaryVisibleDay);
connect(summaryWeekCheck, &QCheckBox::toggled, this, &PlanningCalendarWindow::setSummaryVisibleWeek);
connect(summaryMonthCheck, &QCheckBox::toggled, this, &PlanningCalendarWindow::setSummaryVisibleMonth);
connect(multiMetricSelector, &MultiMetricSelector::selectedChanged, this, &PlanningCalendarWindow::updateActivities);
connect(summaryDayCheck, &QCheckBox::toggled, this, &CalendarWindow::setSummaryVisibleDay);
connect(summaryWeekCheck, &QCheckBox::toggled, this, &CalendarWindow::setSummaryVisibleWeek);
connect(summaryMonthCheck, &QCheckBox::toggled, this, &CalendarWindow::setSummaryVisibleMonth);
connect(multiMetricSelector, &MultiMetricSelector::selectedChanged, this, &CalendarWindow::updateActivities);
setControls(controlsTabs);
}
void
PlanningCalendarWindow::updatePrimaryConfigCombos
CalendarWindow::updatePrimaryConfigCombos
()
{
QString mainField = getPrimaryMainField();
@@ -645,7 +645,7 @@ PlanningCalendarWindow::updatePrimaryConfigCombos
void
PlanningCalendarWindow::updateSecondaryConfigCombo
CalendarWindow::updateSecondaryConfigCombo
()
{
QString symbol = getSecondaryMetric();
@@ -666,7 +666,7 @@ PlanningCalendarWindow::updateSecondaryConfigCombo
void
PlanningCalendarWindow::updateTertiaryConfigCombo
CalendarWindow::updateTertiaryConfigCombo
()
{
QString field = getTertiaryField();
@@ -686,7 +686,7 @@ PlanningCalendarWindow::updateTertiaryConfigCombo
QHash<QDate, QList<CalendarEntry>>
PlanningCalendarWindow::getActivities
CalendarWindow::getActivities
(const QDate &firstDay, const QDate &lastDay) const
{
QHash<QDate, QList<CalendarEntry>> activities;
@@ -773,7 +773,7 @@ PlanningCalendarWindow::getActivities
QList<CalendarSummary>
PlanningCalendarWindow::getSummaries
CalendarWindow::getSummaries
(const QDate &firstDay, const QDate &lastDay, int timeBucketSize) const
{
QStringList symbols = getSummaryMetricsList();
@@ -819,7 +819,7 @@ PlanningCalendarWindow::getSummaries
QHash<QDate, QList<CalendarEntry>>
PlanningCalendarWindow::getPhasesEvents
CalendarWindow::getPhasesEvents
(const Season &season, const QDate &firstDay, const QDate &lastDay) const
{
QHash<QDate, QList<CalendarEntry>> phasesEvents;
@@ -890,7 +890,7 @@ PlanningCalendarWindow::getPhasesEvents
void
PlanningCalendarWindow::updateActivities
CalendarWindow::updateActivities
()
{
Season const *season = context->currentSeason();
@@ -912,7 +912,7 @@ PlanningCalendarWindow::updateActivities
void
PlanningCalendarWindow::updateActivitiesIfInRange
CalendarWindow::updateActivitiesIfInRange
(RideItem *rideItem)
{
if (calendar->currentView() == CalendarView::Day) {
@@ -929,7 +929,7 @@ PlanningCalendarWindow::updateActivitiesIfInRange
void
PlanningCalendarWindow::updateSeason
CalendarWindow::updateSeason
(Season const *season, bool allowKeepMonth)
{
if (season == nullptr) {
@@ -943,7 +943,7 @@ PlanningCalendarWindow::updateSeason
bool
PlanningCalendarWindow::movePlannedActivity
CalendarWindow::movePlannedActivity
(RideItem *rideItem, const QDate &destDay, const QTime &destTime)
{
bool ret = false;

View File

@@ -16,8 +16,8 @@
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef _GC_PlanningCalendarWindow_h
#define _GC_PlanningCalendarWindow_h
#ifndef _GC_CalendarWindow_h
#define _GC_CalendarWindow_h
#include "GoldenCheetah.h"
@@ -34,7 +34,7 @@
#include "CalendarData.h"
class PlanningCalendarWindow : public GcChartWindow
class CalendarWindow : public GcChartWindow
{
Q_OBJECT
@@ -54,7 +54,7 @@ class PlanningCalendarWindow : public GcChartWindow
Q_PROPERTY(QString summaryMetrics READ getSummaryMetrics WRITE setSummaryMetrics USER true)
public:
PlanningCalendarWindow(Context *context);
CalendarWindow(Context *context);
int getDefaultView() const;
int getFirstDayOfWeek() const;

View File

@@ -43,7 +43,7 @@
#include "WorkoutWindow.h"
#include "WebPageWindow.h"
#include "LiveMapWebPageWindow.h"
#include "PlanningCalendarWindow.h"
#include "CalendarWindow.h"
#ifdef GC_WANT_R
#include "RChart.h"
#endif
@@ -108,7 +108,7 @@ GcWindowRegistry::initialize()
{ VIEW_TRAIN, tr("Live Map"),GcWindowTypes::LiveMapWebPageWindow },
{ VIEW_TRAIN, tr("Elevation Chart"),GcWindowTypes::ElevationChart },
{ VIEW_ANALYSIS|VIEW_TRENDS|VIEW_TRAIN, tr("Web page"),GcWindowTypes::WebPageWindow },
{ VIEW_TRENDS, tr("Planning Calendar"),GcWindowTypes::Calendar },
{ VIEW_TRENDS, tr("Calendar"),GcWindowTypes::Calendar },
{ 0, "", GcWindowTypes::None }};
// initialize the global registry
GcWindows = GcWindowsInit;
@@ -249,7 +249,7 @@ GcWindowRegistry::newGcWindow(GcWinID id, Context *context)
case GcWindowTypes::UserAnalysis: returning = new UserChartWindow(context, false); break;
case GcWindowTypes::UserTrends: returning = new UserChartWindow(context, true); break;
case GcWindowTypes::Diary:
case GcWindowTypes::Calendar: returning = new PlanningCalendarWindow(context); break;
case GcWindowTypes::Calendar: returning = new CalendarWindow(context); break;
default: return NULL; break;
}
if (returning) returning->setProperty("type", QVariant::fromValue<GcWinID>(id));

View File

@@ -606,7 +606,7 @@ HEADERS += Charts/Aerolab.h Charts/AerolabWindow.h Charts/AllPlot.h Charts/AllPl
Charts/MetadataWindow.h Charts/MUPlot.h Charts/MUPool.h Charts/MUWidget.h Charts/PfPvPlot.h Charts/PfPvWindow.h \
Charts/PowerHist.h Charts/ReferenceLineDialog.h Charts/RideEditor.h Charts/RideMapWindow.h \
Charts/ScatterPlot.h Charts/ScatterWindow.h Charts/SmallPlot.h Charts/TreeMapPlot.h \
Charts/TreeMapWindow.h Charts/ZoneScaleDraw.h Charts/PlanningCalendarWindow.h
Charts/TreeMapWindow.h Charts/ZoneScaleDraw.h Charts/CalendarWindow.h
# cloud services
HEADERS += Cloud/CalendarDownload.h Cloud/CloudService.h \
@@ -716,7 +716,7 @@ SOURCES += Charts/Aerolab.cpp Charts/AerolabWindow.cpp Charts/AllPlot.cpp Charts
Charts/MetadataWindow.cpp Charts/MUPlot.cpp Charts/MUWidget.cpp Charts/PfPvPlot.cpp Charts/PfPvWindow.cpp \
Charts/PowerHist.cpp Charts/ReferenceLineDialog.cpp Charts/RideEditor.cpp Charts/RideMapWindow.cpp \
Charts/ScatterPlot.cpp Charts/ScatterWindow.cpp Charts/SmallPlot.cpp Charts/TreeMapPlot.cpp \
Charts/TreeMapWindow.cpp Charts/PlanningCalendarWindow.cpp
Charts/TreeMapWindow.cpp Charts/CalendarWindow.cpp
## Cloud Services / Web resources
SOURCES += Cloud/CalendarDownload.cpp Cloud/CloudService.cpp \