Skip to content

Commit

Permalink
Interval Metric config becomes Favourite Metrics
Browse files Browse the repository at this point in the history
.. Unifying the metric config to "Favourite" metrics that are
   used on the interval sidebar, compare pane and trends popup.
  • Loading branch information
liversedge committed Jul 9, 2021
1 parent 722588f commit cb092b9
Show file tree
Hide file tree
Showing 9 changed files with 33 additions and 41 deletions.
12 changes: 6 additions & 6 deletions src/Charts/IntervalSummaryWindow.cpp
Expand Up @@ -209,10 +209,10 @@ QString IntervalSummaryWindow::summary(QList<IntervalItem*> intervals, QString &
}

QString s;
if (appsettings->contains(GC_SETTINGS_INTERVAL_METRICS))
s = appsettings->value(this, GC_SETTINGS_INTERVAL_METRICS).toString();
if (appsettings->contains(GC_SETTINGS_FAVOURITE_METRICS))
s = appsettings->value(this, GC_SETTINGS_FAVOURITE_METRICS).toString();
else
s = GC_SETTINGS_INTERVAL_METRICS_DEFAULT;
s = GC_SETTINGS_FAVOURITE_METRICS_DEFAULT;
QStringList intervalMetrics = s.split(",");
const RideMetricFactory &factory = RideMetricFactory::instance();

Expand Down Expand Up @@ -306,10 +306,10 @@ QString IntervalSummaryWindow::summary(IntervalItem *interval)
bool useMetricUnits = GlobalContext::context()->useMetricUnits;

QString s;
if (appsettings->contains(GC_SETTINGS_INTERVAL_METRICS))
s = appsettings->value(this, GC_SETTINGS_INTERVAL_METRICS).toString();
if (appsettings->contains(GC_SETTINGS_FAVOURITE_METRICS))
s = appsettings->value(this, GC_SETTINGS_FAVOURITE_METRICS).toString();
else
s = GC_SETTINGS_INTERVAL_METRICS_DEFAULT;
s = GC_SETTINGS_FAVOURITE_METRICS_DEFAULT;
QStringList intervalMetrics = s.split(",");

html += "<b>" + interval->name + "</b>";
Expand Down
4 changes: 2 additions & 2 deletions src/Charts/LTMPopup.cpp
Expand Up @@ -387,10 +387,10 @@ LTMPopup::setSummaryHTML(RideItem *item)


// user defined
QString s = appsettings->value(this, GC_SETTINGS_SUMMARY_METRICS, GC_SETTINGS_SUMMARY_METRICS_DEFAULT).toString();
QString s = appsettings->value(this, GC_SETTINGS_FAVOURITE_METRICS, GC_SETTINGS_FAVOURITE_METRICS_DEFAULT).toString();

// in case they were set tand then unset
if (s == "") s = GC_SETTINGS_SUMMARY_METRICS_DEFAULT;
if (s == "") s = GC_SETTINGS_FAVOURITE_METRICS_DEFAULT;
QStringList metricColumn = s.split(",");

// foreach of the metrics get the ride value
Expand Down
6 changes: 1 addition & 5 deletions src/Core/Settings.cpp
Expand Up @@ -568,11 +568,7 @@ GSettings::upgradeGlobal() {
// only the properties still in use are migrated - and not any orphans for previous releases

// NOTE: Migrating values is only required for settings introduced in GC version until v3.3


migrateValue(GC_SETTINGS_SUMMARY_METRICS);
migrateValue(GC_SETTINGS_BESTS_METRICS);
migrateValue(GC_SETTINGS_INTERVAL_METRICS);
migrateValue(GC_SETTINGS_FAVOURITE_METRICS);
migrateValue(GC_TABBAR);
migrateValue(GC_WBALFORM);
migrateValue(GC_BIKESCOREDAYS);
Expand Down
8 changes: 2 additions & 6 deletions src/Core/Settings.h
Expand Up @@ -31,9 +31,7 @@
#ifndef GC_SETTINGS_APP
#define GC_SETTINGS_APP "GoldenCheetah"
#endif
#define GC_SETTINGS_BESTS_METRICS_DEFAULT "5s_critical_power,1m_critical_power,5m_critical_power,20m_critical_power,60m_critical_power,3m_critical_pace,20m_critical_pace,3m_critical_pace_swim,20m_critical_pace_swim"
#define GC_SETTINGS_SUMMARY_METRICS_DEFAULT "triscore,skiba_xpower,skiba_relative_intensity,xPace,swimscore_xpace,trimp_points,aerobic_decoupling"
#define GC_SETTINGS_INTERVAL_METRICS_DEFAULT "workout_time,total_distance,total_work,average_power,average_hr,average_cad,average_speed,pace,pace_swim,distance_swim"
#define GC_SETTINGS_FAVOURITE_METRICS_DEFAULT "workout_time,total_distance,total_work,average_power,average_hr,average_cad,average_speed,pace,pace_swim,distance_swim"
#define GC_UNIT_METRIC "Metric"
#define GC_UNIT_IMPERIAL "Imperial"

Expand Down Expand Up @@ -140,9 +138,7 @@
// --------------------------------------------------------------------


#define GC_SETTINGS_SUMMARY_METRICS "<global-general>rideSummaryWindow/summaryMetrics"
#define GC_SETTINGS_BESTS_METRICS "<global-general>rideSummaryWindow/bestsMetrics"
#define GC_SETTINGS_INTERVAL_METRICS "<global-general>rideSummaryWindow/intervalMetrics"
#define GC_SETTINGS_FAVOURITE_METRICS "<global-general>rideSummaryWindow/intervalMetrics"
#define GC_TABBAR "<global-general>show/tabbar" // show tabbar
#define GC_WBALFORM "<global-general>wbal/formula" // wbal formula to use
#define GC_BIKESCOREDAYS "<global-general>bikeScoreDays"
Expand Down
8 changes: 4 additions & 4 deletions src/Gui/ComparePane.cpp
Expand Up @@ -185,8 +185,8 @@ ComparePane::refreshTable()
// metric summary
QStringList always;
always << "workout_time" << "total_distance";
QString s = appsettings->value(this, GC_SETTINGS_INTERVAL_METRICS, GC_SETTINGS_INTERVAL_METRICS_DEFAULT).toString();
if (s == "") s = GC_SETTINGS_INTERVAL_METRICS_DEFAULT;
QString s = appsettings->value(this, GC_SETTINGS_FAVOURITE_METRICS, GC_SETTINGS_FAVOURITE_METRICS_DEFAULT).toString();
if (s == "") s = GC_SETTINGS_FAVOURITE_METRICS_DEFAULT;
QStringList metricColumns = always + s.split(","); // always showm metrics plus user defined summary metrics
metricColumns.removeDuplicates(); // where user has already added workout_time, total_distance

Expand Down Expand Up @@ -350,8 +350,8 @@ ComparePane::refreshTable()
// metric summary
QStringList always;
always << "workout_time" << "total_distance";
QString s = appsettings->value(this, GC_SETTINGS_SUMMARY_METRICS, GC_SETTINGS_SUMMARY_METRICS_DEFAULT).toString();
if (s == "") s = GC_SETTINGS_SUMMARY_METRICS_DEFAULT;
QString s = appsettings->value(this, GC_SETTINGS_FAVOURITE_METRICS, GC_SETTINGS_FAVOURITE_METRICS_DEFAULT).toString();
if (s == "") s = GC_SETTINGS_FAVOURITE_METRICS_DEFAULT;
QStringList metricColumns = always + s.split(","); // always showm metrics plus user defined summary metrics
metricColumns.removeDuplicates(); // where user has already added workout_time, total_distance

Expand Down
4 changes: 2 additions & 2 deletions src/Gui/ConfigDialog.cpp
Expand Up @@ -332,7 +332,7 @@ MetricConfig::MetricConfig(QDir home, Context *context) :
home(home), context(context)
{
// the widgets
intervalsPage = new IntervalMetricsPage(this);
intervalsPage = new FavouriteMetricsPage(this);
customPage = new CustomMetricsPage(this, context);

setContentsMargins(0,0,0,0);
Expand All @@ -342,7 +342,7 @@ MetricConfig::MetricConfig(QDir home, Context *context) :

QTabWidget *tabs = new QTabWidget(this);
tabs->addTab(customPage, tr("Custom"));
tabs->addTab(intervalsPage, tr("Intervals"));
tabs->addTab(intervalsPage, tr("Favourites"));
mainLayout->addWidget(tabs);
}

Expand Down
2 changes: 1 addition & 1 deletion src/Gui/ConfigDialog.h
Expand Up @@ -104,7 +104,7 @@ class MetricConfig : public QWidget
QDir home;
Context *context;

IntervalMetricsPage *intervalsPage;
FavouriteMetricsPage *intervalsPage;
CustomMetricsPage *customPage;
};

Expand Down
26 changes: 13 additions & 13 deletions src/Gui/Pages.cpp
Expand Up @@ -1558,7 +1558,7 @@ ColorsPage::saveClicked()
return 0;
}

IntervalMetricsPage::IntervalMetricsPage(QWidget *parent) :
FavouriteMetricsPage::FavouriteMetricsPage(QWidget *parent) :
QWidget(parent), changed(false)
{
HelpWhatsThis *help = new HelpWhatsThis(this);
Expand All @@ -1573,7 +1573,7 @@ IntervalMetricsPage::IntervalMetricsPage(QWidget *parent) :
selectedList = new QListWidget;
selectedList->setSelectionMode(QAbstractItemView::SingleSelection);
QVBoxLayout *selectedLayout = new QVBoxLayout;
selectedLayout->addWidget(new QLabel(tr("Selected Metrics")));
selectedLayout->addWidget(new QLabel(tr("Favourites")));
selectedLayout->addWidget(selectedList);
#ifndef Q_OS_MAC
upButton = new QToolButton(this);
Expand Down Expand Up @@ -1625,10 +1625,10 @@ IntervalMetricsPage::IntervalMetricsPage(QWidget *parent) :
setLayout(hlayout);

QString s;
if (appsettings->contains(GC_SETTINGS_INTERVAL_METRICS))
s = appsettings->value(this, GC_SETTINGS_INTERVAL_METRICS).toString();
if (appsettings->contains(GC_SETTINGS_FAVOURITE_METRICS))
s = appsettings->value(this, GC_SETTINGS_FAVOURITE_METRICS).toString();
else
s = GC_SETTINGS_INTERVAL_METRICS_DEFAULT;
s = GC_SETTINGS_FAVOURITE_METRICS_DEFAULT;
QStringList selectedMetrics = s.split(",");

const RideMetricFactory &factory = RideMetricFactory::instance();
Expand Down Expand Up @@ -1668,7 +1668,7 @@ IntervalMetricsPage::IntervalMetricsPage(QWidget *parent) :
}

void
IntervalMetricsPage::upClicked()
FavouriteMetricsPage::upClicked()
{
assert(!selectedList->selectedItems().isEmpty());
QListWidgetItem *item = selectedList->selectedItems().first();
Expand All @@ -1681,7 +1681,7 @@ IntervalMetricsPage::upClicked()
}

void
IntervalMetricsPage::downClicked()
FavouriteMetricsPage::downClicked()
{
assert(!selectedList->selectedItems().isEmpty());
QListWidgetItem *item = selectedList->selectedItems().first();
Expand All @@ -1694,7 +1694,7 @@ IntervalMetricsPage::downClicked()
}

void
IntervalMetricsPage::leftClicked()
FavouriteMetricsPage::leftClicked()
{
assert(!selectedList->selectedItems().isEmpty());
QListWidgetItem *item = selectedList->selectedItems().first();
Expand All @@ -1705,7 +1705,7 @@ IntervalMetricsPage::leftClicked()
}

void
IntervalMetricsPage::rightClicked()
FavouriteMetricsPage::rightClicked()
{
assert(!availList->selectedItems().isEmpty());
QListWidgetItem *item = availList->selectedItems().first();
Expand All @@ -1715,13 +1715,13 @@ IntervalMetricsPage::rightClicked()
}

void
IntervalMetricsPage::availChanged()
FavouriteMetricsPage::availChanged()
{
rightButton->setEnabled(!availList->selectedItems().isEmpty());
}

void
IntervalMetricsPage::selectedChanged()
FavouriteMetricsPage::selectedChanged()
{
if (selectedList->selectedItems().isEmpty()) {
upButton->setEnabled(false);
Expand All @@ -1743,14 +1743,14 @@ IntervalMetricsPage::selectedChanged()
}

qint32
IntervalMetricsPage::saveClicked()
FavouriteMetricsPage::saveClicked()
{
if (!changed) return 0;

QStringList metrics;
for (int i = 0; i < selectedList->count(); ++i)
metrics << selectedList->item(i)->data(Qt::UserRole).toString();
appsettings->setValue(GC_SETTINGS_INTERVAL_METRICS, metrics.join(","));
appsettings->setValue(GC_SETTINGS_FAVOURITE_METRICS, metrics.join(","));

return 0;
}
Expand Down
4 changes: 2 additions & 2 deletions src/Gui/Pages.h
Expand Up @@ -362,15 +362,15 @@ class CustomMetricsPage : public QWidget
} b4;
};

class IntervalMetricsPage : public QWidget
class FavouriteMetricsPage : public QWidget
{
Q_OBJECT
G_OBJECT


public:

IntervalMetricsPage(QWidget *parent = NULL);
FavouriteMetricsPage(QWidget *parent = NULL);

public slots:

Expand Down

0 comments on commit cb092b9

Please sign in to comment.