From cb04baf734cf3ed366e86e4d11093e204aa28c52 Mon Sep 17 00:00:00 2001 From: Ale Martinez Date: Wed, 14 Apr 2021 12:52:31 -0300 Subject: [PATCH] Update Context Help for Options/Preferences and ScopeBar Includes separation of Global/Athlete Options and New SideBar. [publish binaries] --- src/Gui/AthleteConfigDialog.cpp | 2 +- src/Gui/AthleteView.cpp | 4 ++++ src/Gui/HelpWhatsThis.cpp | 31 +++++++++++++++++++++---------- src/Gui/HelpWhatsThis.h | 7 ++++--- src/Gui/MainWindow.cpp | 25 +++++++++++++------------ src/Gui/NewSideBar.cpp | 3 ++- src/Gui/NewSideBar.h | 2 +- 7 files changed, 46 insertions(+), 28 deletions(-) diff --git a/src/Gui/AthleteConfigDialog.cpp b/src/Gui/AthleteConfigDialog.cpp index 9eaaeac22..9261fc8c7 100644 --- a/src/Gui/AthleteConfigDialog.cpp +++ b/src/Gui/AthleteConfigDialog.cpp @@ -146,7 +146,7 @@ AthleteConfig::AthleteConfig(QDir home, Context *context) : backupPage = new BackupPage(context); HelpWhatsThis *backupPageHelp = new HelpWhatsThis(backupPage); - autoImportPage->setWhatsThis(backupPageHelp->getWhatsThisText(HelpWhatsThis::Preferences_Athlete_Backup)); + backupPage->setWhatsThis(backupPageHelp->getWhatsThisText(HelpWhatsThis::Preferences_Athlete_Backup)); setContentsMargins(0,0,0,0); QHBoxLayout *mainLayout = new QHBoxLayout(this); diff --git a/src/Gui/AthleteView.cpp b/src/Gui/AthleteView.cpp index 51ef4700e..f2170f936 100644 --- a/src/Gui/AthleteView.cpp +++ b/src/Gui/AthleteView.cpp @@ -2,6 +2,7 @@ #include "AthleteConfigDialog.h" #include "TabView.h" #include "JsonRideFile.h" // for DATETIME_FORMAT +#include "HelpWhatsThis.h" // athlete card static bool _registerItems() @@ -23,6 +24,9 @@ static const int gl_button_width = ROWHEIGHT*5; AthleteView::AthleteView(Context *context) : ChartSpace(context, OverviewScope::ATHLETES) { + HelpWhatsThis *help = new HelpWhatsThis(this); + this->setWhatsThis(help->getWhatsThisText(HelpWhatsThis::ScopeBar_Athletes)); + // fixed width - 1200 col width, 70 margins + scrollbar setFixedZoom(50 + (gl_athletes_per_row*1200) + ((gl_athletes_per_row+1) * 70)); diff --git a/src/Gui/HelpWhatsThis.cpp b/src/Gui/HelpWhatsThis.cpp index 4573dd683..7b0a8ca03 100644 --- a/src/Gui/HelpWhatsThis.cpp +++ b/src/Gui/HelpWhatsThis.cpp @@ -67,16 +67,20 @@ HelpWhatsThis::getText(GCHelp chapter) { return text.arg("Main-Page_Table-of-contents").arg("Table of Contents"); // Scope Bar + case ScopeBar: + return text.arg("ScopeBar_Views").arg(tr("Quick access to main Views and common actions")); + case ScopeBar_Athletes: + return text.arg("ScopeBar_Views#athletes").arg(tr("Athletes Status and Configuration")); case ScopeBar_Trends: return text.arg("ScopeBar_Views#trends").arg(tr("Analysis of a number of activities (e.g. a date range ) like PMC, long term metrics view, ... and data summaries")); - case ScopeBar_Diary: - return text.arg("ScopeBar_Views#diary").arg(tr("Extended Calendar view and configurable activity list, plus long term metrics charts and diagram types")); case ScopeBar_Rides: return text.arg("ScopeBar_Views#activities").arg(tr("Analysis of a single activity with diagrams like activity plot, W'bal, ... and Chung's Aerolab")); - case ScopeBar_Intervals: - return text.arg("ScopeBar_Views#intervals").arg("Intervals"); case ScopeBar_Train: return text.arg("ScopeBar_Views#train").arg(tr("Ride indoors, following pre-programmed workouts - with multi device and video playback support")); + case ScopeBar_Sync: + return text.arg("ScopeBar_Views#sync").arg(tr("Sync with all Cloud Services with Sync on Start Up option enabled")); + case ScopeBar_Options: + return text.arg("ScopeBar_Views#options").arg(tr("Application level Options/Preferences for all athletes")); // Tool Bar case ToolBar_Download: @@ -317,22 +321,27 @@ HelpWhatsThis::getText(GCHelp chapter) { return text.arg("Workout-Control_General").arg(tr("Workout Control, Intensity Adjustments and Notifications Display")); // Preferences - case Preferences_General: - return text.arg("Preferences_General").arg(tr("General")); case Preferences_Athlete_About: return text.arg("Preferences_Athlete").arg(tr("Athlete")); - case Preferences_Athlete_About_Phys: - return text.arg("Preferences_Athlete_Phys").arg(tr("Athlete")); + case Preferences_Athlete_About_Model: + return text.arg("Preferences_Athlete#model").arg(tr("Athlete Model")); case Preferences_Athlete_TrainingZones_Power: return text.arg("Preferences_Athlete_Training-Zones#power-zones").arg(tr("Training Zone definition for power")); case Preferences_Athlete_TrainingZones_HR: return text.arg("Preferences_Athlete_Training-Zones#heartrate-zones").arg(tr("Training Zone definition for heartrate")); case Preferences_Athlete_TrainingZones_Pace: return text.arg("Preferences_Athlete_Training-Zones#pace-zones").arg(tr("Training Zone definition for Swim and Run")); + case Preferences_Athlete_Measures: + return text.arg("Preferences_Athlete#measures").arg(tr("Athlete Measures")); case Preferences_Athlete_Autoimport: - return text.arg("Preferences_Athlete_Autoimport").arg(tr("Autoimport")); + return text.arg("Preferences_Athlete#auto-import").arg(tr("Auto Import")); + case Preferences_Athlete_Backup: + return text.arg("Preferences_Athlete#backup").arg(tr("Backup")); case Preferences_Passwords: - return text.arg("Preferences_Passwords").arg(tr("Passwords")); + return text.arg("Preferences_Accounts").arg(tr("Cloud Accounts")); + + case Preferences_General: + return text.arg("Preferences_General").arg(tr("General")); case Preferences_Appearance: return text.arg("Preferences_Appearance").arg(tr("Appearance")); case Preferences_Intervals: @@ -355,6 +364,8 @@ HelpWhatsThis::getText(GCHelp chapter) { return text.arg("Preferences_Metrics#summary").arg(tr("Metrics shown in 'Summary'")); case Preferences_Metrics_Intervals: return text.arg("Preferences_Metrics#intervals").arg(tr("Metrics shown in 'Intervals'")); + case Preferences_Measures: + return text.arg("Preferences_Measures").arg(tr("Measures")); case Preferences_Training: return text.arg("Preferences_Training").arg(tr("Training")); case Preferences_Training_RemoteControls: diff --git a/src/Gui/HelpWhatsThis.h b/src/Gui/HelpWhatsThis.h index b65bcb611..5540abc5f 100644 --- a/src/Gui/HelpWhatsThis.h +++ b/src/Gui/HelpWhatsThis.h @@ -33,11 +33,13 @@ Q_OBJECT public: enum GCHelp{ Default, + ScopeBar, + ScopeBar_Athletes, ScopeBar_Trends, - ScopeBar_Diary, ScopeBar_Rides, - ScopeBar_Intervals, ScopeBar_Train, + ScopeBar_Sync, + ScopeBar_Options, ToolBar_Download, ToolBar_Manual, @@ -171,7 +173,6 @@ Q_OBJECT Preferences_General, Preferences_Athlete_About, - Preferences_Athlete_About_Phys, Preferences_Athlete_Measures, Preferences_Athlete_About_Model, Preferences_Athlete_TrainingZones_Power, diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index d355efb82..2fa702183 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -219,30 +219,33 @@ MainWindow::MainWindow(const QDir &home) *--------------------------------------------------------------------*/ sidebar = new NewSideBar(context, this); - sidebar->addItem(QImage(":sidebar/athlete.png"), tr("athletes"), 0); + HelpWhatsThis *helpNewSideBar = new HelpWhatsThis(sidebar); + sidebar->setWhatsThis(helpNewSideBar->getWhatsThisText(HelpWhatsThis::ScopeBar)); + + sidebar->addItem(QImage(":sidebar/athlete.png"), tr("athletes"), 0, helpNewSideBar->getWhatsThisText(HelpWhatsThis::ScopeBar_Athletes)); sidebar->setItemEnabled(1, false); - sidebar->addItem(QImage(":sidebar/plan.png"), tr("plan"), 1); + sidebar->addItem(QImage(":sidebar/plan.png"), tr("plan"), 1), tr("Feature not implemented yet"); sidebar->setItemEnabled(1, false); - sidebar->addItem(QImage(":sidebar/trends.png"), tr("trends"), 2); - sidebar->addItem(QImage(":sidebar/assess.png"), tr("activities"), 3); + sidebar->addItem(QImage(":sidebar/trends.png"), tr("trends"), 2, helpNewSideBar->getWhatsThisText(HelpWhatsThis::ScopeBar_Trends)); + sidebar->addItem(QImage(":sidebar/assess.png"), tr("activities"), 3, helpNewSideBar->getWhatsThisText(HelpWhatsThis::ScopeBar_Rides)); sidebar->setItemSelected(3, true); - sidebar->addItem(QImage(":sidebar/reflect.png"), tr("reflect"), 4); + sidebar->addItem(QImage(":sidebar/reflect.png"), tr("reflect"), 4), tr("Feature not implemented yet"); sidebar->setItemEnabled(4, false); - sidebar->addItem(QImage(":sidebar/train.png"), tr("train"), 5); + sidebar->addItem(QImage(":sidebar/train.png"), tr("train"), 5, helpNewSideBar->getWhatsThisText(HelpWhatsThis::ScopeBar_Train)); sidebar->addStretch(); - sidebar->addItem(QImage(":sidebar/apps.png"), tr("apps"), 6); + sidebar->addItem(QImage(":sidebar/apps.png"), tr("apps"), 6, tr("Feature not implemented yet")); sidebar->setItemEnabled(6, false); sidebar->addStretch(); // we can click on the quick icons, but they aren't selectable views - sidebar->addItem(QImage(":sidebar/sync.png"), tr("sync"), 7); + sidebar->addItem(QImage(":sidebar/sync.png"), tr("sync"), 7, helpNewSideBar->getWhatsThisText(HelpWhatsThis::ScopeBar_Sync)); sidebar->setItemSelectable(7, false); - sidebar->addItem(QImage(":sidebar/prefs.png"), tr("options"), 8); + sidebar->addItem(QImage(":sidebar/prefs.png"), tr("options"), 8, helpNewSideBar->getWhatsThisText(HelpWhatsThis::ScopeBar_Options)); sidebar->setItemSelectable(8, false); connect(sidebar, SIGNAL(itemClicked(int)), this, SLOT(sidebarClicked(int))); @@ -1238,9 +1241,7 @@ void MainWindow::sidebarSelected(int id) { switch (id) { - case 0: // athlete not written yet - selectAthlete(); - break; + case 0: selectAthlete(); break; case 1: // plan not written yet break; case 2: selectHome(); break; diff --git a/src/Gui/NewSideBar.cpp b/src/Gui/NewSideBar.cpp index 6b92821ed..ad05272fb 100644 --- a/src/Gui/NewSideBar.cpp +++ b/src/Gui/NewSideBar.cpp @@ -57,12 +57,13 @@ NewSideBar::selected(int id) } int -NewSideBar::addItem(QImage icon, QString name, int id) +NewSideBar::addItem(QImage icon, QString name, int id, QString whatsThisText) { // allocated an id if (id == -1) id=lastid++; NewSideBarItem *add = new NewSideBarItem(this, id, icon, name); + if (!whatsThisText.isEmpty()) add->setWhatsThis(whatsThisText); layout->addWidget(add); items.insert(id, add); diff --git a/src/Gui/NewSideBar.h b/src/Gui/NewSideBar.h index d688b7308..ca7dc07ef 100644 --- a/src/Gui/NewSideBar.h +++ b/src/Gui/NewSideBar.h @@ -18,7 +18,7 @@ class NewSideBar : public QWidget // managing items - the id can be assigned or will get a default // it returns the id used - int addItem(QImage icon, QString name, int id=-1); + int addItem(QImage icon, QString name, int id=-1, QString whatsThisText=""); // leave a gap- we have main icons, gap, apps, gap, sync, prefs void addStretch();