mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-13 16:18:42 +00:00
Main changes from v3.7 release:f9fd1840eNew configuration-options for Calendar (#4716)59dc7948cSwitch perspective on Trends activity click thru9a3ca625dCalendar: Week view (#4715)20a0facd4Trainmode: Show textcues in WorkoutPlotWindow (#4710)45b366b68WorkoutWizard - Fix copy/paste errorf7a2aede2Trainmode: ZWO-Files Cooldown (#4711)98959d8d1Explicitly applying the palette to the measures-tabs (#4707)a883b3fb0Keep time when inserting / deleting restdays (#4708)01ab7d150Additional line for entries in calendar day-view (#4709)d0d5105bdAthlete Measures on Calendar Day View (#4706)36c98119dFix Gaps - Don't fill stationary gaps shorter than tolerancee75ab1077Fix Gaps - Fill stationary gaps with zeroes03b047369Upgrade Linux builds on AppVeyor to Qt6f49849b44Rename AppImage generated by Travis-ci3d7858b17Manage Perspectives - display switch/filter expression (#4698)f84f9a410Added a day view to PlanningCalendarWindow (#4704)1bad0c999Avoid crashes dereferencing a NULL pointer3fc373110New button: Download default icons and mapping (#4703)2653aa08eRunning speed read from Footpod ANT+ device (#4701)ed929366aIf any of the active devices is a footpod, simulated speed will not be used, as it is a treadmill (#4702)4de3f4302New "completervalues" filter function (#4694)be5515633Global config dialog to assign icons to Sport / SubSport (#4695)a1ddf9b8eNew dialog to repeat planned workouts (#4692)4b6dd0cabUse long format for DOB3ff01d36aFix error in default user metric code22fe08fdeUse qDebug instead of qCritical the message is not an errorcdcd47e4cAdded a confirmation dialog when deleting activities on the calendar (#4691)490565541Fix XData offset in ComparePane7f584aa02Upgrade FIT SDK to 21.171b7429db20Deprecate DiaryWindow49cbe3db0New monthly calendar (#4679)a1008db76Show workout for planned activity in TrainView (#4686)81ba70ee3Overview Bubble tile - fix missing pointsd24afec85Summary Fields - Include relevant metrics only63e2496fdMetric override icon incorrectly displayed in Trends Overview (#4684)6e9a1f930Update Expected PMC (TriScore) as User Chart.91b666709LTM Charts - Fix perspective filterbe0592dd6User Chart - Fix leyends and labels on Pie chart8162d7de2Improve support for CORE sensor (#4668)d55c7ecd7Refactor DataFilter completers4d95f439bTrain Elevation Chart - Avoid flooding debug log2e2374761Allow expanding Manage Named Filters dialog21fe82f3cExclude planned activities from Cloud Service upload list9713b09e8Recognize Mitja Zupanic6cf470b2aManual Activity Wizard - Fix Duration discardedfb6a2cf81Manual Activity Wizard - Use normalized sportf0b9f75b7Laps Editor - range and decimals depend on units97eab8bc3Add Expected PMC (Coggan) sample chartc0e7b9193Add Expected PMC (TriScore) sample chartd4dd12cfbDataFilter - Add planned|expected to lts/sts/sb/rr74e4dd116Add isRun to DataFilter605cbe028Metrics Trends - Plot expected load on the past72961b655Add Planned to DataFilter5e7fdca41Highlight planned activities in navigatorb2e0cf875Update Spanish translation (#4671)38cf95e24New gc-blank.png image (#4669)64536a0eeDataFilter - Add planned|expected options to pmcbd367e607Add planned/expected PMC to R/Python APIs9726e70e7Add planned/expected PMC to Metrics Trends charts56ff6ff73Add planned workouts / activities (#4666)b5fe5a32cNatural sort order for workouts in train mode (#4667)80cbc11a0Aerolab - Fix imperial units in eoffset label30efd9fa7Fix some typos in Xert integration9c6d361daSingle instance of SpecialFields (#4660)e099e89d7Reworked the dialog for manually creating activities (#4656)55f95e594Overview Metric Tile - support for metric overrides (#4649)e5d4ab114Fix Strava upload Train simulations as VirtualRide6764546daCorrect the format of the "Start Date" and "Start Time" in the activities summary text field. (#4648)83797126bCalculating expected load also based on past stress (#4651)9c666ad55Use the right Context for FreeSearch047ab8079Update German translationae6ebd9aaFitRideFile - Avoid duplicated XData series names5c32910afAvoid crash on WPrime computationf22c3796dFix Workout Wizard window title and stylec1bb636dbDiaryWindow::rideSelected - Ignore same activitye10ad628fFitRideFile - Fix regression with native TCORE969f8c22dEnsure Device Type Tile reflects change on edit (#4633)7e3d0a435Upgrade Qt to 6.5.3 for AppVeyor macOS buildsa97cc9aeaRestore colored zones code to QWT curve34db86d14Update macOS plist to v3.7 Fixes #4631 [publish binaries]
206 lines
6.4 KiB
C++
206 lines
6.4 KiB
C++
/*
|
|
* Copyright (c) 2013 Mark Liversedge (liversedge@gmail.com)
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the Free
|
|
* Software Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc., 51
|
|
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef Gc_GcUpgrade_h
|
|
#define Gc_GcUpgrade_h
|
|
#include "GoldenCheetah.h"
|
|
#include "RideMetadata.h"
|
|
#include "Athlete.h"
|
|
#include <QString>
|
|
|
|
#include <QWebEngineView>
|
|
#include <QWebEngineSettings>
|
|
|
|
// Build ID History
|
|
//
|
|
// 3001 - V3.0 RC1
|
|
// 3002 - V3.0 RC2
|
|
// 3003 - V3.0 RC3
|
|
// 3004 - V3.0 RC4 / 4X
|
|
// 3005 - V3.0 RC5 / 5X
|
|
// 3006 - V3.0 RC6
|
|
// 3007 - V3.0 RC7
|
|
// 3010 - V3.0 RELEASE (June 7 2013)
|
|
// 3020 - V3.0 SP1 RC1
|
|
// 3030 - V3.0 SP1 RELEASE (December 2013)
|
|
// 3032 - V3.0 SP2 RELEASE (March 2014)
|
|
// 3040 - V3.1 DEVELOPMENT
|
|
// 3050 - V3.1 DEVELOPMENT (accidentally pushed)
|
|
// 3051 - V3.1 DEVELOPMENT
|
|
// 3055 - V3.1 RC1
|
|
// 3056 - V3.1 RC2
|
|
// 3057 - V3.1 RC3
|
|
// 3058 - V3.1 RC3X
|
|
// 3059 - V3.1 RC4
|
|
// 3100 - V3.1 RELEASE (August 17 2014)
|
|
// 3101 - V3.11 DEVELOPMENT
|
|
// 3102 - V3.11 DEVELOPMENT INCL RIDECACHE
|
|
// 3103 - V3.2 RC1 (renamed from 3.11)
|
|
// 3104 - V3.2 RC1X (after late commits)
|
|
// 3105 - V3.2 RC2
|
|
// 3106 - V3.2 RC3
|
|
// 3107 - V3.2 RC4 (lost due to push fail by Mark)
|
|
// 3108 - V3.2 RC4X (some problems with tagging)
|
|
// 3200 - V3.2 RELEASE (August 12 2015)
|
|
// 3900 - V3.3 DEVELOPMENT STARTS
|
|
// 3901 - V3.3 PUBLIC DEVELOPMENT BUILD
|
|
// 3902 - V3.3 RC1
|
|
// 3903 - V3.3 RC2
|
|
// 3904 - V3.3 RC3
|
|
// 3933 - V3.3 RELEASE (November 29 2015)
|
|
// 3940 - V4.0 DEVELOPMENT STARTS
|
|
// 3941 - V4.0 DEV BUILD 1604
|
|
// 3942 - V4.0 DEV BUILD 1605
|
|
// 3943 - V4.0 DEV BUILD 1606
|
|
// 3944 - V4.0 DEV BUILD 1607
|
|
// 3945 - V3.4 DEV BUILD 1608 (FIT SUPPORT INTERIM SUPORT)
|
|
// 3946 - V3.4 RC1
|
|
// 3947 - V3.4 RC2
|
|
// 3950 - V3.4 RELEASE (November 18 2016)
|
|
// 3955 - V3.4 RELEASE SIERRA BUILD UPDATE (November 19 2016)
|
|
// 3956 - V3.4 FIXUPS FROM 3.4 BRANCH
|
|
// 3957 - V3.4.1 DEVELOPMENT
|
|
// 3958 - V3.4.1 DEVELOPMENT RELEASES START
|
|
// 3960 - V3.5 DEVELOPMENT RENAME AND DEVBUILD 1703
|
|
// 3961 - V3.5 DEVELOPMENT CLOUD REFACTOR PRIOR TO 1704
|
|
// 3962 - V3.5 DEVELOPMENT 1705
|
|
// 3963 - V3.5 DEVELOPMENT 1708
|
|
// 3964 - V3.5 DEVELOPMENT 1710
|
|
// 3965 - V3.5 DEVELOPMENT 1802
|
|
// 3966 - V3.5 DEVELOPMENT 1804
|
|
// 3967 - V3.5 DEVELOPMENT 1806
|
|
// 3968 - V3.5 DEVELOPMENT 1810
|
|
// 3969 - V3.5 DEVELOPMENT 1901
|
|
// 3970 - V3.5 DEVELOPMENT 1903
|
|
// 3980 - V3.5 RC1
|
|
// 3981 - V3.5 RC2
|
|
// 3982 - V3.5 RC2X
|
|
// 3990 - V3.5 RELEASE (January 2020)
|
|
// 3991 - V3.5 RELEASE RE-ISSUE STRAVA RATE LIMIT (January 2020)
|
|
// 3992 - V3.6 DEVELOPMENT
|
|
// 4000 - V3.6 DEVELOPMENT 2005 (MAY 2020)
|
|
// 4001 - V3.6 DEVELOPMENT 2006 (JUN 2020)
|
|
// 4002 - V3.6 DEVELOPMENT 2009 (SEP 2020)
|
|
// 4003 - V3.6 DEVELOPMENT 2101 (JAN 2021)
|
|
// 4004 - V3.6 DEVELOPMENT 2106 (JUN 2021)
|
|
// 4006 - V3.6 DEVELOPMENT 2107 (JUL 2021)
|
|
// 4007 - V3.6 DEVELOPMENT 2108 (AUG 2021)
|
|
// 4008 - V3.6 DEVELOPMENT 2110 (OCT 2021) (Pre-release)
|
|
// 4009 - V3.6 DEVELOPMENT 2110 (NOV 2021) (Pre-release)
|
|
// 4010 - V3.6 DEVELOPMENT 2202 (FEB 2022) (Pre-release RC1)
|
|
// 4011 - V3.6 DEVELOPMENT 2208 (AUG 2022) (Pre-release RC2)
|
|
// 4012 - V3.6 DEVELOPMENT 2210 (OCT 2022) (Pre-release RC3)
|
|
// 4013 - V3.6 DEVELOPMENT 2303 (MAR 2023) (Pre-release RC4)
|
|
// 5000 - V3.6 RELEASE (August 2023)
|
|
// 5001 - V3.7 DEVELOPMENT 2404 (APR 2024)
|
|
// 5002 - V3.7 DEVELOPMENT 2408 (AUG 2024)
|
|
// 5003 - V3.7 DEVELOPMENT 2410 (OCT 2024)
|
|
// 5004 - V3.7 DEVELOPMENT 2412 (DEC 2024)
|
|
// 5005 - V3.7 RELEASE (March 2025)
|
|
|
|
#define VERSION3_BUILD 3010 // released
|
|
#define VERSION3_SP1 3030 // released
|
|
#define VERSION3_SP2 3032 // released
|
|
#define VERSION31_UPG 3100 // first build with 3.1 upgrade process
|
|
#define VERSION311_BUILD 3101 // first build with 3.1 upgrade process
|
|
#define VERSION32_BUILD 3200 // released
|
|
#define VERSION33_BUILD 3933 // development release
|
|
#define VERSION34_BUILD 3955 // released
|
|
#define VERSION35_BUILD 3990 // released
|
|
#define VERSION36_BUILD 5000 // released 5/8/23
|
|
#define VERSION37_BUILD 5005 // released 28/3/25 - latest snapshot 17/10/25
|
|
|
|
// will keep changing during testing and before final release
|
|
#define VERSION31_BUILD VERSION31_UPG
|
|
|
|
// the next two will with each build/release
|
|
#define VERSION_LATEST 5005
|
|
#define VERSION_STRING "V3.7"
|
|
//#define GC_VERSION VERSION_STRING // To force version string on non-tagged ci builds
|
|
|
|
// default config for this release cycle
|
|
#define VERSION_CONFIG_PREFIX "http://www.goldencheetah.org/defaults/3.8"
|
|
|
|
class GcUpgradeLogDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
GcUpgradeLogDialog(QDir);
|
|
~GcUpgradeLogDialog();
|
|
void enableButtons();
|
|
void append(QString, int level=0);
|
|
|
|
|
|
public slots:
|
|
void saveAs();
|
|
void linkClickedSlot( QUrl );
|
|
|
|
private:
|
|
|
|
QWebEngineView *report;
|
|
AthleteDirectoryStructure home;
|
|
QString reportText;
|
|
QPushButton *proceedButton;
|
|
QPushButton *saveAsButton;
|
|
|
|
};
|
|
|
|
|
|
|
|
class GcUpgrade
|
|
{
|
|
Q_DECLARE_TR_FUNCTIONS(GcUpgrade)
|
|
|
|
public:
|
|
GcUpgrade() { upgradeError = false; errorCount = 0;}
|
|
bool upgradeConfirmedByUser(const QDir &home); // upgrade warning in case of critical updates which need a backup
|
|
int upgrade(const QDir &home); // standard upgrade steps
|
|
int upgradeLate(Context *context); // final upgrade steps which need a full context to be available first (exceptional use only !)
|
|
static int version() { return VERSION_LATEST; }
|
|
static QString versionString() { return VERSION_STRING; }
|
|
void removeIndex(QFile&);
|
|
|
|
private:
|
|
|
|
bool moveFile(const QString &source, const QString &target);
|
|
GcUpgradeLogDialog *upgradeLog;
|
|
bool upgradeError;
|
|
int errorCount;
|
|
|
|
};
|
|
|
|
|
|
class GcUpgradeExecuteDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
GcUpgradeExecuteDialog(QDir);
|
|
|
|
private:
|
|
QScrollArea *scrollText;
|
|
QPushButton *proceedButton;
|
|
QPushButton *abortButton;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|