From aa8605e8d50fbca0cc3ac47f43ccee56ec39221d Mon Sep 17 00:00:00 2001 From: Mark Liversedge Date: Mon, 9 Dec 2013 09:57:13 +0000 Subject: [PATCH] QT5 -- 1 of 3 Porting the codebase to QT 5 (5.2) to get the latest bug fixes, performance and improved platform support. This first part is to fixup the codebase to compile on Qt 5, but some aspects have been broken (video). The second part is to migrate from Qwt 6.0.1 to the latest Qwt for multiaxis support. The third part will be to fixup any platform specific issues or issues identified at runtime. --- .../segmentcontrol/qtsegmentcontrol.cpp | 14 ++++---- qtsolutions/segmentcontrol/qtsegmentcontrol.h | 2 +- qtsolutions/soap/qtsoap.cpp | 2 +- src/ANT.cpp | 2 +- src/ANTlocalController.h | 2 ++ src/AddDeviceWizard.h | 6 ++++ src/AddIntervalDialog.h | 7 ++++ src/Aerolab.h | 5 +++ src/AerolabWindow.cpp | 1 - src/AerolabWindow.h | 1 + src/AllPlot.cpp | 6 ++-- src/AllPlot.h | 4 +++ src/AllPlotWindow.cpp | 10 ++---- src/AllPlotWindow.h | 3 ++ src/Athlete.h | 1 + src/BatchExportDialog.h | 2 ++ src/BestIntervalDialog.h | 6 ++++ src/BinRideFile.cpp | 4 +-- src/BingMap.cpp | 1 - src/BingMap.h | 4 ++- src/BlankState.h | 3 ++ src/CalDAV.h | 3 ++ src/CalendarDownload.h | 2 ++ src/ChooseCyclistDialog.h | 6 ++++ src/ComparePane.h | 3 ++ src/Computrainer.cpp | 2 +- src/ComputrainerController.cpp | 2 ++ src/ConfigDialog.h | 3 ++ src/CpintPlot.cpp | 1 - src/CpintPlot.h | 2 ++ src/CriticalPowerWindow.cpp | 4 +-- src/CriticalPowerWindow.h | 5 +-- src/DBAccess.h | 2 ++ src/DataFilter.cpp | 1 - src/DataProcessor.h | 10 ++++-- src/DialWindow.cpp | 1 - src/DialWindow.h | 4 ++- src/DiaryWindow.cpp | 5 ++- src/DownloadRideDialog.h | 5 +++ src/ErgDB.h | 1 - src/ErgFilePlot.cpp | 2 -- src/FitlogParser.cpp | 6 ++-- src/Fortius.h | 1 + src/FortiusController.h | 2 ++ src/GcCalendarModel.h | 5 ++- src/GcCrashDialog.cpp | 14 -------- src/GcCrashDialog.h | 1 + src/GcPane.h | 5 +++ src/GcScopeBar.h | 1 + src/GcSideBarItem.h | 4 +++ src/GcToolBar.h | 2 ++ src/GcWindowLayout.h | 1 + src/GcWindowRegistry.h | 1 + src/GoldenCheetah.cpp | 10 ++++-- src/GoldenCheetah.h | 22 ++++++------- src/GoogleMapControl.cpp | 1 - src/GoogleMapControl.h | 5 +++ src/GpxParser.cpp | 8 ++--- src/HelpWindow.cpp | 1 - src/HelpWindow.h | 3 ++ src/HistogramWindow.cpp | 2 -- src/HistogramWindow.h | 7 ++-- src/HomeWindow.cpp | 31 ++++++++++-------- src/HomeWindow.h | 14 ++++++-- src/HrPwWindow.cpp | 1 - src/HrPwWindow.h | 5 +-- src/HrZones.cpp | 6 ++-- src/IntervalItem.h | 4 +++ src/IntervalSummaryWindow.h | 1 + src/IntervalTreeView.h | 1 + src/JouleDevice.cpp | 4 +-- src/JsonRideFile.y | 2 +- src/LTMChartParser.cpp | 10 +++--- src/LTMChartParser.h | 2 ++ src/LTMPlot.cpp | 2 -- src/LTMPopup.cpp | 2 +- src/LTMPopup.h | 10 +++++- src/LTMSettings.h | 2 ++ src/LTMSidebar.cpp | 2 ++ src/LTMTool.h | 8 +++++ src/LTMWindow.cpp | 1 - src/Library.h | 2 ++ src/LibraryParser.cpp | 8 ++--- src/MacroDevice.cpp | 8 ++--- src/MainWindow.cpp | 18 ++++------ src/MainWindow.h | 6 ++-- src/ManualRideDialog.h | 4 +++ src/MergeActivityWizard.cpp | 2 +- src/MergeActivityWizard.h | 14 +++++--- src/MetadataWindow.cpp | 1 - src/MetadataWindow.h | 1 + src/ModelPlot.cpp | 2 -- src/ModelPlot.h | 4 +++ src/ModelWindow.cpp | 2 -- src/ModelWindow.h | 5 +++ src/NamedSearch.cpp | 12 +++---- src/NamedSearch.h | 9 +++-- src/NewCyclistDialog.h | 8 +++++ src/OAuthDialog.cpp | 8 ++--- src/OAuthDialog.h | 5 +++ src/Pages.cpp | 3 +- src/Pages.h | 3 ++ src/PerfPlot.cpp | 14 -------- src/PerfPlot.h | 15 +++++++-- src/PerformanceManagerWindow.cpp | 1 - src/PerformanceManagerWindow.h | 1 + src/PfPvPlot.cpp | 2 -- src/PfPvWindow.cpp | 2 -- src/PfPvWindow.h | 5 +++ src/PowerTapDevice.cpp | 8 ++--- src/QtMacButton.mm | 15 +++++++-- src/QtMacSegmentedButton.mm | 7 +++- src/QtMacVideoWindow.mm | 3 +- src/QuarqParser.cpp | 10 +++--- src/RealtimePlot.cpp | 2 -- src/RealtimePlotWindow.cpp | 1 - src/RealtimePlotWindow.h | 3 ++ src/ReferenceLineDialog.h | 5 +++ src/RideEditor.cpp | 1 - src/RideEditor.h | 10 ++++++ src/RideFile.cpp | 2 +- src/RideImportWizard.h | 5 +++ src/RideItem.h | 1 + src/RideMetadata.cpp | 8 ++--- src/RideMetadata.h | 8 ++++- src/RideMetric.h | 4 +-- src/RideNavigator.h | 2 ++ src/RideNavigatorProxy.h | 2 +- src/RideSummaryWindow.cpp | 1 - src/RideSummaryWindow.h | 1 + src/RideWindow.cpp | 1 - src/SaveDialogs.h | 6 ++++ src/ScatterPlot.cpp | 1 - src/ScatterPlot.h | 3 ++ src/ScatterWindow.cpp | 2 -- src/ScatterWindow.h | 3 ++ src/Season.h | 4 +++ src/SeasonParser.cpp | 10 +++--- src/Serial.cpp | 2 +- src/ShareDialog.cpp | 21 ++++++------ src/ShareDialog.h | 7 ++++ src/SlfParser.cpp | 6 ++-- src/SmfParser.cpp | 6 ++-- src/SpinScanPlot.cpp | 2 -- src/SpinScanPlotWindow.cpp | 1 - src/SpinScanPlotWindow.h | 2 ++ src/SpinScanPolarPlot.cpp | 2 -- src/SplitActivityWizard.h | 4 +++ src/SrmDevice.cpp | 8 ++--- src/SummaryWindow.cpp | 1 - src/SummaryWindow.h | 2 ++ src/TPDownloadDialog.h | 4 +++ src/TPUploadDialog.h | 2 ++ src/TcxParser.cpp | 6 ++-- src/TimeUtils.h | 1 + src/ToolsDialog.h | 3 ++ src/ToolsRhoEstimator.h | 3 ++ src/TrainSidebar.cpp | 6 ++-- src/TrainSidebar.h | 11 +++++-- src/TreeMapPlot.cpp | 2 -- src/TreeMapWindow.cpp | 2 -- src/TtbDialog.cpp | 31 +++++++++++------- src/TtbDialog.h | 6 +++- src/TwitterDialog.cpp | 1 - src/TwitterDialog.h | 9 +++++ src/VideoWindow.cpp | 7 ++-- src/VideoWindow.h | 6 +--- src/WithingsParser.h | 2 -- src/WorkoutPlotWindow.cpp | 1 - src/WorkoutWizard.cpp | 2 +- src/WorkoutWizard.h | 25 ++++++++------ src/Zones.cpp | 2 +- src/{ => deprecated}/LionFullScreen.h | 0 src/{ => deprecated}/LionFullScreen.mm | 0 src/{ => deprecated}/QtMacPopUpButton.h | 0 src/{ => deprecated}/QtMacPopUpButton.mm | 0 src/src.pro | 15 ++++----- src/translations/gc_cs.qm | Bin 76131 -> 74400 bytes src/translations/gc_de.qm | Bin 230688 -> 225170 bytes src/translations/gc_es.qm | Bin 229357 -> 224899 bytes src/translations/gc_fr.qm | Bin 169585 -> 167470 bytes src/translations/gc_it.qm | Bin 232590 -> 227513 bytes src/translations/gc_ja.qm | Bin 68157 -> 66613 bytes src/translations/gc_pt-br.qm | Bin 69332 -> 68890 bytes src/translations/gc_pt.qm | Bin 103809 -> 102808 bytes src/translations/gc_ru.qm | Bin 80842 -> 79565 bytes 186 files changed, 552 insertions(+), 313 deletions(-) rename src/{ => deprecated}/LionFullScreen.h (100%) rename src/{ => deprecated}/LionFullScreen.mm (100%) rename src/{ => deprecated}/QtMacPopUpButton.h (100%) rename src/{ => deprecated}/QtMacPopUpButton.mm (100%) diff --git a/qtsolutions/segmentcontrol/qtsegmentcontrol.cpp b/qtsolutions/segmentcontrol/qtsegmentcontrol.cpp index 20c50fa6c..fd9f74b45 100644 --- a/qtsolutions/segmentcontrol/qtsegmentcontrol.cpp +++ b/qtsolutions/segmentcontrol/qtsegmentcontrol.cpp @@ -1,10 +1,10 @@ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include "qtsegmentcontrol.h" diff --git a/qtsolutions/segmentcontrol/qtsegmentcontrol.h b/qtsolutions/segmentcontrol/qtsegmentcontrol.h index 2d2107666..b3791f0fa 100644 --- a/qtsolutions/segmentcontrol/qtsegmentcontrol.h +++ b/qtsolutions/segmentcontrol/qtsegmentcontrol.h @@ -2,7 +2,7 @@ A whole bunch of stuff here. */ -#include +#include class QMenu; class QStyleOption; diff --git a/qtsolutions/soap/qtsoap.cpp b/qtsolutions/soap/qtsoap.cpp index eb7347f38..c33f0978b 100644 --- a/qtsolutions/soap/qtsoap.cpp +++ b/qtsolutions/soap/qtsoap.cpp @@ -3147,7 +3147,7 @@ void QtSoapHttpTransport::submitRequest(QtSoapMessage &request, const QString &p { QNetworkRequest networkReq; networkReq.setHeader(QNetworkRequest::ContentTypeHeader, QLatin1String("text/xml;charset=utf-8")); - networkReq.setRawHeader("SOAPAction", soapAction.toAscii()); + networkReq.setRawHeader("SOAPAction", soapAction.toLatin1()); url.setPath(path); networkReq.setUrl(url); diff --git a/src/ANT.cpp b/src/ANT.cpp index 8a67fb1e0..85f3b221c 100644 --- a/src/ANT.cpp +++ b/src/ANT.cpp @@ -834,7 +834,7 @@ int ANT::openPort() // a USB1 stick so default to 4 channels channels = 4; - if ((devicePort=open(deviceFilename.toAscii(),O_RDWR | O_NOCTTY | O_NONBLOCK)) == -1) + if ((devicePort=open(deviceFilename.toLatin1(),O_RDWR | O_NOCTTY | O_NONBLOCK)) == -1) return errno; tcflush(devicePort, TCIOFLUSH); // clear out the garbage diff --git a/src/ANTlocalController.h b/src/ANTlocalController.h index ae98c12be..14e587e52 100644 --- a/src/ANTlocalController.h +++ b/src/ANTlocalController.h @@ -23,6 +23,8 @@ #include "ANTLogger.h" #include "ConfigDialog.h" +#include + // Abstract base class for Realtime device controllers #ifndef _GC_ANTlocalController_h diff --git a/src/AddDeviceWizard.h b/src/AddDeviceWizard.h index 2253d51df..c5b1021ba 100644 --- a/src/AddDeviceWizard.h +++ b/src/AddDeviceWizard.h @@ -36,7 +36,13 @@ #include "ANTChannel.h" #include "NullController.h" #include "Settings.h" + #include +#include +#include +#include +#include +#include class DeviceScanner; diff --git a/src/AddIntervalDialog.h b/src/AddIntervalDialog.h index eb3febf86..1289c73a2 100644 --- a/src/AddIntervalDialog.h +++ b/src/AddIntervalDialog.h @@ -21,6 +21,13 @@ #include "GoldenCheetah.h" #include +#include +#include +#include +#include +#include +#include +#include class Context; class RideFile; diff --git a/src/Aerolab.h b/src/Aerolab.h index 6a6c591f3..3cd690809 100644 --- a/src/Aerolab.h +++ b/src/Aerolab.h @@ -23,6 +23,11 @@ #include #include #include + +#include +#include +#include + #include "LTMWindow.h" // for tooltip/canvaspicker // forward references diff --git a/src/AerolabWindow.cpp b/src/AerolabWindow.cpp index ac55bc8d4..aaa695e2c 100644 --- a/src/AerolabWindow.cpp +++ b/src/AerolabWindow.cpp @@ -29,7 +29,6 @@ AerolabWindow::AerolabWindow(Context *context) : GcWindow(context), context(context) { - setInstanceName("Aerolab Window"); setControls(NULL); // Aerolab tab layout: diff --git a/src/AerolabWindow.h b/src/AerolabWindow.h index 452a4c575..40e42b6f6 100644 --- a/src/AerolabWindow.h +++ b/src/AerolabWindow.h @@ -21,6 +21,7 @@ #include "GoldenCheetah.h" #include +#include class Aerolab; class Context; diff --git a/src/AllPlot.cpp b/src/AllPlot.cpp index 40ad68a8e..0ae8524cb 100644 --- a/src/AllPlot.cpp +++ b/src/AllPlot.cpp @@ -43,6 +43,8 @@ #include #include +#include // for memcpy + class IntervalPlotData : public QwtSeriesData { public: @@ -245,8 +247,6 @@ AllPlot::AllPlot(AllPlotWindow *parent, Context *context): context(context), parent(parent) { - setInstanceName("AllPlot"); - referencePlot = NULL; if (appsettings->value(this, GC_SHADEZONES, true).toBool()==false) @@ -1420,7 +1420,7 @@ AllPlot::setDataFromPlot(AllPlot *plot, int startidx, int stopidx) tempCurve->setData(xaxis, smoothTE, stopidx-startidx); QVector tmpWND(stopidx-startidx); - qMemCopy( tmpWND.data(), smoothRS, (stopidx-startidx) * sizeof( QwtIntervalSample ) ); + memcpy(tmpWND.data(), smoothRS, (stopidx-startidx) * sizeof(QwtIntervalSample)); windCurve->setData(new QwtIntervalSeriesData(tmpWND)); torqueCurve->setData(xaxis, smoothNM, stopidx-startidx); balanceLCurve->setData(xaxis, smoothBALL, stopidx-startidx); diff --git a/src/AllPlot.h b/src/AllPlot.h index c732fc45c..87626c5c5 100644 --- a/src/AllPlot.h +++ b/src/AllPlot.h @@ -28,6 +28,10 @@ #include #include +#include +#include +#include + class QwtPlotCurve; class QwtPlotIntervalCurve; class QwtPlotGrid; diff --git a/src/AllPlotWindow.cpp b/src/AllPlotWindow.cpp index 62f2a462f..48bc2f039 100644 --- a/src/AllPlotWindow.cpp +++ b/src/AllPlotWindow.cpp @@ -45,7 +45,8 @@ // span slider specials #include -#include +#include +#include // tooltip #include "LTMWindow.h" @@ -56,8 +57,6 @@ AllPlotWindow::AllPlotWindow(Context *context) : GcChartWindow(context), current(NULL), context(context), active(false), stale(true), setupStack(false) { - setInstanceName("Ride Plot Window"); - QWidget *c = new QWidget; QVBoxLayout *clv = new QVBoxLayout(c); QHBoxLayout *cl = new QHBoxLayout; @@ -230,7 +229,6 @@ AllPlotWindow::AllPlotWindow(Context *context) : palette.setBrush(QPalette::Background, QBrush(GColor(CRIDEPLOTBACKGROUND))); allPlot = new AllPlot(this, context); - allPlot->setInstanceName("allPlot"); allPlot->setContentsMargins(0,0,0,0); //allPlot->axisWidget(QwtPlot::yLeft)->installEventFilter(this); @@ -355,14 +353,13 @@ AllPlotWindow::AllPlotWindow(Context *context) : // BUG in QMacStyle and painting of spanSlider // so we use a plain style to avoid it, but only // on a MAC, since win and linux are fine - QCleanlooksStyle *style = new QCleanlooksStyle(); + QStyle *style = QStyleFactory::create("fusion"); spanSlider->setStyle(style); scrollLeft->setStyle(style); scrollRight->setStyle(style); #endif fullPlot = new AllPlot(this, context); - fullPlot->setInstanceName("fullPlot"); fullPlot->grid->enableY(false); fullPlot->setFixedHeight(100); fullPlot->setCanvasBackground(GColor(CRIDEPLOTBACKGROUND)); @@ -1702,7 +1699,6 @@ AllPlotWindow::setupStackPlots() // create that plot AllPlot *_allPlot = new AllPlot(this, context); - _allPlot->setInstanceName("stackPlot"); _allPlot->setAutoFillBackground(false); _allPlot->setPalette(palette); diff --git a/src/AllPlotWindow.h b/src/AllPlotWindow.h index 59321145a..604a5010e 100644 --- a/src/AllPlotWindow.h +++ b/src/AllPlotWindow.h @@ -22,6 +22,9 @@ #include #include // for Q_PROPERTY +#include +#include +#include class AllPlot; class Context; diff --git a/src/Athlete.h b/src/Athlete.h index 370b50e0e..4383ed5be 100644 --- a/src/Athlete.h +++ b/src/Athlete.h @@ -21,6 +21,7 @@ #include #include +#include #include #include diff --git a/src/BatchExportDialog.h b/src/BatchExportDialog.h index 68a697ef9..b6349e2ab 100644 --- a/src/BatchExportDialog.h +++ b/src/BatchExportDialog.h @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/src/BestIntervalDialog.h b/src/BestIntervalDialog.h index 30eb4c66c..814d45822 100644 --- a/src/BestIntervalDialog.h +++ b/src/BestIntervalDialog.h @@ -21,6 +21,12 @@ #include "GoldenCheetah.h" #include +#include +#include +#include +#include +#include +#include class Context; class RideFile; diff --git a/src/BinRideFile.cpp b/src/BinRideFile.cpp index 7c36ab092..d8350d3fe 100644 --- a/src/BinRideFile.cpp +++ b/src/BinRideFile.cpp @@ -774,9 +774,9 @@ struct BinFileReaderState foreach(int num, set) { int record_type = unexpected_format_identifiers_for_record_types.keys(set).takeFirst(); errors << QString("unexpected format identifier \"%1\" (%2) in \"%3\" (%4)\n") - .arg(global_format_identifiers[num].toAscii().constData()) + .arg(global_format_identifiers[num].toLatin1().constData()) .arg(num) - .arg(global_record_types[record_type].toAscii().constData()) + .arg(global_record_types[record_type].toLatin1().constData()) .arg(record_type); } } diff --git a/src/BingMap.cpp b/src/BingMap.cpp index 0917119ac..af7869a15 100644 --- a/src/BingMap.cpp +++ b/src/BingMap.cpp @@ -33,7 +33,6 @@ BingMap::BingMap(Context *context) : GcWindow(context), context(context), range(-1), current(NULL) { - setInstanceName("Google Map"); setControls(NULL); setContentsMargins(0,0,0,0); layout = new QVBoxLayout(); diff --git a/src/BingMap.h b/src/BingMap.h index 07b0065e4..389f7e889 100644 --- a/src/BingMap.h +++ b/src/BingMap.h @@ -21,7 +21,9 @@ #include "GoldenCheetah.h" #include -#include +#include +#include +#include #include #include #include diff --git a/src/BlankState.h b/src/BlankState.h index 9d4e3f65e..9a28ed0fe 100644 --- a/src/BlankState.h +++ b/src/BlankState.h @@ -21,7 +21,10 @@ #include "GoldenCheetah.h" #include "Settings.h" + #include +#include +#include struct ShortCut { diff --git a/src/CalDAV.h b/src/CalDAV.h index 44bcadd50..975e07f2f 100644 --- a/src/CalDAV.h +++ b/src/CalDAV.h @@ -27,6 +27,9 @@ #include #include +// diag messages +#include + // set user and password #include #include "Context.h" diff --git a/src/CalendarDownload.h b/src/CalendarDownload.h index 9725fd5fd..91040c81c 100644 --- a/src/CalendarDownload.h +++ b/src/CalendarDownload.h @@ -23,6 +23,8 @@ #include #include #include +#include + #include "Context.h" #include "Settings.h" /* #include "CalendarParser.h" */ diff --git a/src/ChooseCyclistDialog.h b/src/ChooseCyclistDialog.h index 3184185a5..6ef272b81 100644 --- a/src/ChooseCyclistDialog.h +++ b/src/ChooseCyclistDialog.h @@ -22,6 +22,12 @@ #include #include +#include +#include +#include +#include +#include +#include class QListWidget; class QListWidgetItem; diff --git a/src/ComparePane.h b/src/ComparePane.h index adc7046b6..dd5901374 100644 --- a/src/ComparePane.h +++ b/src/ComparePane.h @@ -20,6 +20,9 @@ #define _GC_ComparePane_h 1 #include +#include +#include + #include "GcSideBarItem.h" class ComparePane : public QWidget diff --git a/src/Computrainer.cpp b/src/Computrainer.cpp index b261b469d..2d977d1af 100644 --- a/src/Computrainer.cpp +++ b/src/Computrainer.cpp @@ -809,7 +809,7 @@ int Computrainer::openPort() int ldisc=N_TTY; // LINUX #endif - if ((devicePort=open(deviceFilename.toAscii(),O_RDWR | O_NOCTTY | O_NONBLOCK)) == -1) return errno; + if ((devicePort=open(deviceFilename.toLatin1(),O_RDWR | O_NOCTTY | O_NONBLOCK)) == -1) return errno; tcflush(devicePort, TCIOFLUSH); // clear out the garbage diff --git a/src/ComputrainerController.cpp b/src/ComputrainerController.cpp index f087c07ef..9e8156faf 100644 --- a/src/ComputrainerController.cpp +++ b/src/ComputrainerController.cpp @@ -20,6 +20,8 @@ #include "Computrainer.h" #include "RealtimeData.h" +#include + ComputrainerController::ComputrainerController(TrainSidebar *parent, DeviceConfiguration *dc) : RealtimeController(parent, dc) { myComputrainer = new Computrainer (parent, dc ? dc->portSpec : ""); // we may get NULL passed when configuring diff --git a/src/ConfigDialog.h b/src/ConfigDialog.h index 309251de7..642593daf 100644 --- a/src/ConfigDialog.h +++ b/src/ConfigDialog.h @@ -22,6 +22,9 @@ #include #include +#include +#include + #include "Pages.h" #include "Context.h" diff --git a/src/CpintPlot.cpp b/src/CpintPlot.cpp index d97f5a591..de33c43ff 100644 --- a/src/CpintPlot.cpp +++ b/src/CpintPlot.cpp @@ -55,7 +55,6 @@ CpintPlot::CpintPlot(Context *context, QString p, const Zones *zones, bool range shadeMode(2), rangemode(rangemode) { - setInstanceName("CP Plot"); setAutoFillBackground(true); setAxisTitle(xBottom, tr("Interval Length")); diff --git a/src/CpintPlot.h b/src/CpintPlot.h index bb3ffe13b..9a37abe4e 100644 --- a/src/CpintPlot.h +++ b/src/CpintPlot.h @@ -27,7 +27,9 @@ #include #include #include + #include +#include class QwtPlotCurve; class QwtPlotGrid; diff --git a/src/CriticalPowerWindow.cpp b/src/CriticalPowerWindow.cpp index 10c438787..9b8790d68 100644 --- a/src/CriticalPowerWindow.cpp +++ b/src/CriticalPowerWindow.cpp @@ -44,8 +44,6 @@ CriticalPowerWindow::CriticalPowerWindow(const QDir &home, Context *context, bool rangemode) : GcChartWindow(context), _dateRange("{00000000-0000-0000-0000-000000000001}"), home(home), context(context), currentRide(NULL), rangemode(rangemode), isfiltered(false), stale(true), useCustom(false), useToToday(false), active(false) { - setInstanceName("Critical Power Window"); - // // reveal controls widget // @@ -872,7 +870,7 @@ void CriticalPowerWindow::seasonSelected(int iSeason) { if (iSeason >= seasons->seasons.count() || iSeason < 0) return; Season season = seasons->seasons.at(iSeason); - _dateRange = season.id(); + //XXX BROKEM CODE IN 5.1 PORT // _dateRange = season.id(); cpintPlot->changeSeason(season.getStart(), season.getEnd()); cpintPlot->calculate(currentRide); } diff --git a/src/CriticalPowerWindow.h b/src/CriticalPowerWindow.h index 5ab644ebf..4376a5db2 100644 --- a/src/CriticalPowerWindow.h +++ b/src/CriticalPowerWindow.h @@ -20,14 +20,15 @@ #define _GC_CriticalPowerWindow_h 1 #include "GoldenCheetah.h" #include "MainWindow.h" // for isfiltered and filters - -#include #include "Season.h" #include "RideFile.h" #ifdef GC_HAVE_LUCENE #include "SearchFilterBox.h" #endif +#include +#include + class CpintPlot; class QwtPlotCurve; class Context; diff --git a/src/DBAccess.h b/src/DBAccess.h index 24ddc5f30..5f3580e31 100644 --- a/src/DBAccess.h +++ b/src/DBAccess.h @@ -25,6 +25,8 @@ #include #include #include +#include + #include "SummaryMetrics.h" #include "Context.h" #include "Season.h" diff --git a/src/DataFilter.cpp b/src/DataFilter.cpp index 9e9a58f13..8a7d8b3cf 100644 --- a/src/DataFilter.cpp +++ b/src/DataFilter.cpp @@ -18,7 +18,6 @@ #include "DataFilter.h" #include "Context.h" -#include "Context.h" #include "Athlete.h" #include "RideNavigator.h" #include "RideFileCache.h" diff --git a/src/DataProcessor.h b/src/DataProcessor.h index 9d16cd9b1..39fe8f440 100644 --- a/src/DataProcessor.h +++ b/src/DataProcessor.h @@ -23,10 +23,17 @@ #include "RideFile.h" #include "RideFileCommand.h" #include "RideItem.h" + +#include +#include +#include #include #include +#include #include #include +#include +#include #include #include @@ -46,9 +53,6 @@ // dataprocessor on the current ride and is called from the mainWindow menus // - -#include - // every data processor must supply a configuration Widget // when its processorConfig member is called class DataProcessorConfig : public QWidget diff --git a/src/DialWindow.cpp b/src/DialWindow.cpp index a743cf04a..2e7c5d94a 100644 --- a/src/DialWindow.cpp +++ b/src/DialWindow.cpp @@ -27,7 +27,6 @@ DialWindow::DialWindow(Context *context) : rolling.resize(150); // enough for 30 seconds at 5hz setContentsMargins(0,0,0,0); - setInstanceName("Dial"); QWidget *c = new QWidget; QVBoxLayout *cl = new QVBoxLayout(c); diff --git a/src/DialWindow.h b/src/DialWindow.h index 5ecb96d06..cedb219ce 100644 --- a/src/DialWindow.h +++ b/src/DialWindow.h @@ -22,7 +22,9 @@ #include #include // for Q_PROPERTY - +#include +#include +#include #include "Context.h" #include "Zones.h" // for data series types diff --git a/src/DiaryWindow.cpp b/src/DiaryWindow.cpp index f82166a89..ced913e85 100644 --- a/src/DiaryWindow.cpp +++ b/src/DiaryWindow.cpp @@ -25,7 +25,6 @@ DiaryWindow::DiaryWindow(Context *context) : GcWindow(context), context(context), active(false) { - setInstanceName("Diary Window"); setControls(NULL); // get config @@ -66,8 +65,8 @@ DiaryWindow::DiaryWindow(Context *context) : monthlyView = new QTableView(this); monthlyView->setItemDelegate(new GcCalendarDelegate); monthlyView->setModel(calendarModel); - monthlyView->horizontalHeader()->setResizeMode(QHeaderView::Stretch); - monthlyView->verticalHeader()->setResizeMode(QHeaderView::Stretch); + monthlyView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); + monthlyView->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch); monthlyView->verticalHeader()->hide(); monthlyView->viewport()->installEventFilter(this); monthlyView->setGridStyle(Qt::DotLine); diff --git a/src/DownloadRideDialog.h b/src/DownloadRideDialog.h index ce76fad0b..e7c3a59c7 100644 --- a/src/DownloadRideDialog.h +++ b/src/DownloadRideDialog.h @@ -21,7 +21,12 @@ #include "GoldenCheetah.h" #include "CommPort.h" + #include +#include +#include +#include +#include class Context; diff --git a/src/ErgDB.h b/src/ErgDB.h index c4c167366..5f1c621b0 100644 --- a/src/ErgDB.h +++ b/src/ErgDB.h @@ -20,7 +20,6 @@ #define _Gc_ErgDB_h #include "GoldenCheetah.h" #include "ErgFile.h" -#include #include #include #include diff --git a/src/ErgFilePlot.cpp b/src/ErgFilePlot.cpp index e346ecf94..c86cc52c4 100644 --- a/src/ErgFilePlot.cpp +++ b/src/ErgFilePlot.cpp @@ -85,8 +85,6 @@ QPointF NowData::sample(size_t i) const ErgFilePlot::ErgFilePlot(Context *context) : context(context) { - setInstanceName("ErgFile Plot"); - //insertLegend(new QwtLegend(), QwtPlot::BottomLegend); setCanvasBackground(GColor(CRIDEPLOTBACKGROUND)); canvas()->setFrameStyle(QFrame::NoFrame); diff --git a/src/FitlogParser.cpp b/src/FitlogParser.cpp index c71c02e2f..094586ac7 100644 --- a/src/FitlogParser.cpp +++ b/src/FitlogParser.cpp @@ -102,7 +102,7 @@ FitlogParser::startElement( const QString&, const QString&, point.watts,point.alt,point.lon,point.lat, point.headwind, 0.0, RideFile::noTemp, 0.0, point.interval); } - return TRUE; + return true; } bool @@ -207,12 +207,12 @@ FitlogParser::endElement( const QString&, const QString&, const QString& qName) rideFile->setTag("Notes", buffer); } - return TRUE; + return true; } bool FitlogParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } static const double EARTH_RADIUS = 6378.140; // in km diff --git a/src/Fortius.h b/src/Fortius.h index 6ac17651a..1798fecf6 100644 --- a/src/Fortius.h +++ b/src/Fortius.h @@ -34,6 +34,7 @@ #include "GoldenCheetah.h" #include +#include #include #include #include diff --git a/src/FortiusController.h b/src/FortiusController.h index ab0bf30ec..4b84d8604 100644 --- a/src/FortiusController.h +++ b/src/FortiusController.h @@ -20,6 +20,8 @@ #include "RealtimeController.h" #include "Fortius.h" +#include + // Abstract base class for Realtime device controllers #ifndef _GC_FortiusController_h diff --git a/src/GcCalendarModel.h b/src/GcCalendarModel.h index 0c887bf42..6ffd84885 100644 --- a/src/GcCalendarModel.h +++ b/src/GcCalendarModel.h @@ -38,6 +38,9 @@ #include "MainWindow.h" #include +#include +#include +#include #include #include "qxtscheduleview.h" #include "Context.h" @@ -132,7 +135,7 @@ public slots: arr->append(j); dateToRows.insert(dateTime.date(), arr); } - reset(); + resetInternalData(); } diff --git a/src/GcCrashDialog.cpp b/src/GcCrashDialog.cpp index b5ad2bce5..e6d06146a 100644 --- a/src/GcCrashDialog.cpp +++ b/src/GcCrashDialog.cpp @@ -214,14 +214,6 @@ QString GcCrashDialog::versionHTML() clucene = _CL_VERSION; #endif - // -- LION SUPPORT ---- - #ifdef Q_OS_MAC - QString lionSupport = "no"; - #ifdef GC_HAVE_LION - lionSupport = "yes"; - #endif - #endif - #ifdef GC_HAVE_WFAPI QString wfapi = WFApi::getInstance()->apiVersion(); #else @@ -262,9 +254,6 @@ QString GcCrashDialog::versionHTML() "Wahoo API%12" "VLC%13" "LUCENE%14" - #ifdef Q_OS_MAC - "LION SUPPORT%15" - #endif "" ) .arg(QT_VERSION_STR) @@ -281,9 +270,6 @@ QString GcCrashDialog::versionHTML() .arg(wfapi) .arg(vlc) .arg(clucene) - #ifdef Q_OS_MAC - .arg(lionSupport) - #endif ; QString versionText = QString("
" + gc_version + lib_version + "
"); diff --git a/src/GcCrashDialog.h b/src/GcCrashDialog.h index da5f63ea0..fa83c751f 100644 --- a/src/GcCrashDialog.h +++ b/src/GcCrashDialog.h @@ -22,6 +22,7 @@ #include #include #include +#include class GcCrashDialog : public QDialog { diff --git a/src/GcPane.h b/src/GcPane.h index a9fa32a6b..4e55ed9bc 100644 --- a/src/GcPane.h +++ b/src/GcPane.h @@ -21,6 +21,11 @@ #include "GoldenCheetah.h" #include +#include +#include +#include +#include + #include "Colors.h" class GcPane : public QWidget diff --git a/src/GcScopeBar.h b/src/GcScopeBar.h index c68ce4ed1..965124684 100644 --- a/src/GcScopeBar.h +++ b/src/GcScopeBar.h @@ -22,6 +22,7 @@ #include #include #include +#include class Context; #ifdef Q_OS_MAC diff --git a/src/GcSideBarItem.h b/src/GcSideBarItem.h index 1e19bda8d..b384bdd3e 100644 --- a/src/GcSideBarItem.h +++ b/src/GcSideBarItem.h @@ -21,7 +21,11 @@ #include #include +#include +#include #include +#include +#include class GcSubSplitter; class GcSplitterControl; diff --git a/src/GcToolBar.h b/src/GcToolBar.h index eda31c245..fe7972db8 100644 --- a/src/GcToolBar.h +++ b/src/GcToolBar.h @@ -22,6 +22,8 @@ #include #include #include +#include +#include class GcToolBar : public QWidget { diff --git a/src/GcWindowLayout.h b/src/GcWindowLayout.h index 17e243f95..f1622b3fc 100644 --- a/src/GcWindowLayout.h +++ b/src/GcWindowLayout.h @@ -19,6 +19,7 @@ #ifndef _GC_GcWindowLayout_h #define _GC_GcWindowLayout_h +#include #include #include #include diff --git a/src/GcWindowRegistry.h b/src/GcWindowRegistry.h index 24ecf2f6f..61e1a4ad0 100644 --- a/src/GcWindowRegistry.h +++ b/src/GcWindowRegistry.h @@ -64,6 +64,7 @@ enum gcwinid { }; }; typedef enum GcWindowTypes::gcwinid GcWinID; +Q_DECLARE_METATYPE(GcWinID) // when declaring a window, what view is it relevant for? #define VIEW_TRAIN 0x01 diff --git a/src/GoldenCheetah.cpp b/src/GoldenCheetah.cpp index e0f5fa027..16ae8095a 100644 --- a/src/GoldenCheetah.cpp +++ b/src/GoldenCheetah.cpp @@ -21,13 +21,17 @@ #include "Context.h" #include "Colors.h" #include "Settings.h" + #include +#include #include #include #include #include #include +Q_DECLARE_METATYPE(QWidget*) + QWidget *GcWindow::controls() const { return _controls; @@ -45,6 +49,7 @@ void GcWindow::setControls(QWidget *x) } } +#if 0 QString GcWindow::instanceName() const { return _instanceName; @@ -54,6 +59,7 @@ void GcWindow::_setInstanceName(QString x) { _instanceName = x; } +#endif QString GcWindow::subtitle() const { @@ -166,7 +172,7 @@ GcWindow::GcWindow() setContentsMargins(0,0,0,0); setResizable(false); setMouseTracking(true); - setProperty("color", Qt::white); + setProperty("color", QColor(Qt::white)); setProperty("nomenu", false); // make sure its underneath the toggle button @@ -203,7 +209,7 @@ GcWindow::GcWindow(Context *context) : QFrame(context->mainWindow), dragState(No setContentsMargins(0,0,0,0); setResizable(false); setMouseTracking(true); - setProperty("color", Qt::white); + setProperty("color", QColor(Qt::white)); setProperty("nomenu", false); // make sure its underneath the toggle button diff --git a/src/GoldenCheetah.h b/src/GoldenCheetah.h index caa0aae4a..6aba97d98 100644 --- a/src/GoldenCheetah.h +++ b/src/GoldenCheetah.h @@ -18,13 +18,12 @@ #ifndef _GC_GoldenCheetah_h #define _GC_GoldenCheetah_h -#include "TimeUtils.h" -class RideItem; class GcWindow; class Context; -#define G_OBJECT Q_PROPERTY(QString instanceName READ instanceName WRITE setInstanceName) -#define setInstanceName(x) setProperty("instanceName", x) +#define G_OBJECT +//#define G_OBJECT Q_PROPERTY(QString instanceName READ instanceName WRITE setInstanceName) +//#define setInstanceName(x) setProperty("instanceName", x) #define myRideItem property("ride").value() #define myDateRange property("dateRange").value() @@ -33,6 +32,7 @@ class Context; #include #include #include +#include #include #include #include @@ -41,11 +41,9 @@ class Context; #include #include "GcWindowRegistry.h" +#include "TimeUtils.h" -Q_DECLARE_METATYPE(QWidget*) -Q_DECLARE_METATYPE(RideItem*) -Q_DECLARE_METATYPE(GcWinID) -Q_DECLARE_METATYPE(DateRange) +class RideItem; class GcWindow : public QFrame @@ -58,7 +56,7 @@ private: // each window has an instance name - default set // by the widget constructor but overide from layou manager - Q_PROPERTY(QString instanceName READ instanceName WRITE _setInstanceName USER true) + //Q_PROPERTY(QString instanceName READ instanceName WRITE _setInstanceName USER true) // controls are updated by widget when it is constructed Q_PROPERTY(QWidget* controls READ controls WRITE setControls NOTIFY controlsChanged) @@ -87,7 +85,7 @@ private: QString _title; QString _subtitle; - QString _instanceName; + //QString _instanceName; RideItem *_rideItem; GcWinID _type; DateRange _dr; @@ -128,8 +126,8 @@ public: ~GcWindow(); GcWindow(Context *context); - void _setInstanceName(QString x); // GOBJECTS can set their instance name, but not be GcWindows - QString instanceName() const; + //void _setInstanceName(QString x); // GOBJECTS can set their instance name, but not be GcWindows + //QString instanceName() const; void setControls(QWidget *x); QWidget *controls() const; diff --git a/src/GoogleMapControl.cpp b/src/GoogleMapControl.cpp index 9c74c76c0..478f60f04 100644 --- a/src/GoogleMapControl.cpp +++ b/src/GoogleMapControl.cpp @@ -35,7 +35,6 @@ GoogleMapControl::GoogleMapControl(Context *context) : GcChartWindow(context), context(context), range(-1), current(NULL) { - setInstanceName("Google Map"); setControls(NULL); setContentsMargins(0,0,0,0); layout = new QVBoxLayout(); diff --git a/src/GoogleMapControl.h b/src/GoogleMapControl.h index 6490c0fa8..5626cc293 100644 --- a/src/GoogleMapControl.h +++ b/src/GoogleMapControl.h @@ -22,6 +22,11 @@ #include #include +#include +#include +#include +#include + #include #include #include diff --git a/src/GpxParser.cpp b/src/GpxParser.cpp index b7ae6924c..7b88ccdff 100644 --- a/src/GpxParser.cpp +++ b/src/GpxParser.cpp @@ -87,7 +87,7 @@ bool GpxParser::startElement( const QString&, const QString&, lon = lastLon; } } - return TRUE; + return true; } #define PI 3.14159265 @@ -153,7 +153,7 @@ bool last_time = time; lastLon = lon; lastLat = lat; - return TRUE; + return true; } // we need to figure out the distance by using the lon,lat // using teh haversine formula @@ -254,11 +254,11 @@ bool lastLat = lat; } - return TRUE; + return true; } bool GpxParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } diff --git a/src/HelpWindow.cpp b/src/HelpWindow.cpp index 629c52267..7d7e2cb04 100644 --- a/src/HelpWindow.cpp +++ b/src/HelpWindow.cpp @@ -24,7 +24,6 @@ HelpWindow::HelpWindow(Context *context) : QDialog(context->mainWindow) setWindowTitle("Help"); setAttribute(Qt::WA_DeleteOnClose); setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint | Qt::Tool); - setInstanceName("Help Window"); view = new QWebView(); layout = new QVBoxLayout(); diff --git a/src/HelpWindow.h b/src/HelpWindow.h index a0c7b4492..59681eda2 100644 --- a/src/HelpWindow.h +++ b/src/HelpWindow.h @@ -21,7 +21,10 @@ #include "GoldenCheetah.h" #include +#include #include +#include + #include "Context.h" class HelpWindow : public QDialog diff --git a/src/HistogramWindow.cpp b/src/HistogramWindow.cpp index c3c98b7c1..5782c041e 100644 --- a/src/HistogramWindow.cpp +++ b/src/HistogramWindow.cpp @@ -41,8 +41,6 @@ static const int cadDigits = 0; // HistogramWindow::HistogramWindow(Context *context, bool rangemode) : GcChartWindow(context), context(context), stale(true), source(NULL), active(false), bactive(false), rangemode(rangemode), useCustom(false), useToToday(false), precision(99) { - setInstanceName("Histogram Window"); - QWidget *c = new QWidget; c->setContentsMargins(0,0,0,0); QFormLayout *cl = new QFormLayout(c); diff --git a/src/HistogramWindow.h b/src/HistogramWindow.h index 40ad8434e..253496576 100644 --- a/src/HistogramWindow.h +++ b/src/HistogramWindow.h @@ -32,8 +32,6 @@ #include "RideFileCache.h" #include "RideItem.h" #include "Settings.h" -#include -#include #include "Zones.h" #include "HrZones.h" @@ -47,6 +45,11 @@ #endif #include +#include +#include +#include + +#include class Context; class PowerHist; diff --git a/src/HomeWindow.cpp b/src/HomeWindow.cpp index c20d7bd18..6d20aed49 100644 --- a/src/HomeWindow.cpp +++ b/src/HomeWindow.cpp @@ -33,8 +33,6 @@ HomeWindow::HomeWindow(Context *context, QString name, QString /* windowtitle */ GcWindow(context), context(context), name(name), active(false), clicked(NULL), dropPending(false), chartCursor(-2), loaded(false) { - setInstanceName("Home Window"); - // setup control area QWidget *cw = new QWidget(this); cw->setContentsMargins(0,0,0,0); @@ -428,9 +426,11 @@ HomeWindow::dragEnterEvent(QDragEnterEvent *event) void HomeWindow::appendChart(GcWinID id) { + GcWindow *newone = NULL; + // GcWindowDialog is delete on close, so no need to delete - GcWindowDialog *f = new GcWindowDialog(id, context); - GcWindow *newone = f->exec(); + GcWindowDialog *f = new GcWindowDialog(id, context, &newone); + f->exec(); // returns null if cancelled or closed if (newone) { @@ -1014,7 +1014,7 @@ HomeWindow::drawCursor() } } -GcWindowDialog::GcWindowDialog(GcWinID type, Context *context) : context(context), type(type) +GcWindowDialog::GcWindowDialog(GcWinID type, Context *context, GcWindow **here) : context(context), type(type), here(here) { //setAttribute(Qt::WA_DeleteOnClose); setWindowFlags(windowFlags()); @@ -1081,12 +1081,16 @@ void GcWindowDialog::okClicked() void GcWindowDialog::cancelClicked() { reject(); } -GcWindow * +int GcWindowDialog::exec() { if (QDialog::exec()) { - return win; - } else return NULL; + + *here = win; + } else { + *here = NULL; + } + return 0; } /*---------------------------------------------------------------------- @@ -1225,7 +1229,7 @@ HomeWindow::restoreState(bool useDefault) // bool ViewParser::startDocument() { - return TRUE; + return true; } bool ViewParser::endElement( const QString&, const QString&, const QString &qName ) @@ -1233,7 +1237,7 @@ bool ViewParser::endElement( const QString&, const QString&, const QString &qNam if (qName == "chart") { // add to the list charts.append(chart); } - return TRUE; + return true; } bool ViewParser::startElement( const QString&, const QString&, const QString &name, const QXmlAttributes &attrs ) @@ -1262,7 +1266,6 @@ bool ViewParser::startElement( const QString&, const QString&, const QString &na chart = GcWindowRegistry::newGcWindow(type, context); chart->hide(); chart->setProperty("title", QVariant(title)); - chart->setProperty("instanceName", QVariant(name)); } else if (name == "property") { @@ -1294,18 +1297,18 @@ bool ViewParser::startElement( const QString&, const QString&, const QString &na } } - return TRUE; + return true; } bool ViewParser::characters( const QString&) { - return TRUE; + return true; } bool ViewParser::endDocument() { - return TRUE; + return true; } void HomeWindow::closeWindow(GcWindow*thisone) diff --git a/src/HomeWindow.h b/src/HomeWindow.h index 621b271cc..9f1d61019 100644 --- a/src/HomeWindow.h +++ b/src/HomeWindow.h @@ -24,8 +24,17 @@ #include "GcWindowLayout.h" #include +#include +#include #include +#include +#include +#include +#include +#include + #include "Context.h" +#include "RideItem.h" #ifdef Q_OS_MAC #include "QtMacSegmentedButton.h" @@ -136,8 +145,8 @@ class GcWindowDialog : public QDialog Q_OBJECT public: - GcWindowDialog(GcWinID, Context *); - GcWindow *exec(); // return pointer to window, or NULL if cancelled + GcWindowDialog(GcWinID, Context *, GcWindow **); + int exec(); // return pointer to window, or NULL if cancelled public slots: void okClicked(); @@ -146,6 +155,7 @@ class GcWindowDialog : public QDialog protected: Context *context; GcWinID type; + GcWindow **here; // we remove from the layout at the end QHBoxLayout *layout; diff --git a/src/HrPwWindow.cpp b/src/HrPwWindow.cpp index 375854705..e79d1c04f 100644 --- a/src/HrPwWindow.cpp +++ b/src/HrPwWindow.cpp @@ -34,7 +34,6 @@ HrPwWindow::HrPwWindow(Context *context) : GcChartWindow(context), context(context), current(NULL) { setControls(NULL); - setInstanceName("HrPw"); // // reveal controls widget diff --git a/src/HrPwWindow.h b/src/HrPwWindow.h index 048bec19d..306cd3305 100644 --- a/src/HrPwWindow.h +++ b/src/HrPwWindow.h @@ -20,8 +20,10 @@ #define _GC_HrPwWindow_h 1 #include -#include "GoldenCheetah.h" +#include +#include "GoldenCheetah.h" +#include "LTMWindow.h" // for tooltip/canvaspicker class QCheckBox; class QLineEdit; @@ -31,7 +33,6 @@ class Context; class SmallPlot; class QSlider; -#include "LTMWindow.h" // for tooltip/canvaspicker class HrPwWindow : public GcChartWindow diff --git a/src/HrZones.cpp b/src/HrZones.cpp index 1d569f3e4..31a8eb81b 100644 --- a/src/HrZones.cpp +++ b/src/HrZones.cpp @@ -224,15 +224,15 @@ bool HrZones::read(QFile &file) // set up the range, capturing LT if it's specified // range = new ZoneRange(begin, end); int nLT = (r ? 11 : 7); - if (rangerx[r].numCaptures() >= (nLT)) lt = rangerx[r].cap(nLT).toInt(); + if (rangerx[r].captureCount() >= (nLT)) lt = rangerx[r].cap(nLT).toInt(); else lt = 0; int nRestHr = (r ? 14 : 10); - if (rangerx[r].numCaptures() >= (nRestHr)) restHr = rangerx[r].cap(nRestHr).toInt(); + if (rangerx[r].captureCount() >= (nRestHr)) restHr = rangerx[r].cap(nRestHr).toInt(); else restHr = 0; int nMaxHr = (r ? 17 : 13); - if (rangerx[r].numCaptures() >= (nRestHr)) maxHr = rangerx[r].cap(nMaxHr).toInt(); + if (rangerx[r].captureCount() >= (nRestHr)) maxHr = rangerx[r].cap(nMaxHr).toInt(); else maxHr = 0; // bleck diff --git a/src/IntervalItem.h b/src/IntervalItem.h index 6d42fa2b2..0a9681bec 100644 --- a/src/IntervalItem.h +++ b/src/IntervalItem.h @@ -21,6 +21,10 @@ #include "GoldenCheetah.h" #include +#include +#include +#include +#include class RideFile; diff --git a/src/IntervalSummaryWindow.h b/src/IntervalSummaryWindow.h index e21176a47..668f2660a 100644 --- a/src/IntervalSummaryWindow.h +++ b/src/IntervalSummaryWindow.h @@ -20,6 +20,7 @@ #define INTERVALSUMMARYWINDOW_H_ #include +#include class Context; class IntervalItem; diff --git a/src/IntervalTreeView.h b/src/IntervalTreeView.h index db511c2ed..7f2c51af6 100644 --- a/src/IntervalTreeView.h +++ b/src/IntervalTreeView.h @@ -21,6 +21,7 @@ #include "GoldenCheetah.h" #include +#include class Context; diff --git a/src/JouleDevice.cpp b/src/JouleDevice.cpp index 1a5c8bd77..ea6ef8536 100644 --- a/src/JouleDevice.cpp +++ b/src/JouleDevice.cpp @@ -542,14 +542,14 @@ bool JoulePacket::write(CommPortPtr dev, QString &err) { QByteArray bytes = dataArrayForUnit(); - const char *msg = cEscape(bytes.data(), bytes.count()).toAscii().constData(); + const char *msg = cEscape(bytes.data(), bytes.count()).toLatin1().constData(); if (JOULE_DEBUG) printf("writing '%s' to device\n", msg); int n = dev->write(bytes.data(), bytes.count() , err); // if (n != bytes.count()) { if (n < 0) { - if (JOULE_DEBUG) printf("failed to write %s to device: %s\n", msg, err.toAscii().constData()); + if (JOULE_DEBUG) printf("failed to write %s to device: %s\n", msg, err.toLatin1().constData()); err = QString(tr("failed to write to device: %1")).arg(err); } else { diff --git a/src/JsonRideFile.y b/src/JsonRideFile.y index 6fbf2718d..5041fb94e 100644 --- a/src/JsonRideFile.y +++ b/src/JsonRideFile.y @@ -84,7 +84,7 @@ static QString protect(const QString string) // Un-Escape special characters (JSON compliance) static QString unprotect(const QString string) { - QString string2 = QString::fromLocal8Bit(string.toAscii().data()); + QString string2 = QString::fromLocal8Bit(string.toLatin1().data()); // this is a lexer string so it will be enclosed // in quotes. Lets strip those first diff --git a/src/LTMChartParser.cpp b/src/LTMChartParser.cpp index eff58ba24..fbebc1bf5 100644 --- a/src/LTMChartParser.cpp +++ b/src/LTMChartParser.cpp @@ -98,7 +98,7 @@ static QwtSymbol::Style intToSymbol(int x) bool LTMChartParser::startDocument() { buffer.clear(); - return TRUE; + return true; } static QString unprotect(QString buffer) @@ -167,7 +167,7 @@ bool LTMChartParser::endElement( const QString&, const QString&, const QString & settings.append(setting); else if (qName == "charts") { // block top-level } // do nothing for now - return TRUE; + return true; } bool LTMChartParser::startElement( const QString&, const QString&, const QString &name, const QXmlAttributes &attrs ) @@ -189,13 +189,13 @@ bool LTMChartParser::startElement( const QString&, const QString&, const QString } } - return TRUE; + return true; } bool LTMChartParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } QList @@ -206,7 +206,7 @@ LTMChartParser::getSettings() bool LTMChartParser::endDocument() { - return TRUE; + return true; } // static helper to protect special xml characters diff --git a/src/LTMChartParser.h b/src/LTMChartParser.h index 5ec32f688..0b349708d 100644 --- a/src/LTMChartParser.h +++ b/src/LTMChartParser.h @@ -21,6 +21,8 @@ #include "GoldenCheetah.h" #include +#include + #include "LTMSettings.h" #include "LTMTool.h" diff --git a/src/LTMPlot.cpp b/src/LTMPlot.cpp index bdb51b521..f467a2ff1 100644 --- a/src/LTMPlot.cpp +++ b/src/LTMPlot.cpp @@ -47,8 +47,6 @@ static int supported_axes[] = { QwtPlot::yLeft, QwtPlot::yRight, QwtPlot::yLeft1 LTMPlot::LTMPlot(LTMWindow *parent, Context *context) : bg(NULL), parent(parent), context(context), highlighter(NULL) { - setInstanceName("Metric Plot"); - // get application settings insertLegend(new QwtLegend(), QwtPlot::BottomLegend); setAxisTitle(yLeft, tr("")); diff --git a/src/LTMPopup.cpp b/src/LTMPopup.cpp index 13e923f96..0d93e8b6a 100644 --- a/src/LTMPopup.cpp +++ b/src/LTMPopup.cpp @@ -50,7 +50,7 @@ LTMPopup::LTMPopup(Context *context) : QWidget(context->mainWindow), context(con // ride list... rides = new QTableWidget(this); #ifdef Q_OS_LINUX // QT 4.7 bug on Linux, selection-background-color is ignored (no transparency) - QWindowsStyle *style = new QWindowsStyle(); + QStyle *style = QStyleFactory::create("fusion"); rides->setStyle(style); #endif rides->setFrameStyle(QFrame::NoFrame); diff --git a/src/LTMPopup.h b/src/LTMPopup.h index 39d1d299e..750e4c553 100644 --- a/src/LTMPopup.h +++ b/src/LTMPopup.h @@ -26,8 +26,16 @@ #include "MetricAggregator.h" #include "RideMetric.h" -#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include class LTMPopup : public QWidget { diff --git a/src/LTMSettings.h b/src/LTMSettings.h index 49fd343f2..a5f73c759 100644 --- a/src/LTMSettings.h +++ b/src/LTMSettings.h @@ -22,7 +22,9 @@ #include #include +#include #include +#include #include #include diff --git a/src/LTMSidebar.cpp b/src/LTMSidebar.cpp index 75e33b4ec..f9cd3c0dd 100644 --- a/src/LTMSidebar.cpp +++ b/src/LTMSidebar.cpp @@ -22,9 +22,11 @@ #include "Athlete.h" #include "Settings.h" #include "Units.h" + #include #include #include +#include #include // seasons support diff --git a/src/LTMTool.h b/src/LTMTool.h index c6f031174..6204f9ee7 100644 --- a/src/LTMTool.h +++ b/src/LTMTool.h @@ -30,7 +30,15 @@ #endif #include +#include #include +#include +#include +#include +#include +#include +#include +#include // tree widget types #define ROOT_TYPE 1 diff --git a/src/LTMWindow.cpp b/src/LTMWindow.cpp index 6c1f92282..68b9994a5 100644 --- a/src/LTMWindow.cpp +++ b/src/LTMWindow.cpp @@ -41,7 +41,6 @@ LTMWindow::LTMWindow(Context *context) : GcChartWindow(context), context(context), dirty(true) { - setInstanceName("Metric Window"); useToToday = useCustom = false; plotted = DateRange(QDate(01,01,01), QDate(01,01,01)); diff --git a/src/Library.h b/src/Library.h index 317eab24b..2ea1d92cd 100644 --- a/src/Library.h +++ b/src/Library.h @@ -19,9 +19,11 @@ #ifndef _Library_h #define _Library_h #include "GoldenCheetah.h" + #include #include #include +#include #include #include #include diff --git a/src/LibraryParser.cpp b/src/LibraryParser.cpp index 08a53095b..7a26afb67 100644 --- a/src/LibraryParser.cpp +++ b/src/LibraryParser.cpp @@ -28,7 +28,7 @@ static inline QString unquote(QString quoted) bool LibraryParser::startDocument() { buffer.clear(); - return TRUE; + return true; } bool LibraryParser::endElement( const QString&, const QString&, const QString &qName ) @@ -45,7 +45,7 @@ bool LibraryParser::endElement( const QString&, const QString&, const QString &q if (qName == "ref") { library->refs.append(buffer.trimmed()); } - return TRUE; + return true; } bool LibraryParser::startElement( const QString&, const QString&, const QString &name, const QXmlAttributes &attrs) @@ -59,13 +59,13 @@ bool LibraryParser::startElement( const QString&, const QString&, const QString } } - return TRUE; + return true; } bool LibraryParser::characters(const QString& str) { buffer += str; - return TRUE; + return true; } bool diff --git a/src/MacroDevice.cpp b/src/MacroDevice.cpp index 8f7d7c6f5..9d0a512bd 100644 --- a/src/MacroDevice.cpp +++ b/src/MacroDevice.cpp @@ -352,14 +352,14 @@ MacroPacket::data() bool MacroPacket::write(CommPortPtr dev, QString &err) { - const char *msg = cEscape(data(), payload.count()+2).toAscii().constData(); + const char *msg = cEscape(data(), payload.count()+2).toLatin1().constData(); if (MACRO_DEBUG) printf("writing '%s' to device\n", msg); int n = dev->write(data(), payload.count()+2, err); if (n != payload.count()+2) { if (n < 0) { - if (MACRO_DEBUG) printf("failed to write %s to device: %s\n", msg, err.toAscii().constData()); + if (MACRO_DEBUG) printf("failed to write %s to device: %s\n", msg, err.toLatin1().constData()); err = QString(tr("failed to write to device: %1")).arg(err); } else { @@ -385,7 +385,7 @@ MacroPacket::read(CommPortPtr dev, int len, QString &err) } checksum += command; len--; - if (MACRO_DEBUG) printf("command %s\n" ,cEscape(&command,n).toAscii().constData()); + if (MACRO_DEBUG) printf("command %s\n" ,cEscape(&command,n).toLatin1().constData()); } if (MACRO_DEBUG) printf("reading %d from device\n", len); @@ -401,7 +401,7 @@ MacroPacket::read(CommPortPtr dev, int len, QString &err) return false; } - if (MACRO_DEBUG) printf("payload %s\n" ,cEscape(buf,n).toAscii().constData()); + if (MACRO_DEBUG) printf("payload %s\n" ,cEscape(buf,n).toLatin1().constData()); addToPayload(buf,n); return true; diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 54815630b..92455ed80 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -21,7 +21,11 @@ #include #include #include +#include #include +#include +#include +#include // DATA STRUCTURES #include "MainWindow.h" @@ -75,11 +79,7 @@ #include "HomeWindow.h" #include "GcScopeBar.h" #ifdef Q_OS_MAC -#ifdef GC_HAVE_LION -#include "LionFullScreen.h" // mac and lion or later -#endif #include "QtMacButton.h" // mac -#include "QtMacPopUpButton.h" // mac #include "QtMacSegmentedButton.h" // mac #else #include "QTFullScreen.h" // not mac! @@ -111,7 +111,6 @@ MainWindow::MainWindow(const QDir &home) context = new Context(this); context->athlete = new Athlete(context, home); - setInstanceName(context->athlete->cyclist); setWindowIcon(QIcon(":images/gc.png")); setWindowTitle(context->athlete->home.dirName()); setContentsMargins(0,0,0,0); @@ -143,9 +142,6 @@ MainWindow::MainWindow(const QDir &home) static const QIcon tileIcon(":images/toolbar/main/tile.png"); static const QIcon fullIcon(":images/toolbar/main/togglefull.png"); -#if (defined Q_OS_MAC) && (defined GC_HAVE_LION) - fullScreen = new LionFullScreen(context); -#endif #ifndef Q_OS_MAC fullScreen = new QTFullScreen(context); #endif @@ -302,7 +298,7 @@ MainWindow::MainWindow(const QDir &home) #ifdef GC_HAVE_LUCENE SearchFilterBox *searchBox = new SearchFilterBox(this,context,false); - QCleanlooksStyle *toolStyle = new QCleanlooksStyle(); + QStyle *toolStyle = QStyleFactory::create("fusion"); searchBox->setStyle(toolStyle); searchBox->setFixedWidth(200); head->addWidget(searchBox); @@ -319,7 +315,7 @@ MainWindow::MainWindow(const QDir &home) head = new GcToolBar(this); - QCleanlooksStyle *toolStyle = new QCleanlooksStyle(); + QStyle *toolStyle = QStyleFactory::create("fusion"); QPalette metal; metal.setColor(QPalette::Button, QColor(215,215,215)); @@ -437,7 +433,7 @@ MainWindow::MainWindow(const QDir &home) // Add chart is on the scope bar chartMenu = new QMenu(this); - QCleanlooksStyle *styler = new QCleanlooksStyle(); + QStyle *styler = QStyleFactory::create("fusion"); QPushButton *newchart = new QPushButton("+", this); scopebar->addWidget(newchart); newchart->setStyle(styler); diff --git a/src/MainWindow.h b/src/MainWindow.h index 7b04110a8..6ca09dcc5 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -23,6 +23,7 @@ #include #include #include +#include #include "RideItem.h" #include "TimeUtils.h" @@ -31,7 +32,6 @@ #include #endif -class LionFullScreen; class QTFullScreen; class QtMacSegmentedButton; class QtMacButton; @@ -44,6 +44,7 @@ class SaveSingleDialogWidget; class MainWindow; class Athlete; class Context; +class Tab; extern QList mainwindows; // keep track of all the MainWindows we have open extern QDesktopWidget *desktop; // how many screens / res etc @@ -170,9 +171,6 @@ class MainWindow : public QMainWindow GcScopeBar *scopebar; Tab *tab; -#if (defined Q_OS_MAC) && (defined GC_HAVE_LION) - LionFullScreen *fullScreen; -#endif #ifndef Q_OS_MAC QTFullScreen *fullScreen; #endif diff --git a/src/ManualRideDialog.h b/src/ManualRideDialog.h index 87bf7fa13..e9c8be4b2 100644 --- a/src/ManualRideDialog.h +++ b/src/ManualRideDialog.h @@ -22,6 +22,10 @@ #include "GoldenCheetah.h" #include +#include +#include +#include +#include #include class Context; diff --git a/src/MergeActivityWizard.cpp b/src/MergeActivityWizard.cpp index 2f26ed387..d0b9619e6 100644 --- a/src/MergeActivityWizard.cpp +++ b/src/MergeActivityWizard.cpp @@ -400,7 +400,7 @@ MergeSync::printDelays() seriesName = "alt"; else if (series==4) seriesName = "hr"; - fprintf(stderr, " series %d %s\n", series, seriesName.toAscii().constData()); + fprintf(stderr, " series %d %s\n", series, seriesName.toLatin1().constData()); for (int i=0;i + #include - - - - +#include +#include +#include +#include +#include +#include +#include class MainWindow; class SmallPlot; diff --git a/src/MetadataWindow.cpp b/src/MetadataWindow.cpp index 415ebd64a..d24304a23 100644 --- a/src/MetadataWindow.cpp +++ b/src/MetadataWindow.cpp @@ -21,7 +21,6 @@ MetadataWindow::MetadataWindow(Context *context) : GcChartWindow(context), context(context) { - setInstanceName("Metadata Window"); setControls(NULL); setRideItem(NULL); setContentsMargins(0,0,0,0); diff --git a/src/MetadataWindow.h b/src/MetadataWindow.h index e47a74990..1ea669995 100644 --- a/src/MetadataWindow.h +++ b/src/MetadataWindow.h @@ -19,6 +19,7 @@ #ifndef _GC_MetadataWindow_h #define _GC_MetadataWindow_h 1 #include "GoldenCheetah.h" +#include "RideItem.h" #include "RideMetadata.h" class Context; diff --git a/src/ModelPlot.cpp b/src/ModelPlot.cpp index 954def1f4..2085fb98e 100644 --- a/src/ModelPlot.cpp +++ b/src/ModelPlot.cpp @@ -999,8 +999,6 @@ ModelPlot::ModelPlot(Context *context, ModelSettings *settings) : QFrame(context // the distinction between a model plot and a basic model plot // is only to provide a frame for the qwt3d plot (it looks odd // when compared to the other plots without one) - setInstanceName("3D Plot"); - layout = new QVBoxLayout; setLineWidth(1); setFrameStyle(QFrame::NoFrame); diff --git a/src/ModelPlot.h b/src/ModelPlot.h index 44f08ddbb..695427c0a 100644 --- a/src/ModelPlot.h +++ b/src/ModelPlot.h @@ -22,6 +22,10 @@ #include #include +#include +#include +#include +#include #include "Context.h" #include diff --git a/src/ModelWindow.cpp b/src/ModelWindow.cpp index 6eb769a74..369570192 100644 --- a/src/ModelWindow.cpp +++ b/src/ModelWindow.cpp @@ -48,8 +48,6 @@ ModelWindow::addStandardChannels(QComboBox *box) ModelWindow::ModelWindow(Context *context, const QDir &home) : GcChartWindow(context), home(home), context(context), ride(NULL), current(NULL) { - setInstanceName("3D Window"); - QWidget *c = new QWidget; QFormLayout *cl = new QFormLayout(c); setControls(c); diff --git a/src/ModelWindow.h b/src/ModelWindow.h index 25af2a69f..cf878283a 100644 --- a/src/ModelWindow.h +++ b/src/ModelWindow.h @@ -22,6 +22,11 @@ #include #include +#include +#include +#include +#include +#include #include "Context.h" class ModelPlot; // we don't include the header because it uses namespaces diff --git a/src/NamedSearch.cpp b/src/NamedSearch.cpp index 122dd5514..0ffda7c8f 100644 --- a/src/NamedSearch.cpp +++ b/src/NamedSearch.cpp @@ -42,7 +42,7 @@ static QString protect(const QString string) // Un-Escape special characters (JSON compliance) static QString unprotect(const QString string) { - QString string2 = QString::fromLocal8Bit(string.toAscii().data()); + QString string2 = QString::fromLocal8Bit(string.toLatin1().data()); // this is a quoted string QString s = string2.mid(1,string2.length()-2); @@ -116,7 +116,7 @@ NamedSearches::deleteNamedSearch(int index) bool NamedSearchParser::startDocument() { buffer.clear(); - return TRUE; + return true; } bool NamedSearchParser::endElement( const QString&, const QString&, const QString &qName ) @@ -133,7 +133,7 @@ bool NamedSearchParser::endElement( const QString&, const QString&, const QStrin result.append(namedSearch); } - return TRUE; + return true; } bool NamedSearchParser::startElement( const QString&, const QString&, const QString &name, const QXmlAttributes & ) @@ -143,18 +143,18 @@ bool NamedSearchParser::startElement( const QString&, const QString&, const QStr namedSearch = NamedSearch(); } - return TRUE; + return true; } bool NamedSearchParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } bool NamedSearchParser::endDocument() { - return TRUE; + return true; } bool diff --git a/src/NamedSearch.h b/src/NamedSearch.h index aef74bffd..65d295d46 100644 --- a/src/NamedSearch.h +++ b/src/NamedSearch.h @@ -19,14 +19,17 @@ #ifndef Gc_NamedSearch_h #define Gc_NamedSearch_h #include "GoldenCheetah.h" +#include "Athlete.h" #include #include +#include #include +#include +#include + + class SearchBox; - -#include "Athlete.h" - class NamedSearch { public: diff --git a/src/NewCyclistDialog.h b/src/NewCyclistDialog.h index 2a16c4363..640efce3c 100644 --- a/src/NewCyclistDialog.h +++ b/src/NewCyclistDialog.h @@ -24,6 +24,14 @@ #include "Units.h" #include "Settings.h" +#include +#include +#include +#include +#include +#include +#include + class NewCyclistDialog : public QDialog { Q_OBJECT diff --git a/src/OAuthDialog.cpp b/src/OAuthDialog.cpp index c4ad8e03d..4b831624b 100644 --- a/src/OAuthDialog.cpp +++ b/src/OAuthDialog.cpp @@ -20,8 +20,6 @@ #include "Athlete.h" #include "Context.h" #include "Settings.h" -#include -#include #include "TimeUtils.h" OAuthDialog::OAuthDialog(Context *context, OAuthSite site) : @@ -81,7 +79,7 @@ OAuthDialog::urlChanged(const QUrl &url) QString code = url.toString().right(url.toString().length()-url.toString().indexOf("code=")-5); QByteArray data; - QUrl params; + QUrlQuery params; QString urlstr = ""; if (site == STRAVA) { @@ -106,9 +104,9 @@ OAuthDialog::urlChanged(const QUrl &url) } params.addQueryItem("code", code); - data = params.encodedQuery(); + data.append(params.query(QUrl::FullyEncoded)); - QUrl url = QUrl( urlstr); + QUrl url = QUrl(urlstr); QNetworkRequest request = QNetworkRequest(url); request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded"); diff --git a/src/OAuthDialog.h b/src/OAuthDialog.h index 9af4df55b..a4153ba1c 100644 --- a/src/OAuthDialog.h +++ b/src/OAuthDialog.h @@ -23,7 +23,12 @@ #include #include #include +#include #include +#include +#include +#include +#include class OAuthDialog : public QDialog { diff --git a/src/Pages.cpp b/src/Pages.cpp index 977367e36..f3f20ace9 100644 --- a/src/Pages.cpp +++ b/src/Pages.cpp @@ -19,8 +19,9 @@ #include "Athlete.h" #include #include -#include + #include + #include "Pages.h" #include "Units.h" #include "Settings.h" diff --git a/src/Pages.h b/src/Pages.h index dcf0a7b29..4c798d393 100644 --- a/src/Pages.h +++ b/src/Pages.h @@ -5,12 +5,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include "Zones.h" #include "HrZones.h" @@ -20,6 +22,7 @@ #include #include #include +#include #include "DeviceTypes.h" #include "DeviceConfiguration.h" #include "RideMetadata.h" diff --git a/src/PerfPlot.cpp b/src/PerfPlot.cpp index 2597a818c..8d8b507b7 100644 --- a/src/PerfPlot.cpp +++ b/src/PerfPlot.cpp @@ -16,19 +16,7 @@ * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ - -#include -#include -#include -#include -#include -#include -#include -#include "RideItem.h" -#include "RideFile.h" #include "PerfPlot.h" -#include "StressCalculator.h" -#include "Colors.h" // handle x-axis names class PPTimeScaleDraw: public QwtScaleDraw @@ -58,8 +46,6 @@ class PPTimeScaleDraw: public QwtScaleDraw PerfPlot::PerfPlot() : STScurve(NULL), LTScurve(NULL), SBcurve(NULL), DAYcurve(NULL) { - setInstanceName("PM Plot"); - xsd = new PPTimeScaleDraw(QDateTime()); xsd->setTickLength(QwtScaleDiv::MajorTick, 3); setAxisScaleDraw(QwtPlot::xBottom, xsd); diff --git a/src/PerfPlot.h b/src/PerfPlot.h index 6185ccaa5..7f9d5ffc7 100644 --- a/src/PerfPlot.h +++ b/src/PerfPlot.h @@ -19,15 +19,26 @@ #ifndef _GC_PerfPlot_h #define _GC_PerfPlot_h 1 #include "GoldenCheetah.h" - +#include "Settings.h" #include "StressCalculator.h" +#include "RideItem.h" +#include "RideFile.h" +#include "PerfPlot.h" +#include "StressCalculator.h" +#include "Colors.h" + #include + #include #include #include #include #include -#include "Settings.h" +#include +#include +#include +#include + class PPTimeScaleDraw; diff --git a/src/PerformanceManagerWindow.cpp b/src/PerformanceManagerWindow.cpp index 5a3e60c62..b9d651d47 100644 --- a/src/PerformanceManagerWindow.cpp +++ b/src/PerformanceManagerWindow.cpp @@ -13,7 +13,6 @@ PerformanceManagerWindow::PerformanceManagerWindow(Context *context) : GcWindow(context), context(context), active(false), isfiltered(false) { - setInstanceName("PM Window"); setControls(NULL); days = count = 0; diff --git a/src/PerformanceManagerWindow.h b/src/PerformanceManagerWindow.h index 7fee4e10b..44122dbfc 100644 --- a/src/PerformanceManagerWindow.h +++ b/src/PerformanceManagerWindow.h @@ -24,6 +24,7 @@ #include #include +#include #include #include "Settings.h" diff --git a/src/PfPvPlot.cpp b/src/PfPvPlot.cpp index ad12eac64..0b2434f91 100644 --- a/src/PfPvPlot.cpp +++ b/src/PfPvPlot.cpp @@ -120,8 +120,6 @@ public: PfPvPlot::PfPvPlot(Context *context) : rideItem (NULL), context(context), cp_ (0), cad_ (85), cl_ (0.175), shade_zones(true) { - setInstanceName("PfPv Plot"); - setCanvasBackground(Qt::white); canvas()->setFrameStyle(QFrame::NoFrame); diff --git a/src/PfPvWindow.cpp b/src/PfPvWindow.cpp index 0f183ef55..0920ae025 100644 --- a/src/PfPvWindow.cpp +++ b/src/PfPvWindow.cpp @@ -67,8 +67,6 @@ PfPvDoubleClickPicker::trackerTextF( const QPointF &pos ) const PfPvWindow::PfPvWindow(Context *context) : GcChartWindow(context), context(context), current(NULL) { - setInstanceName("Pf/Pv Window"); - QWidget *c = new QWidget; QVBoxLayout *cl = new QVBoxLayout(c); setControls(c); diff --git a/src/PfPvWindow.h b/src/PfPvWindow.h index eec7fede5..79583a529 100644 --- a/src/PfPvWindow.h +++ b/src/PfPvWindow.h @@ -21,6 +21,11 @@ #include "GoldenCheetah.h" #include +#include +#include +#include +#include + #include class Context; diff --git a/src/PowerTapDevice.cpp b/src/PowerTapDevice.cpp index eaba8b4b2..5f5caa73d 100644 --- a/src/PowerTapDevice.cpp +++ b/src/PowerTapDevice.cpp @@ -153,7 +153,7 @@ PowerTapDevice::download( const QDir &tmpdir, } if (PT_DEBUG) { printf("read version \"%s\"\n", - cEscape(vbuf, version_len).toAscii().constData()); + cEscape(vbuf, version_len).toLatin1().constData()); } version = QByteArray(vbuf, version_len); @@ -192,7 +192,7 @@ PowerTapDevice::download( const QDir &tmpdir, if (PT_DEBUG) { printf("read header \"%s\"\n", cEscape((char*) header, - sizeof(header)).toAscii().constData()); + sizeof(header)).toLatin1().constData()); } QVector records; for (size_t i = 0; i < sizeof(header); ++i) @@ -219,7 +219,7 @@ PowerTapDevice::download( const QDir &tmpdir, } if (PT_DEBUG) { printf("read 2 bytes: \"%s\"\n", - cEscape((char*) buf, 2).toAscii().constData()); + cEscape((char*) buf, 2).toLatin1().constData()); } if (hasNewline((char*) buf, 2)) break; @@ -236,7 +236,7 @@ PowerTapDevice::download( const QDir &tmpdir, } if (PT_DEBUG) { printf("read %d bytes: \"%s\"\n", n, - cEscape((char*) buf + count, n).toAscii().constData()); + cEscape((char*) buf + count, n).toLatin1().constData()); } count += n; } diff --git a/src/QtMacButton.mm b/src/QtMacButton.mm index e30a51aed..7431814bb 100644 --- a/src/QtMacButton.mm +++ b/src/QtMacButton.mm @@ -18,12 +18,19 @@ #include "QtMacButton.h" +// mac specials +#include +#include +#include +#include + #import "AppKit/NSButton.h" #import "AppKit/NSFont.h" static NSImage *fromQPixmap(const QPixmap *pixmap) { - NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:pixmap->toMacCGImageRef()]; + CGImageRef cgImage = QtMac::toCGImageRef(*pixmap); + NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:cgImage]; NSImage *image = [[[NSImage alloc] init] autorelease]; [image addRepresentation:bitmapRep]; [bitmapRep release]; @@ -39,13 +46,15 @@ static inline NSString* fromQString(const QString &string) } // nice little trick from qocoa -static inline void setupLayout(void *cocoaView, QWidget *parent) +static inline void setupLayout(NSView *cocoaView, QWidget *parent) { parent->setAttribute(Qt::WA_NativeWindow); QVBoxLayout *layout = new QVBoxLayout(parent); layout->setContentsMargins(0,0,0,0); layout->setSpacing(0); - layout->addWidget(new QMacCocoaViewContainer(cocoaView, parent)); + QMacCocoaViewContainer *cont = new QMacCocoaViewContainer(0, parent); + cont->setCocoaView(cocoaView); + layout->addWidget(cont); } // Lets wrap up all the NSButton complexity in this private diff --git a/src/QtMacSegmentedButton.mm b/src/QtMacSegmentedButton.mm index b18d75c9e..5b2ab75e0 100644 --- a/src/QtMacSegmentedButton.mm +++ b/src/QtMacSegmentedButton.mm @@ -18,11 +18,15 @@ #include "QtMacSegmentedButton.h" +// mac specials +#include + #import #import #import #import #import +#import #import CocoaInitializer::CocoaInitializer() @@ -44,7 +48,8 @@ static inline NSString *darwinQStringToNSString (const QString &aString) static NSImage *fromQPixmap(const QPixmap *pixmap) { - NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:pixmap->toMacCGImageRef()]; + CGImageRef cgImage = QtMac::toCGImageRef(*pixmap); + NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:cgImage]; NSImage *image = [[[NSImage alloc] init] autorelease]; [image addRepresentation:bitmapRep]; [bitmapRep release]; diff --git a/src/QtMacVideoWindow.mm b/src/QtMacVideoWindow.mm index dc6fe124e..bf73e0e02 100644 --- a/src/QtMacVideoWindow.mm +++ b/src/QtMacVideoWindow.mm @@ -39,8 +39,7 @@ GcWindow(context), home(home), context(context), hasMovie(false) { setControls(NULL); - setInstanceName("Video Window"); - setProperty("color", Qt::black); + setProperty("color", QColor(Qt::black)); QHBoxLayout *layout = new QHBoxLayout(); setLayout(layout); diff --git a/src/QuarqParser.cpp b/src/QuarqParser.cpp index bbec078d1..0aca47ab5 100644 --- a/src/QuarqParser.cpp +++ b/src/QuarqParser.cpp @@ -72,7 +72,7 @@ QuarqParser::startElement( const QString&, const QString&, seconds_from_start = 0.0; initial_seconds = -1; - return TRUE; + return true; } #define CheckQuarqXml(name,unit,dest) do { \ @@ -85,7 +85,7 @@ QuarqParser::startElement( const QString&, const QString&, dest = name.toDouble(); \ incrementTime(timestamp.toDouble()); \ } \ - return TRUE; \ + return true; \ } \ } while (0); @@ -103,7 +103,7 @@ QuarqParser::startElement( const QString&, const QString&, // only print the first time and unknown happens if (!unknown_keys[qName]++) std::cerr << "Unknown Element " << qPrintable(qName) << std::endl; - return TRUE; + return true; } bool @@ -116,12 +116,12 @@ QuarqParser::endElement( const QString&, const QString&, const QString& qName) kph, nm, watts, 0, 0.0, 0.0, 0.0, 0.0, RideFile::noTemp, 0.0, 0); } - return TRUE; + return true; } bool QuarqParser::characters( const QString& str ) { buf += str; - return TRUE; + return true; } diff --git a/src/RealtimePlot.cpp b/src/RealtimePlot.cpp index ea6d14120..fd07ea844 100644 --- a/src/RealtimePlot.cpp +++ b/src/RealtimePlot.cpp @@ -145,8 +145,6 @@ RealtimePlot::RealtimePlot() : showAltState(Qt::Checked), smooth(0) { - setInstanceName("Realtime Plot"); - //insertLegend(new QwtLegend(), QwtPlot::BottomLegend); pwr30Data = new Realtime30PwrData; pwrData = new RealtimePwrData; diff --git a/src/RealtimePlotWindow.cpp b/src/RealtimePlotWindow.cpp index 04cf7dfe6..799870b8c 100644 --- a/src/RealtimePlotWindow.cpp +++ b/src/RealtimePlotWindow.cpp @@ -24,7 +24,6 @@ RealtimePlotWindow::RealtimePlotWindow(Context *context) : GcWindow(context), context(context), active(false) { setContentsMargins(0,0,0,0); - setInstanceName("RT Plot"); setProperty("color", GColor(CRIDEPLOTBACKGROUND)); QWidget *c = new QWidget; diff --git a/src/RealtimePlotWindow.h b/src/RealtimePlotWindow.h index ceb05c9ab..a8a03ccd1 100644 --- a/src/RealtimePlotWindow.h +++ b/src/RealtimePlotWindow.h @@ -22,6 +22,9 @@ #include #include // for Q_PROPERTY +#include +#include +#include #include "Context.h" diff --git a/src/ReferenceLineDialog.h b/src/ReferenceLineDialog.h index 6ee3978c6..a7c426f43 100644 --- a/src/ReferenceLineDialog.h +++ b/src/ReferenceLineDialog.h @@ -22,6 +22,11 @@ #include "AllPlot.h" #include +#include +#include +#include +#include +#include class Context; class RideFile; diff --git a/src/RideEditor.cpp b/src/RideEditor.cpp index 092a90db5..727176653 100644 --- a/src/RideEditor.cpp +++ b/src/RideEditor.cpp @@ -58,7 +58,6 @@ static void secsMsecs(double value, int &secs, int &msecs) RideEditor::RideEditor(Context *context) : GcChartWindow(context), data(NULL), ride(NULL), context(context), inLUW(false), colMapper(NULL) { - setInstanceName("Ride Editor"); setControls(NULL); QVBoxLayout *mainLayout = new QVBoxLayout; diff --git a/src/RideEditor.h b/src/RideEditor.h index 404623145..8c5223076 100644 --- a/src/RideEditor.h +++ b/src/RideEditor.h @@ -25,7 +25,17 @@ #include "RideFile.h" #include "RideFileCommand.h" #include "RideFileTableModel.h" + #include +#include +#include +#include +#include +#include +#include +#include +#include +#include class EditorData; class CellDelegate; diff --git a/src/RideFile.cpp b/src/RideFile.cpp index 88ebffdcc..4b322aa1f 100644 --- a/src/RideFile.cpp +++ b/src/RideFile.cpp @@ -882,7 +882,7 @@ RideFile::parseRideFileName(const QString &name, QDateTime *dt) QRegExp rx(rideFileRegExp); if (!rx.exactMatch(name)) return false; - assert(rx.numCaptures() == 8); + assert(rx.captureCount() == 8); QDate date(rx.cap(2).toInt(), rx.cap(3).toInt(),rx.cap(4).toInt()); QTime time(rx.cap(5).toInt(), rx.cap(6).toInt(),rx.cap(7).toInt()); if ((! date.isValid()) || (! time.isValid())) { diff --git a/src/RideImportWizard.h b/src/RideImportWizard.h index 47db8cc59..3e5c67631 100644 --- a/src/RideImportWizard.h +++ b/src/RideImportWizard.h @@ -21,10 +21,15 @@ #include "GoldenCheetah.h" #include +#include +#include +#include #include +#include #include #include #include +#include #include "Context.h" // Dialog class to show filenames, import progress and to capture user input diff --git a/src/RideItem.h b/src/RideItem.h index 6edb4850d..8f39c652e 100644 --- a/src/RideItem.h +++ b/src/RideItem.h @@ -95,4 +95,5 @@ class RideItem : public QObject, public QTreeWidgetItem //<< for signals/slots double timeInHrZone(int zone); #endif }; +Q_DECLARE_METATYPE(RideItem*) #endif // _GC_RideItem_h diff --git a/src/RideMetadata.cpp b/src/RideMetadata.cpp index 6905f08c8..5808ae7ee 100644 --- a/src/RideMetadata.cpp +++ b/src/RideMetadata.cpp @@ -1011,7 +1011,7 @@ bool MetadataXMLParser::endElement( const QString&, const QString&, const QStrin else if (qName == "colorfield") colorfield = unprotect(buffer); - return TRUE; + return true; } bool MetadataXMLParser::startElement( const QString&, const QString&, const QString &name, const QXmlAttributes &attrs ) @@ -1035,16 +1035,16 @@ bool MetadataXMLParser::startElement( const QString&, const QString&, const QStr } } - return TRUE; + return true; } bool MetadataXMLParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } bool MetadataXMLParser::endDocument() { - return TRUE; + return true; } diff --git a/src/RideMetadata.h b/src/RideMetadata.h index bab39a705..bbf842a3a 100644 --- a/src/RideMetadata.h +++ b/src/RideMetadata.h @@ -23,7 +23,13 @@ #include "Context.h" #include "SpecialFields.h" #include +#include +#include +#include #include +#include +#include +#include // field types #define FIELD_TEXT 0 @@ -163,7 +169,7 @@ class MetadataXMLParser : public QXmlDefaultHandler { public: - bool startDocument() { return TRUE; } + bool startDocument() { return true; } bool endDocument(); bool endElement( const QString&, const QString&, const QString &qName ); bool startElement( const QString&, const QString&, const QString &name, const QXmlAttributes &attrs ); diff --git a/src/RideMetric.h b/src/RideMetric.h index d616a6f84..244c3b173 100644 --- a/src/RideMetric.h +++ b/src/RideMetric.h @@ -29,13 +29,13 @@ #include #include "RideFile.h" -#include "Context.h" class Zones; class HrZones; class Context; - class RideMetric; +class RideFile; + typedef QSharedPointer RideMetricPtr; class RideMetric { diff --git a/src/RideNavigator.h b/src/RideNavigator.h index edf5c1f87..5c7dc0f58 100644 --- a/src/RideNavigator.h +++ b/src/RideNavigator.h @@ -30,6 +30,8 @@ #include #include +#include +#include class NavigatorCellDelegate; class GroupByModel; diff --git a/src/RideNavigatorProxy.h b/src/RideNavigatorProxy.h index 4b64a60be..9a1d5d745 100644 --- a/src/RideNavigatorProxy.h +++ b/src/RideNavigatorProxy.h @@ -490,7 +490,7 @@ public slots: void sourceModelChanged() { clearGroups(); setGroupBy(groupBy+2); // accomodate virtual columns - reset(); + resetInternalData(); // lets expand column 0 for the groupBy heading for (int i=0; i < groupCount(); i++) diff --git a/src/RideSummaryWindow.cpp b/src/RideSummaryWindow.cpp index 0a6afeaec..97b98ac09 100644 --- a/src/RideSummaryWindow.cpp +++ b/src/RideSummaryWindow.cpp @@ -35,7 +35,6 @@ RideSummaryWindow::RideSummaryWindow(Context *context, bool ridesummary) : GcChartWindow(context), context(context), ridesummary(ridesummary), useCustom(false), useToToday(false), filtered(false) { - setInstanceName("Ride Summary Window"); setRideItem(NULL); // allow user to select date range if in summary mode diff --git a/src/RideSummaryWindow.h b/src/RideSummaryWindow.h index 13e78e80f..006bc69b4 100644 --- a/src/RideSummaryWindow.h +++ b/src/RideSummaryWindow.h @@ -25,6 +25,7 @@ #include #include #include +#include #include "SummaryMetrics.h" diff --git a/src/RideWindow.cpp b/src/RideWindow.cpp index e026187a9..1be12f4b4 100644 --- a/src/RideWindow.cpp +++ b/src/RideWindow.cpp @@ -64,7 +64,6 @@ RideWindow::RideWindow(Context *context) : rideLoaded(false), context(context) { - setInstanceName("Ride Window"); view = new QWebView(); QVBoxLayout *layout = new QVBoxLayout(); layout->addWidget(view); diff --git a/src/SaveDialogs.h b/src/SaveDialogs.h index 7c96927c2..a4a250f53 100644 --- a/src/SaveDialogs.h +++ b/src/SaveDialogs.h @@ -22,7 +22,13 @@ #include #include +#include +#include +#include +#include + #include "RideItem.h" +#include "Context.h" class MainWindow; diff --git a/src/ScatterPlot.cpp b/src/ScatterPlot.cpp index c73953386..e68ca2905 100644 --- a/src/ScatterPlot.cpp +++ b/src/ScatterPlot.cpp @@ -151,7 +151,6 @@ QString ScatterPlot::describeType(int type, bool longer, bool useMetricUnits) ScatterPlot::ScatterPlot(Context *context) : context(context) { - setInstanceName("2D Plot"); all = NULL; grid = NULL; canvas()->setFrameStyle(QFrame::NoFrame); diff --git a/src/ScatterPlot.h b/src/ScatterPlot.h index e5ef29690..01274d9fb 100644 --- a/src/ScatterPlot.h +++ b/src/ScatterPlot.h @@ -22,11 +22,14 @@ #include #include +#include + #include "Context.h" #include "IntervalItem.h" #include "RideItem.h" #include "Units.h" #include "math.h" + #include #include #include diff --git a/src/ScatterWindow.cpp b/src/ScatterWindow.cpp index 2637c55c8..2a44c59ec 100644 --- a/src/ScatterWindow.cpp +++ b/src/ScatterWindow.cpp @@ -62,8 +62,6 @@ ScatterWindow::addrStandardChannels(QxtStringSpinBox *box) ScatterWindow::ScatterWindow(Context *context, const QDir &home) : GcChartWindow(context), home(home), context(context), ride(NULL), current(NULL) { - setInstanceName("2D Window"); - // // reveal controls widget // diff --git a/src/ScatterWindow.h b/src/ScatterWindow.h index 3b80072b4..3862bf01c 100644 --- a/src/ScatterWindow.h +++ b/src/ScatterWindow.h @@ -22,6 +22,9 @@ #include #include +#include +#include + #include "qxtstringspinbox.h" #include "Context.h" #include "RideItem.h" diff --git a/src/Season.h b/src/Season.h index 6ccaf6c6e..51d1d5747 100644 --- a/src/Season.h +++ b/src/Season.h @@ -22,8 +22,12 @@ #include #include +#include #include #include +#include +#include +#include #include "Context.h" diff --git a/src/SeasonParser.cpp b/src/SeasonParser.cpp index 82c194624..307dc0343 100644 --- a/src/SeasonParser.cpp +++ b/src/SeasonParser.cpp @@ -28,7 +28,7 @@ static inline QString unquote(QString quoted) bool SeasonParser::startDocument() { buffer.clear(); - return TRUE; + return true; } bool SeasonParser::endElement( const QString&, const QString&, const QString &qName ) @@ -65,7 +65,7 @@ bool SeasonParser::endElement( const QString&, const QString&, const QString &qN } seasons.append(season); } - return TRUE; + return true; } bool SeasonParser::startElement( const QString&, const QString&, const QString &name, const QXmlAttributes &attrs ) @@ -83,13 +83,13 @@ bool SeasonParser::startElement( const QString&, const QString&, const QString & } } - return TRUE; + return true; } bool SeasonParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } QList SeasonParser::getSeasons() @@ -123,7 +123,7 @@ bool SeasonParser::endDocument() if (seasons[seasons.size()-1].getEnd() == QDate()) seasons[seasons.size()-1].setEnd(QDate::currentDate().addYears(10)); } - return TRUE; + return true; } bool diff --git a/src/Serial.cpp b/src/Serial.cpp index 1debae151..d31edd15a 100644 --- a/src/Serial.cpp +++ b/src/Serial.cpp @@ -79,7 +79,7 @@ Serial::open(QString &err) // Linux and Mac OSX use stdio / termio / tcsetattr // assert(fd < 0); - fd = ::open(path.toAscii().constData(), O_RDWR | O_NOCTTY | O_NONBLOCK); + fd = ::open(path.toLatin1().constData(), O_RDWR | O_NOCTTY | O_NONBLOCK); if (fd < 0) { err = QString("open: ") + strerror(errno); return false; diff --git a/src/ShareDialog.cpp b/src/ShareDialog.cpp index 5a1331d1f..79eff6c4b 100644 --- a/src/ShareDialog.cpp +++ b/src/ShareDialog.cpp @@ -19,7 +19,6 @@ #include "ShareDialog.h" #include "Athlete.h" #include "Settings.h" -#include #include #include #include @@ -321,11 +320,11 @@ StravaUploader::requestUploadStrava() // MULTIPART ***************** QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); - multiPart->setBoundary(boundary.toAscii()); + multiPart->setBoundary(boundary.toLatin1()); QHttpPart accessTokenPart; accessTokenPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"access_token\"")); - accessTokenPart.setBody(token.toAscii()); + accessTokenPart.setBody(token.toLatin1()); QHttpPart activityTypePart; activityTypePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"activity_type\"")); @@ -333,7 +332,7 @@ StravaUploader::requestUploadStrava() QHttpPart activityNamePart; activityNamePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"activity_name\"")); - activityNamePart.setBody(QString(parent->titleEdit->text()).toAscii()); + activityNamePart.setBody(QString(parent->titleEdit->text()).toLatin1()); QHttpPart dataTypePart; dataTypePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"data_type\"")); @@ -632,7 +631,7 @@ RideWithGpsUploader::requestUploadRideWithGPS() parent->progressBar->setValue(parent->progressBar->value()+30/parent->shareSiteCount); parent->progressLabel->setText(tr("Upload ride... Sending to RideWithGPS")); - networkMgr.post( request, out.toAscii()); + networkMgr.post( request, out.toLatin1()); eventLoop.exec(); } @@ -773,13 +772,13 @@ CyclingAnalyticsUploader::requestUploadCyclingAnalytics() // MULTIPART ***************** QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); - multiPart->setBoundary(boundary.toAscii()); + multiPart->setBoundary(boundary.toLatin1()); - request.setRawHeader("Authorization", (QString("Bearer %1").arg(token)).toAscii()); + request.setRawHeader("Authorization", (QString("Bearer %1").arg(token)).toLatin1()); QHttpPart activityNamePart; activityNamePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"title\"")); - activityNamePart.setBody(QString(parent->titleEdit->text()).toAscii()); + activityNamePart.setBody(QString(parent->titleEdit->text()).toLatin1()); QHttpPart dataTypePart; dataTypePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"format\"")); @@ -953,15 +952,15 @@ SelfLoopsUploader::requestUploadSelfLoops() // MULTIPART ***************** QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::MixedType); - multiPart->setBoundary(boundary.toAscii()); + multiPart->setBoundary(boundary.toLatin1()); QHttpPart emailPart; emailPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"email\"")); - emailPart.setBody(username.toAscii()); + emailPart.setBody(username.toLatin1()); QHttpPart passwordPart; passwordPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"pw\"")); - passwordPart.setBody(password.toAscii()); + passwordPart.setBody(password.toLatin1()); QHttpPart filePart; filePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"tcxfile\"; filename=\"myfile.tcx.gz\"; type=\"application/x-gzip\"")); diff --git a/src/ShareDialog.h b/src/ShareDialog.h index eb1a8603b..293d3d997 100644 --- a/src/ShareDialog.h +++ b/src/ShareDialog.h @@ -26,6 +26,13 @@ #include #include "MainWindow.h" #include "RideItem.h" +#include +#include +#include +#include +#include +#include +#include #ifdef GC_HAVE_LIBOAUTH extern "C" { diff --git a/src/SlfParser.cpp b/src/SlfParser.cpp index e21e7697b..a819e4a5d 100644 --- a/src/SlfParser.cpp +++ b/src/SlfParser.cpp @@ -62,7 +62,7 @@ SlfParser::startElement( const QString&, const QString&, restSec = qAttributes.value("zeit").toDouble(); } - return TRUE; + return true; } bool @@ -153,11 +153,11 @@ SlfParser::endElement( const QString&, const QString&, const QString& qName) secs += samplingRate; } } - return TRUE; + return true; } bool SlfParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } diff --git a/src/SmfParser.cpp b/src/SmfParser.cpp index b473f4383..cdc5efb8a 100644 --- a/src/SmfParser.cpp +++ b/src/SmfParser.cpp @@ -36,7 +36,7 @@ SmfParser::startElement( const QString&, const QString&, (void)qName; (void)qAttributes; - return TRUE; + return true; } bool @@ -144,11 +144,11 @@ SmfParser::endElement( const QString&, const QString&, const QString& qName) gain.insert("value", QString("%1").arg(g)); rideFile->metricOverrides.insert("elevation_gain", gain); } - return TRUE; + return true; } bool SmfParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } diff --git a/src/SpinScanPlot.cpp b/src/SpinScanPlot.cpp index 645368eee..e4405c7b0 100644 --- a/src/SpinScanPlot.cpp +++ b/src/SpinScanPlot.cpp @@ -56,8 +56,6 @@ void SpinScanData::init() { } SpinScanPlot::SpinScanPlot(QWidget *parent, uint8_t *spinData) : QwtPlot(parent), leftCurve(NULL), rightCurve(NULL), spinData(spinData) { - setInstanceName("SpinScan Plot"); - // Setup the axis setAxisTitle(yLeft, "SpinScan"); setAxisMaxMinor(xBottom, 0); diff --git a/src/SpinScanPlotWindow.cpp b/src/SpinScanPlotWindow.cpp index d8301f43b..12620437b 100644 --- a/src/SpinScanPlotWindow.cpp +++ b/src/SpinScanPlotWindow.cpp @@ -24,7 +24,6 @@ SpinScanPlotWindow::SpinScanPlotWindow(Context *context) : GcWindow(context), context(context), active(false) { setContentsMargins(0,0,0,0); - setInstanceName("SpinScan Plot"); setProperty("color", GColor(CRIDEPLOTBACKGROUND)); // setup controls diff --git a/src/SpinScanPlotWindow.h b/src/SpinScanPlotWindow.h index 628e801a8..511d749fe 100644 --- a/src/SpinScanPlotWindow.h +++ b/src/SpinScanPlotWindow.h @@ -22,6 +22,8 @@ #include #include // for Q_PROPERTY +#include +#include #include "Context.h" diff --git a/src/SpinScanPolarPlot.cpp b/src/SpinScanPolarPlot.cpp index 69e8982e6..1d2793064 100644 --- a/src/SpinScanPolarPlot.cpp +++ b/src/SpinScanPolarPlot.cpp @@ -68,8 +68,6 @@ QRectF SpinScanPolarData::boundingRect() const SpinScanPolarPlot::SpinScanPolarPlot(QWidget *parent, uint8_t *spinData) : QwtPlot(parent), leftCurve(NULL), rightCurve(NULL), spinData(spinData) { - setInstanceName("SpinScan Plot"); - // Setup the axis setAxisTitle(yLeft, "SpinScan"); setAxisMaxMinor(xBottom, 0); diff --git a/src/SplitActivityWizard.h b/src/SplitActivityWizard.h index da4550919..0ae191b7e 100644 --- a/src/SplitActivityWizard.h +++ b/src/SplitActivityWizard.h @@ -27,8 +27,12 @@ #include "JsonRideFile.h" #include "Units.h" #include "Colors.h" + #include #include +#include +#include +#include #include diff --git a/src/SrmDevice.cpp b/src/SrmDevice.cpp index 4c13a8a3d..232616845 100644 --- a/src/SrmDevice.cpp +++ b/src/SrmDevice.cpp @@ -124,14 +124,14 @@ SrmDevice::open( QString &err ) // serial port device anyway. #ifdef SRMIO_HAVE_WINCOM - io = srmio_iow32_new( dev->name().toAscii().constData(), &serr ); + io = srmio_iow32_new( dev->name().toLatin1().constData(), &serr ); if( ! io ){ err = tr("failed to allocate device handle: %1") .arg(serr.message); return false; } #elif defined(SRMIO_HAVE_TERMIOS) - io = srmio_ios_new( dev->name().toAscii().constData(), &serr ); + io = srmio_ios_new( dev->name().toLatin1().constData(), &serr ); if( ! io ){ err = tr("failed to allocate device handle: %1") .arg(serr.message); @@ -146,7 +146,7 @@ SrmDevice::open( QString &err ) } else if( dev->type() == "D2XX" ){ #ifdef SRMIO_HAVE_D2XX io = srmio_d2xx_description_new( - dev->name().toAscii().constData(), &serr ); + dev->name().toLatin1().constData(), &serr ); if( ! io ){ err = tr("failed to allocate device handle: %1") .arg(serr.message); @@ -560,7 +560,7 @@ SrmDevice::download( const QDir &tmpdir, } file.startTime.setTime_t( 0.1 * stime ); - fh = fopen( file.name.toAscii().constData(), "wb" ); + fh = fopen( file.name.toLatin1().constData(), "wb" ); if( ! fh ){ srmio_data_free(fixed); err = tr( "failed to open file %1: %2") diff --git a/src/SummaryWindow.cpp b/src/SummaryWindow.cpp index 018fb796e..6cd95c068 100644 --- a/src/SummaryWindow.cpp +++ b/src/SummaryWindow.cpp @@ -21,7 +21,6 @@ SummaryWindow::SummaryWindow(Context *context) : GcWindow(context), context(context) { - setInstanceName("Summary Window"); setControls(NULL); setRideItem(NULL); diff --git a/src/SummaryWindow.h b/src/SummaryWindow.h index d05f9ccfe..36dc4c951 100644 --- a/src/SummaryWindow.h +++ b/src/SummaryWindow.h @@ -23,6 +23,8 @@ #include "RideSummaryWindow.h" #include "RideMetadata.h" +#include + class Context; class SummaryWindow : public GcWindow diff --git a/src/TPDownloadDialog.h b/src/TPDownloadDialog.h index bc210694d..3b784721a 100644 --- a/src/TPDownloadDialog.h +++ b/src/TPDownloadDialog.h @@ -22,6 +22,10 @@ #include #include +#include +#include +#include + #include "RideFile.h" #include "TPDownload.h" #include "TPUpload.h" diff --git a/src/TPUploadDialog.h b/src/TPUploadDialog.h index a9b09da17..f0121e110 100644 --- a/src/TPUploadDialog.h +++ b/src/TPUploadDialog.h @@ -22,6 +22,8 @@ #include #include +#include +#include #include "RideFile.h" #include "TPUpload.h" diff --git a/src/TcxParser.cpp b/src/TcxParser.cpp index b70f5592a..d7eed7980 100644 --- a/src/TcxParser.cpp +++ b/src/TcxParser.cpp @@ -88,7 +88,7 @@ TcxParser::startElement( const QString&, const QString&, const QString& qName, c } - return TRUE; + return true; } bool @@ -216,11 +216,11 @@ TcxParser::endElement( const QString&, const QString&, const QString& qName) last_distance = distance; last_time = time; } - return TRUE; + return true; } bool TcxParser::characters( const QString& str ) { buffer += str; - return TRUE; + return true; } diff --git a/src/TimeUtils.h b/src/TimeUtils.h index e21d8a939..0ca2b3491 100644 --- a/src/TimeUtils.h +++ b/src/TimeUtils.h @@ -50,6 +50,7 @@ class DateRange : QObject signals: void changed(QDate from, QDate to); }; +Q_DECLARE_METATYPE(DateRange) class DateSettingsEdit : public QWidget { diff --git a/src/ToolsDialog.h b/src/ToolsDialog.h index 960c36213..ca03060dd 100644 --- a/src/ToolsDialog.h +++ b/src/ToolsDialog.h @@ -19,6 +19,9 @@ #include #include +#include +#include +#include class ToolsDialog : public QDialog { diff --git a/src/ToolsRhoEstimator.h b/src/ToolsRhoEstimator.h index 1b78241a9..aaaa822fe 100644 --- a/src/ToolsRhoEstimator.h +++ b/src/ToolsRhoEstimator.h @@ -22,6 +22,9 @@ #include #include +#include +#include +#include class Context; diff --git a/src/TrainSidebar.cpp b/src/TrainSidebar.cpp index 19e81b2f1..50c9f0196 100644 --- a/src/TrainSidebar.cpp +++ b/src/TrainSidebar.cpp @@ -49,6 +49,8 @@ #ifdef Q_OS_MAC #include "QtMacVideoWindow.h" #include +#include +#include #endif #include // isnan and isinf @@ -57,8 +59,6 @@ TrainSidebar::TrainSidebar(Context *context) : GcWindow(context), context(context) { - setInstanceName("Train Controls"); - QWidget *c = new QWidget; //c->setContentsMargins(0,0,0,0); // bit of space is useful QVBoxLayout *cl = new QVBoxLayout(c); @@ -236,7 +236,7 @@ TrainSidebar::TrainSidebar(Context *context) : GcWindow(context), context(contex intensitySlider->hide(); //XXX!!! temporary #ifdef Q_OS_MAC - QWindowsStyle *macstyler = new QWindowsStyle(); + QStyle *macstyler = QStyleFactory::create("fusion"); play->setStyle(macstyler); stop->setStyle(macstyler); rewind->setStyle(macstyler); diff --git a/src/TrainSidebar.h b/src/TrainSidebar.h index 6b6e33de5..f1dd4c569 100644 --- a/src/TrainSidebar.h +++ b/src/TrainSidebar.h @@ -31,11 +31,18 @@ // standard stuff #include +#include #include +#include +#include +#include +#include +#include +#include +#include + #include "math.h" // for round() #include "Units.h" // for MILES_PER_KM -#include -#include // Status settings #define RT_MODE_ERGO 0x0001 // load generation modes diff --git a/src/TreeMapPlot.cpp b/src/TreeMapPlot.cpp index a9c983957..a4c4af681 100644 --- a/src/TreeMapPlot.cpp +++ b/src/TreeMapPlot.cpp @@ -40,8 +40,6 @@ bool TreeMapLessThan(const TreeMap *a, const TreeMap *b) { TreeMapPlot::TreeMapPlot(TreeMapWindow *parent, Context *context) : QWidget (parent), parent(parent), context(context) { - setInstanceName("TreeMap Plot"); - settings = NULL; root = new TreeMap; diff --git a/src/TreeMapWindow.cpp b/src/TreeMapWindow.cpp index 2e971afcb..0f2b385ff 100644 --- a/src/TreeMapWindow.cpp +++ b/src/TreeMapWindow.cpp @@ -39,8 +39,6 @@ TreeMapWindow::TreeMapWindow(Context *context) : GcWindow(context), context(context), active(false), dirty(true), useCustom(false), useToToday(false) { - setInstanceName("Treemap Window"); - // the plot mainLayout = new QVBoxLayout; ltmPlot = new TreeMapPlot(this, context); diff --git a/src/TtbDialog.cpp b/src/TtbDialog.cpp index c5e3a29b2..0df1baf44 100644 --- a/src/TtbDialog.cpp +++ b/src/TtbDialog.cpp @@ -141,10 +141,13 @@ TtbDialog::requestSettings() QString username = appsettings->cvalue(context->athlete->cyclist, GC_TTBUSER).toString(); QString password = appsettings->cvalue(context->athlete->cyclist, GC_TTBPASS).toString(); - QUrl url( TTB_URL + "/settings/list" ); - url.addQueryItem( "view", "xml" ); - url.addQueryItem( "user", username ); - url.addQueryItem( "pass", password ); + QUrlQuery urlquery( TTB_URL + "/settings/list" ); + urlquery.addQueryItem( "view", "xml" ); + urlquery.addQueryItem( "user", username ); + urlquery.addQueryItem( "pass", password ); + + QUrl url; + url.setQuery(urlquery); QNetworkRequest request = QNetworkRequest(url); request.setRawHeader( "Accept-Encoding", "identity" ); @@ -165,10 +168,13 @@ TtbDialog::requestSession() QString username = appsettings->cvalue(context->athlete->cyclist, GC_TTBUSER).toString(); QString password = appsettings->cvalue(context->athlete->cyclist, GC_TTBPASS).toString(); - QUrl url( TTB_URL + "/login/sso" ); - url.addQueryItem( "view", "xml" ); - url.addQueryItem( "user", username ); - url.addQueryItem( "pass", password ); + QUrlQuery urlquery( TTB_URL + "/login/sso" ); + urlquery.addQueryItem( "view", "xml" ); + urlquery.addQueryItem( "user", username ); + urlquery.addQueryItem( "pass", password ); + + QUrl url; + url.setQuery(urlquery); QNetworkRequest request = QNetworkRequest(url); request.setRawHeader( "Accept-Encoding", "identity" ); @@ -228,9 +234,12 @@ TtbDialog::requestUpload() currentRequest = reqUpload; - QUrl url( TTB_URL + "/file/upload" ); - url.addQueryItem( "view", "xml" ); - url.addQueryItem( "sso", sessionId ); + QUrlQuery urlquery( TTB_URL + "/file/upload" ); + urlquery.addQueryItem( "view", "xml" ); + urlquery.addQueryItem( "sso", sessionId ); + + QUrl url; + url.setQuery(urlquery); QNetworkRequest request = QNetworkRequest(url); request.setRawHeader( "Accept-Encoding", "identity" ); diff --git a/src/TtbDialog.h b/src/TtbDialog.h index de2ae27e1..a58a92229 100644 --- a/src/TtbDialog.h +++ b/src/TtbDialog.h @@ -22,13 +22,17 @@ #include #include -#include +#include +#include +#include #include +#include #include #include #include #include #include + #include "Context.h" #include "RideItem.h" diff --git a/src/TwitterDialog.cpp b/src/TwitterDialog.cpp index 8e2ba18f0..089de706a 100644 --- a/src/TwitterDialog.cpp +++ b/src/TwitterDialog.cpp @@ -20,7 +20,6 @@ #include "Athlete.h" #include "Context.h" #include "Settings.h" -#include #include #include "TimeUtils.h" diff --git a/src/TwitterDialog.h b/src/TwitterDialog.h index 845d801f8..0a31897b1 100644 --- a/src/TwitterDialog.h +++ b/src/TwitterDialog.h @@ -22,6 +22,13 @@ #include #include +#include +#include +#include +#include +#include +#include +#include #include "MainWindow.h" #include "RideItem.h" @@ -30,6 +37,8 @@ #include "MetricAggregator.h" #include "DBAccess.h" +#include "Context.h" + #ifdef GC_HAVE_LIBOAUTH extern "C" { #include diff --git a/src/VideoWindow.cpp b/src/VideoWindow.cpp index ffb321c3c..aa726bf9f 100644 --- a/src/VideoWindow.cpp +++ b/src/VideoWindow.cpp @@ -23,8 +23,7 @@ VideoWindow::VideoWindow(Context *context, const QDir &home) : GcWindow(context), home(home), context(context), m_MediaChanged(false) { setControls(NULL); - setInstanceName("Video Window"); - setProperty("color", Qt::black); + setProperty("color", QColor(Qt::black)); QHBoxLayout *layout = new QHBoxLayout(); setLayout(layout); @@ -64,7 +63,7 @@ VideoWindow::VideoWindow(Context *context, const QDir &home) : /* This is a non working code that show how to hooks into a window, * if we have a window around */ #ifdef Q_OS_LINUX - x11Container = new QX11EmbedContainer(this); + x11Container = new QWidget(this); //XXX PORT TO 5.1 BROKEN CODE XXX layout->addWidget(x11Container); libvlc_media_player_set_xwindow (mp, x11Container->winId()); #endif @@ -87,7 +86,7 @@ VideoWindow::~VideoWindow() { #ifdef Q_OS_LINUX // unembed vlc backend first - x11Container->discardClient(); + //x11Container->discardClient(); //XXX PORT TO QT 5.1 BROKEN CODE XXX #endif stopPlayback(); diff --git a/src/VideoWindow.h b/src/VideoWindow.h index de09db037..a281223e4 100644 --- a/src/VideoWindow.h +++ b/src/VideoWindow.h @@ -39,10 +39,6 @@ extern "C" { #include "RealtimeData.h" #include "TrainSidebar.h" -#ifdef Q_OS_LINUX -#include -#endif - class MediaHelper { public: @@ -96,7 +92,7 @@ class VideoWindow : public GcWindow libvlc_media_t *m; #ifdef Q_OS_LINUX - QX11EmbedContainer *x11Container; + QWidget *x11Container; #endif #ifdef WIN32 QWidget *container; diff --git a/src/WithingsParser.h b/src/WithingsParser.h index 64b7eabcb..2f159d894 100644 --- a/src/WithingsParser.h +++ b/src/WithingsParser.h @@ -18,8 +18,6 @@ #ifndef _Gc_WithingsParser_h #define _Gc_WithingsParser_h -#include "GoldenCheetah.h" - #include #include #include diff --git a/src/WorkoutPlotWindow.cpp b/src/WorkoutPlotWindow.cpp index 18410b187..261076324 100644 --- a/src/WorkoutPlotWindow.cpp +++ b/src/WorkoutPlotWindow.cpp @@ -24,7 +24,6 @@ WorkoutPlotWindow::WorkoutPlotWindow(Context *context) : GcWindow(context), context(context) { setContentsMargins(0,0,0,0); - setInstanceName("RT Plot"); setControls(NULL); setProperty("color", GColor(CRIDEPLOTBACKGROUND)); diff --git a/src/WorkoutWizard.cpp b/src/WorkoutWizard.cpp index 351506c49..487e7128b 100644 --- a/src/WorkoutWizard.cpp +++ b/src/WorkoutWizard.cpp @@ -70,7 +70,7 @@ WorkoutEditorBase::WorkoutEditorBase(QStringList &colms, QWidget *parent) :QFram table->setColumnCount(colms.count()); table->setHorizontalHeaderLabels(colms); - table->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); + table->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); table->setShowGrid(true); table->setAlternatingRowColors(true); table->resizeColumnsToContents(); diff --git a/src/WorkoutWizard.h b/src/WorkoutWizard.h index f55de1607..f221350b7 100644 --- a/src/WorkoutWizard.h +++ b/src/WorkoutWizard.h @@ -18,12 +18,11 @@ #ifndef _GC_WORKOUTEDITOR_H #define _GC_WORKOUTEDITOR_H + +// qt #include - - #include #include -#include "Settings.h" #include #include #include @@ -32,23 +31,29 @@ #include #include #include +#include +#include +#include + +// gc +#include "Settings.h" #include "RideFile.h" #include "Context.h" #include "GoldenCheetah.h" #include "Settings.h" -class QwtPlotCurve; -class RideItem; - -#include -#include #include "RideItem.h" #include "Units.h" -#include #include "Zones.h" -#include "Settings.h" +// qwt +#include +#include + +class QwtPlotCurve; +class RideItem; class WorkoutPlot; + class WorkoutItem : public QTableWidgetItem { public: diff --git a/src/Zones.cpp b/src/Zones.cpp index f13700c6b..b8e20cef8 100644 --- a/src/Zones.cpp +++ b/src/Zones.cpp @@ -215,7 +215,7 @@ bool Zones::read(QFile &file) // set up the range, capturing CP if it's specified // range = new ZoneRange(begin, end); int nCP = (r ? 11 : 7); - if (rangerx[r].numCaptures() == (nCP)) cp = rangerx[r].cap(nCP).toInt(); + if (rangerx[r].captureCount() == (nCP)) cp = rangerx[r].cap(nCP).toInt(); else cp = 0; // bleck diff --git a/src/LionFullScreen.h b/src/deprecated/LionFullScreen.h similarity index 100% rename from src/LionFullScreen.h rename to src/deprecated/LionFullScreen.h diff --git a/src/LionFullScreen.mm b/src/deprecated/LionFullScreen.mm similarity index 100% rename from src/LionFullScreen.mm rename to src/deprecated/LionFullScreen.mm diff --git a/src/QtMacPopUpButton.h b/src/deprecated/QtMacPopUpButton.h similarity index 100% rename from src/QtMacPopUpButton.h rename to src/deprecated/QtMacPopUpButton.h diff --git a/src/QtMacPopUpButton.mm b/src/deprecated/QtMacPopUpButton.mm similarity index 100% rename from src/QtMacPopUpButton.mm rename to src/deprecated/QtMacPopUpButton.mm diff --git a/src/src.pro b/src/src.pro index e83bd1f5b..5d81500e2 100644 --- a/src/src.pro +++ b/src/src.pro @@ -9,7 +9,11 @@ TARGET = GoldenCheetah DEPENDPATH += . INCLUDEPATH += ../qwt/src ../qxt/src $${LIBZ_INCLUDE} -QT += xml sql network webkit script svg +QT += xml sql network webkitwidgets script svg widgets +macx { + QT += macextras +} + LIBS += ../qwt/lib/libqwt.a LIBS += -lm $${LIBZ_LIBS} @@ -139,21 +143,16 @@ CONFIG(debug, debug|release) { # Mac specific build for # Segmented mac style button # Video playback using Quicktime Framework -# Lion fullscreen playback # search box for title bar macx { LIBS += -lobjc -framework IOKit -framework AppKit -framework QTKit HEADERS += QtMacVideoWindow.h \ - LionFullScreen.h \ QtMacSegmentedButton.h \ - QtMacButton.h \ - QtMacPopUpButton.h + QtMacButton.h OBJECTIVE_SOURCES += QtMacVideoWindow.mm \ - LionFullScreen.mm \ QtMacSegmentedButton.mm \ - QtMacButton.mm \ - QtMacPopUpButton.mm + QtMacButton.mm # on a mac we need to install the Wahoo API for BTLE/Kickr support # This requires **v3.0 (beta)** of the WF API which is not yet diff --git a/src/translations/gc_cs.qm b/src/translations/gc_cs.qm index 25ebb8d2c5b9a2261efc3a2c6ad5aff1d2567a12..f6bb1fa999bad7dc74c7b8d370b6993ee0c36805 100644 GIT binary patch delta 7703 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 Baa#ZY delta 9145 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 Y&oY0iMzH;@FRg7}YkNJdkXZ5m0EZT~aR2}S diff --git a/src/translations/gc_de.qm b/src/translations/gc_de.qm index 532ae3064c50014c53103a9b128e716b27fe1243..3886c18aa689768695232e4698fcac05bf9d6098 100644 GIT binary patch delta 20439 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%0De zZrX*ZA0MXOw7Vzj%M-PmC(Xu`*4A#R_84UyCxtxawsuPm8H*REwObEPM8+%$-ftuL zsfj|~w3ncFN$plEZshF?h=vK>wA<&FAU3$acKf0Q*yU72A)h=+n`U((c4MtV?zBtr z4{vSyeaOgFf9<}|<5)4j2_j8utJNOLS%;80MVl1~pSOCj_P9%TSdH)66Tt_G&O0lV zsJqsB;(8fk&z-a1HU)!xbu zLh8#G-ZkJ+uwEr?7zB2fFGQ3zJd?rJ~8 zBp`UGqWuD?r&F2QuP0K7SNu(Lzsr@?)!UPaP}Uyfvh%f1)>%}XA zC3L+)D`Hz{oI)%4E>I4bYP8_#428Ugr(oSJ3MG@LPBAp4EV}UAix|N!UEh8ZQswHp z$TDy_fl0c^awFliPYF)1p^K~tr#yDNF7m`4EbX7wMHgyLymMn+bY>zxO)uT3tjpL$ zW@u+Wz*@q2LGLMoKRPO8O-c%$whCTy5WK4ud_P$suYOptZeKxd*g_8Um-Pou%sHFGPjVp?8mlB~H-#7@XtB$(yx4q%3#_AGdU9d5I zk8WPeTBsW>(%H;)P{_Kfvkfi^`w^wHT^NiAE=9M{1420as%~-37Q|kv6!IY>bxU=b zB$@Z>Ry^2_ihI0no3#((o2`p=X^E%}{@zQMzI7}$biOBM1`L4y9H1qU?|Jl#$3o>`$}2+~>YFOVEQ>-J5}!vgd@UB=>A zgaw^+8M$DkSl!_<-Y^`p?iiVgt?Q#Z_N^}QcU5)SUU`_Y-nx@ZYhZ7|B;C2E*r=LQ zT=!r#!j;ZPbdNiFBR9XLd+HCvbzzr6ZcWfV-HMs=3(>uu0!y0F)T(>u+nXpMRQK`O zBVxmr>+-{D5ry8?eb1>(Y|be?I|EC2`J+NUE>_RZUB|gqAs;8{xej{YBTcWG<%u%L z9KCi5yy(Q;dJ%q9*E=0+0d)@4mv+R|%cu0^H-ATgi1bw*p~ePlF@3$a=xNvXdJjKG ztUr$z9O$TT^cg+Bbyy*vTwmX01_G>C>-GNK?jTXL>DzyKfDtF_gTBLZUaP6^=-`aB z>5;xu<7UK8)K@5}8tX&qyI})-X??dS)MG;Y}foPg3-Ke7hr5e5CK&FB2JOYkj|VCy*ky(8pf#$BO$C{gB$h zDEp4o4~c^F`FvSF{G%W7K1uo!`B2AF?e$|T_e89;0hAgP=5TR&xEyO~kH-FplcUC-(jr`UXoK5fltVr2^Jm8C%!lYV~^ zy!fP|3R$aL3Z-I`^!s;zgiq_Q�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 iWDujq%a*oZ{P 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 diff --git a/src/translations/gc_es.qm b/src/translations/gc_es.qm index b88ae5f1b0c6b4f81325c0bf65173fa0ca33a117..abb146fb5aab8d3c543b96ea93313aa55c1507db 100644 GIT binary patch delta 21542 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 J+EU5t{|`XQ9>D+r diff --git a/src/translations/gc_fr.qm b/src/translations/gc_fr.qm index 43444383b7d74045d0cc4c256c61791e53586fb4..b5a7577867c8b2c0b6ba8b79b6d58da3ff2b76e4 100644 GIT binary patch delta 16403 zcmZ|W2V745|3C2e=UjUm85vn+MIuo&5lTfWl-V*f?`*z}htXm82@n^6mv5bwPg4KLj7oYd# z7HHrOVhOWRB6yO~j(>WFI|ff?PEVP~O&ux9>i_1>>_pTF4^sCLG-eWwN11fWB*6{k z+qnlZ$C_Ms{DJxW+!pTD3^SVqI}jv&RF8Li-Y1{#;aOyAj3{3mp!R;QI^VCs;_- zyDT;8%?NVA@=wA^2mb?V_v^vIys_8*07TfxZ6p8+XtO z?%;NRin26+Z^%?`Mo*&n!9>o;5y%=N7tGq_ag&gP=JO2WSsbL{;3H8&KVmB^iAI|L z@SrGbj55YKOG2|UyW%NPqWMM}iL!?17jVv2YEj{a5w*@1Wkc|^=i3uo)r=&)Jb^|}S+LENRP^-t!A?f-=VzYOWbmJOgk5n*=sO@}iD!y+%Pg})3 z)P`GFp8K}3DC?}_W+rm?R^h&^1kVtQJ4VudUMPRfMe%?-eHIm}%;i?c9pVc@JxhqE zO6)DlJkCN?rnH~jXW`t}4x+3Hac}<+6=XF?dbR+SJB6f|Y={o67G-;vzz!(?DJRVb zXciYpT8uV6U_IAZUzFW(BwzEC zdT@IOamUpaWo=t>(a#6wMJjn(vA{MZbWX1$ExpPXAjZzaE^^s(w(R8#?B%9_z z^tQVwqxmG8iMp{cfn-Zg5c%B^Wm=?ua4TszF4JeYxjmi?Zng$u>_U z8uyH3TLz$?s6j^a0ejt=WIK@qu0Ep76&Juc^LotfyoTE+gFA(PpDjifo4>cb4|gq| z%zU0*o_oCk_w^8xeQyDjqv1~I#F|Nd35XdsMF$w#F{tbuG=jtSOmfXw1521d_b)>QRgwv zM5S*;+4x}UJpCilr`pu{OcMJ2>*W0$mGiTdd~8vPri77Ct3_yrqqx3%xrhGX9=;v-ox)eX4;HI77 z9(EID)n-!{%@U%#%H+Eg7asOllx10w?~e(@UdYM!r!@i+NABww@>8Km${!}b#cC4N zw$K<%)Zz>IPt77a-IBWbVTc?)m%4q%0J3Ke1%`wWot;KOlV%VrUPi$~j}v>+iu+KlufgbdJBfPC$Rf62Hucz^Pprp%>Nz|g&3O*j`YN|YS8nU()YEAG!n6>c zko|&t@vSJc>%wh&fZM*5+v_$rZ8CRS0e7J*cNzadw&prNzl>2Hzr+5B<~~?Ty}si? zW}YQu$gDlY-b9gEL2p4JpHaqMow!%-i!x0Q?u~sE+6t{BaDRM>T-yBhfYVw)PZ_WEkm8!#64Voxp=_peWO0z(B8Z5 zPk*DaG)AOZ6I13;)bK0BavW(`Dk2%HeWGmaXYPz}?n5~ZTa|#OHlAV*?Zv<%q1fnj zqU0~!w}q7OR)x6o2KRgrjTDgmD-MbZRtG3?>06@Rn`!*aY{VY*jr<^FJ$Hbd`>v5F zYc!c__ktTRmfJUu+mC;r^~>Pr{q6qrD0e{6pT6XVP2+~w{8M8#KZpqU(} a4Hh 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 delta 18780 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%0AT5Ab5HTJ|p@b$v$;^ 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 B+w%Yb diff --git a/src/translations/gc_it.qm b/src/translations/gc_it.qm index 18d3cf9cf3733a1a1b29a47fa4da5ac673fcfe5c..34482cb29b985a78e630ca9f66d1ad2d43a2faa3 100644 GIT binary patch delta 21232 zcmZvkcR-Hc|Nmd-T=#YF5z3Zq5i;K)qC!PUlWY|tp)!lx-aENPw#<;3Jwx`$-h1!8 z{hnRt{rUbrZ|{$P9@llQ>ps^Ruk%{xWLlbe$6J%teS1{VH$91b z1Bu9qc)P=31)>Jm6tYF56mrK;g8njCl_<$waPi;wC)1RB*2pS2C`E8Vvf!nP3i-?v zL{?P5ZNpGd4HZQQF0Leaa+gBZXqn)kY{3Qd1TXn1XX5*+5ya}1CXyQx+3+Ed6&xXWyo^H5h6oO-AvhNe!+ZQJdICyC zzk&Wl&5D6-h`C(>f6e0GVE96PHz*5A6T?Aje2g~9)MiJ!6`R{EYULp%KgpTcQ`!~M|?l~%W z#QH^CVZ?5S2tGqO?)g~ALq4bV z0wFJZyDMZ*4}rgleGE{@hd4vdMq>V(;0J!Qh?<0f+aLqS6tV@|!5revClR$;Le#V< zk^e-Z1rR3xeZ)ewM1g3Ow=YqfM#PIALKtspKY5M4Phc>4xXNGE(K7d%RAFnS$=;hu&bgcicwHWr+Up$yNTbM&+=KI~MI zsNHCy@0S$v22H^+sOLMFOY9q_0OUy!+K7(CgW~dOCCP3wE@FvAW`Oa;^93;itzU?_ zjra(5C2C)V_zehI`>nX2L)38#c!H>>H_`mzg6HsVOdq1oixslGRf69Ixm`Eqp4*A{ zcmaGj#@dH?!Ls5(K~#kc?jlucyFRkhZXWdsPL2*@z5p2 z-i;yFuO>BN@k!pqm@mj-4wPFZy?*^n= zwS;*3E)b&~*^#Wu#W5xdPT33oOi;)w`U(!s6MPq_khhlwV_gL^T7t)k7e#|sOT;GB z7M#CtF_BT<;p4)-9FbazmvX~Qs zgH3{$;uLb*A;G*pq}ru|)H?}IoZr$Zc;)_2dKAY7vF(xs6nxFmH*d2xNA<1^0I&x$<%dqdm#4=;?tRlItcC zy&Xq#y%t2tVG5bEMX=FPLF>X<$_1Z=2W}OJeR-;o58XntdnlHqn?h!-p^$&xNU{$a zaNwulkye67vjvY$6g=@nA#00z@jjnhjN~vh%(y`?b(2CX9jv2Vu!p@Ba<@@}lfo5B z1&@>5BbC^Xc#;#Mh}8-td4Qg{BYHG&HY&VD@`NVDhJF{Eo<;Ix2%p~xlBZ`7tM5wk z+`~lUdMRW}as|It$fuQfOFyN6M_(g39V5`$o#aJ5h+2j!WVOdA-~-8P zpjr<#C3$TZC@u^+$XB7^nV726YhZIEOocDWSr{oSE`>eN?Cb7M%(!O*ojPx4_EROJAYj~yhMagyXakk;n!Nq#gL)-ZtN@1uw> z(~-JxGhz_XeDbMtNsZ-4^H-5NU+RyySIC1|$|!Og@Qo~EMl4n&P7Q?UgPAxe*_*z)%znTk=#wT{HQ zb|FVgZQ`jtsdQ~WVlB=olqy@OOew61;bo}om9H>0J-;Xy{QP_>`!qg#C|1`--!Ce3qK;iNn40c)FeOaoMlA&a>(xshQ7bE;3*G< z%x;R{u5j|h%H*}qQcJ^JVle8h((u8J9~JWUnbhk0NQmAFYW1T$6!R&CY_L1|bC|D^ zdEg;JKQgT&biD}_BcNUU8Th4(o~WYP&XYbe+*LaH3b`bn^ZI6S->ANzUz%VWt6E&N{rd-#&WigPK7#Y@C>%XtE-xs2 z{a#}GA5q)gX~ZHnQrmCnsi#EkVl#;13Mpje4pF;t@SV@jp>|WY5MPVu`MiFD+Rd#1 zJ=%-ft-vzwY@>FcAl%kut8&3y>;)S)7hF_XA)hsgBI-pGS4|ddIY_WgJ;AoA6ah=X zRYxhJH-xI_Zoy{P1X~^w{B~R+gAU1mk6jV(S=pogqTsctfUABh_q>5YuyI+zmcIns z^b~A+PH^&U!5IfB0;Y#AX+RMx=fe`{C}I`vS2d%EJ@BPZeW!?=z8J|QLEmZlgsbVi zo!T2J5RHCH?IR{agZokY@xO?M{#M8eG!Q(xhB^dpCiZO-br`)BF;x}8T7{|OWVk2I zk5k7@tBBQDM;&*UBR2QG;DVCWc{_aJ`Qro^w4ul`q&%H9FSxdb~ zz*F~Vs*slz_q_2raSz9-_o4(StT2k(y%k=8mHNh}5arBL$dYm?;gycq9fLwX_ADi0 z+3}Eif-g%@V)QClf}1pG29|HSCk?Tty(0Qhf`*ogBsOmm4a@II7qehW55csy3R$v~ z;024|)#8FbycKe7<-fU2Q1^Ga?zFhqhyTq7f`)jq=6{eIeux6&L_t%Lzqv%vT;*?W z7PPqk&0~Tg_Y_Jc-Dp_;6u7Er7^Z;IKhW?lqlu5KPF73-E$B*<4wOKs;zZLd`Nk>B zO4EF>tTwiwS*>Q0M46Pb0=l}gBc*!h5vx*%=9!?Hmye|dYoVw*cT_0xpR`cI2bNlB z(X6qEccu$|t4@obRD-jgOsi^CN8lAkYeqn}e3(L3@2TL)OM-W->&3;hD}uj^D&%!t z1)F~t^q(OZ)?BcCJ;8B(1gD)8%&-c+*g?y~h(9U9suYVOp7V%RuX751K`wK9goc;4vif@*h~K)x8V&a( z-gF@I{+b7$H;wuC4k4;Pm<3p@`BLb_0>&OD?s|y@mFSEqc*(+hLSy;fSIDkdSU(+H z%f-2@-#0YieJd8f1{JukV~J=8#keZuz48QC*JXo>HYI+d6-(+^AFE&>OX?2uTfQk9 zmlH%R`Y4+=7Oq};e>UCfn@v)Yzu2sukm3=$S<2XI#4m=j)R3;k_itx&1}r4%mn4|r zBRJ5WrF&vIIWo3zpfdvPr-CN~6>`sP!Cof8RWDe^gJ5C~PHaW()fm~iZ1wB0#Ov&3 z)^#-^Nz$%l+X5goKl`v9QZUiTyKILxjd;d)cA&chNxDdOs6T{e^EUS>Gmt|)kT|l}bmR)vnC)VpVyW(CGQ-Tgvr@h#Y&(_e`> zUSp5D%pzW`8hbn}gxHN}_O$I+qRFM%GtY&@IykepQDcd~*_TL+%-TZin>$uP##D3)6Lh{YpiT(Tp zAv%76{XSlSxKmFq8{m=!wdRH2UW7ES<;D9SCw96icl^E#0hXGVo)tvg@)_)gG{qfo zDe(eM;3hDe*KlqJFZwaBopB%bJ&D&j_a2G85`yiUDP$Eo^7^Y2vHlz15f=+va`)kz ziT4=GJ(eRYLyfq{&h5n3MRCuTHHc^WaBo*gZ^c=>`R=_W*-Qhc0&&-ASo-}}GJ~@U+ zXcu4q8mq*$72lYGkty1dZ$*NK7kA>@T2CW>-<|L3j`hzr)#HbTqlcefD&#}v@ohetO+9%K;D_4tUG){~zKfJU2KfS+IY6pG|2zYzA2Sct^07oSbENX75C9U}UA zgWrigO|;@1f7}Ek>NAc%jekI_V;%mi+c9Dd+w(Wddz1JZs~?1Ax(oj}8VR;O-TCK8 zNc+n?{&kCn=y^5%?GolLCYk>_3~7JfSRtRT=D!}^CyqH*IK92ZwLjs{`$$sYaN@VC zO6rnWMPutrY7eZc16?IkJZ!+sU6Mnm-^AaxmWqwsL2TJt$y)MY5#pD!q>``BLE$u$ zO3yq<+-{mwCL@Y?nzK|xn?uy&kyI;gJ#p_IQmyB3ovQDV>fLKXlHN`FE1?&$=DQS1 z6~9aFIYVI1pGqFv1Bj_dNzJc9CVF^CEjsQX`V}j+&XtItoFoNTN`ujIuu8#a;UqTn zl|piI5alkBLYI3InVqHZ4}U>-&yd<)LdaCEnABk z`=wq8O4urr`jsz_OmG*ezjJ*|=_Dz!Y6Nj>n3OaL^$+bX4WAWFJYcdkw)q3%cdc&H zcn^fjz9ppTk_$2C(b9}(W|GQwla?eo6775-t=fb+{Wd@$D`TgS7gb5CpKnHlG+4@X zG!su*C#@^wNm7ZM(uTeLh@~Y+8}{FUOV>im+6SxYWhdC8ncx$qkXbJ;6c;!11fK>8 z{`jhpdwB}_R}c(6DmeO};4~M(d4&Y$50JKJLUCPMAnn>Y6duq!X;10V#G2iZ_O(Pd zc~h>mAE^m8EKNF8Z2(#M%U4oPxk$ul!=)p);b1&GC>{UVgjm-Q>BMwsuCXHo*N#)j ztQ`c;w2<-|V>wODkuJI~CYI{{O zTBWz$?vP~MCw-_6&u7do>GvIuoYonIyg_f3d>rdu_f{cqJRihV<>V^l<%_G-PZHto z-%;s2td7LIEGpBF)5KO*QTW~qu4 z+X8#uLsi7LKk;5OROJmB#CH8wm0!t8D)>oNVLyi6vRqZQ;2PpjnX0PSYGgpXR8_~L z;o+_-7wb=GrqVrBwfuh(?`~4nx&y^Bp|q;@-tt6GKB?-YT_xUft*XIz=psA|m8PKnX%0G7q@oV>0t?#2jKVPZZ#7rZ) z%2Yvyg+xP6tJ-qpzvmoQS-Z`J<8kPlDtcfvG~p#x%-f~NgcMWt%CFeHo+@_G3}RCU zs$wU>%zkO2kPl53e4e7}bK@$k<6KqzhzrC5TPoyh!d3Cl(9`t;R70~mA%){DczlmS z=KoD0U!Gu94ZX~u+v}*3=j|lg-c^;n2Nh1pQ4Mn#Nh~Q&HO4#|;kA!KW*08FWvXhd z56Z`CRpVp5(L;CD#41k2;wlNQ@K?y4HwYf;p_`e{ z%A;bqXs()ij37)EK=gP_Kh+GU7D&0QP|akEi5?wL&72fK^zNE!cI7%m)AXv;;Bv%f zv{t1~!*c6VKsDEQH?sF-6tV)p1(#G2JT^n{6BqosSs}MZ3|B6sqE4!`I9RokK7!pI zD`X`GsTNOy0@>%QTI$(}xaU{Z(iAu#H+QI(AB1dVMXFZRiy-!FxoSnL&jjz7?odypmdkBbipS=cz@MT{I^Yee(jkx$hYfRA1FDLpNfDjjCPgBZ(iGs5&T(hkuZwI^=npc>jf} zL+9?pnw3!HDhC>yXRo!`VnAn5Lf-ftn z?pRU4S#70&`>YiV3>9qaAUJWY>h8jFa3mV49xp==!v?9I*U-ajZmD|y^8@jPZ&fdj zp!|Cm)%y*0#4G7lU)!IB+kQv&D{L%rN|c#j7x)o5vgG@fnC*#R`Z?Jur^BTxvQgGV zL6}PJlI@+mF+_jKg;$-!*0Zxh7H<$-HCG`o5eHtx^X_tqk7>j*ipV8rWWu%DCYQ`y zM!Z8Axk4!i?C_42tKPs+zj!aZY{L8PB)J-U2)BKU{1=0N(Me;K-P$K(Q|zehw){M? zg}Y?8HL&Ah9&*F1Jut_6WcN(ya_^V2`v$1o@OiTPcKGpAZVP@LqmU21CAjRO;PX7e zuUqBj5qN)U0m1ZAvhU|xaCm;me!t+*aO)0n;k!)^NPxyFnJkAMPbAvdR1V98XLDw> z9Nr#&y*roN>Q})^9+EqrhH8C$NsfF1hom}}qx(E1cI%izUb4R6m=$tQ?G~i(`wP0- z%RQT;euqeZPk3|?~g1o#te%ErmLe{9cyd3(1{G;TR>=5#T zYI$W09FnsZdDT>Ou&blIYWrB&|AV>mn#qSy@npf8y%n-9J>@moJ1{cd@|tgu{zJ*~ z+PWOc)_n z2pXTt>!b03!9nu+owXr!jpZ!2{X{Owa#nrx?9eWGQ^Evd)wT)x)mJE0v6Ht%V<;D` zQOMm&3%33w7@jF_#Re?R@shXA-HHTdx}d+S;E#p!HY*;mH*1svu9+^_YKdTwEZA;} z;7n(E+p5|`nave4Ypy~*V1T^8XMTe>$%ig}BsQq2eE1lIulgs!nz!U5`CH3JhRa8> z|H-bI74n-EWovFj4E>pT^68_{e8bwvXEGy+Ex#?FtzQn(-Vl6`49OQcZ-+#D#}N6# zI=JNzG8Ib3c=?k2o@n(*h0Jw^d>Ltc-f+HrWmhjm%SYwwRp5|3eIs9Q)dW6bn&8^o z^7VYhwRF5yzHPWi+-<91;70j&pT$@fUlsBJ>*V`|_7it*Am8^2ApYARKkN@9RB@C1 z6gfdw^P~Lo9vaxyUVgt9p;bG*{NZ6;qNJA!*}_8dH)T~VmVY*MKwj{rLSB1>LWx^9 zsaegk#C6}*tUqWDSL@3~5k(A9n=-Z{i0q@bD;J2vH*RXX@%XUwD|Nx1FgiO(U8K$? zV(ky9i+6Iz^4zU<>RlYt-CSL^!U1Bw&(viX<1kL8(du&b(V)iz)%m_5#Z46K-%Ze( z@LpZz3RL37y=vDu=IY)UzUsjC$RnOwt8TO62JtKR)j_q8ReMM3wnt#@7j{=i zltXN|eu=t6g8?W=o2u^Qg_y7XFLme1ABcY3Qg<2JjOhJUb!4rth}+Mrqp(9p@BGy< z_VE9^d#hs$?M0Ajr;b%VI9=T*yb#g(V(J0aiV=I_3)L$iM#l!M_$Sx)~d5Y$;DGW zMhi`L`J{TvJfvXE=hV~Bcf-+=L+V*E!LWjh6!NbF)w7c95PqkCBZ!SVt)9J6MeOw` zg?z>^b!xc**fVdhPPOJck?GUab6-M8Y?l=BSDxy$kC1`WvFdq_5XSe(>Lm|gwYslS zFMXa$)M2(dqwz|j3ohyv-GYe^+^Amp7-_Y#ch#%HaGqtcuR7lcq(Obut5fPjGxk$& z9DAQwfjIS6_YiF3Emm)Hg$%sArS6=4@d9?IqSd=xs}no?O1-PmUBu_b)raRJ6x-QX zedH$Q%4?cJsqB4qt~*Akn4|hw<}6}EuBlH%q2ja?>a!b`5I;CXeW4UI>Cgr0%bw#9 zw(m&^tz6yuric1w1lsX9Pa&T&U48pq0py?`sP8r1h%~}%^}VNOiS=nLnDI~{uP{&j zury|VeQou_nmNde7F9ny*$ioeD}rv_)sG&wLz4ZO`uTN4^B+p6UwxZMWNfbfF%)X; z-3;}weQ}WS*QGTyZYN2W7>(ipB~{Q!lP_T7<%CA%^@}7!BTex`k+6016*BkDf-{Vo z(lsE0w+d*KyhyuCJ_b#VGiXhOchl3Z=3karxfY3qB3c;il* zwkNDlus3~2)2>z)vU$%m?ZTE4g(WCtxz3vQUF{L`HrI66`vBRy&4R0%DCE^v2p+zs z>F@$F>v~<&u`opN$y80p4zr1O4%T#>fkl}#Snx#~g;J?Lnoi$wB(J~Inl_f6byFl+kC zP%me;Yx*vM12ulLrr)E9#2c;AB<+Kr6HrByjE2$dXoYP2YlS@FqGp8jjM%9{8tcdl zSR_p#?XToHA|c1 zVdEy!s#(!t6c)!b%{mvE$fDA$H`FHD^IfyKUL9YZeiUiE@l_iDAqYNUZGU7i{_gBTSzNu?zG8Qz$u!ilZYhM5zYH& z$B37yqxsSuDW16v74larG~Wuvz@wY1`L@;@k>6o0y~hYfpI6AQVJGJ~M)K)Jt=y{+ z9JP&F`*IhN1NR%KEsWo>iRD2A*OQ8C3n##r-4>@Ux^_ACth;EP-Yz2^m830`3?q7e zowm$yGxSskZMlati2pdPt*{op>|f)xRnk$>cu#FroD^V(9&25yKtE0$q;+Z87}>#a ztxEueG2npUn&t|v%)Y#G!Rigxy6i|qhPI-%`lK=>Rj8?TZJ3CChyq&IwX=!sanZVs zSPgGJP9Y!DM%&;+9!bS2Ya2d&jX0*TLOw&*y5IOkwEV8tr^!Y5H`BDfm9UBe`fFRQ zTtlqHTCM+JWQ2~j(gt*@ULJW$jW(q5X<|*6DU_VPXv6BvBB|nbZCLC#B;9_dtgBYh zdRnWE@VCdQ%lg{(`Zw6>daG?e0UbSK)OLu3%x$Tz?R*c%bPFYEyVmZ30m;#JTlI$6 zfZf`tj64{1rjX|?)keEV!q%48Mkj>8ds(gR>6?lObgH&@QWCa7YAEFA&uL>1#$o_- zwF$}lkqjKjl?#5Mjy8$5;6MmdD3wrYlgv7--dPISE?GOuAB$+qLG2{{UL5?0(oQnM zRDRu~opc5{yV+Y6vQzW5lbx;-yL(U}AKzCyeK@?GYEQM(M}|W7y|pu8CbhLqGUsiP{yj>f*z7 zv}^7^K;q|(cI`b(N$X?~q7*q@n|Ttp=E_Lzy27`hPR?l8ZNrqz$kVRd-UV5TAKLZf zXJLrTYS%xXj!l3m+6^ubiN-8d$d~=4-B4X7w(hVt%er?gvHJtHS^0dCt&r0jL7#qt zt@j9q#|Tc8wVP5)5F3%B-84T9=g#^l%~OWN$akfF2A+Fg-H zagNmpB9067&{}uRg;5L1(e69D8czLDZB8t#>Y7v9qt2b6f6}zM?e-#fR$8H?o~X^e z>O|~ATW#(QlyCT{&Ap4*eaKwxv9lL2$Mpn#cPNyc?`n^CgKIo=p7uCwEvsnI9*-J@ znE#FT#C42(+6}9?ICDaK#r&QqaF6y%_4mYMJ87@=a>mwH3+?sZOQFH-v^S0+k+Wco z_CBHy?)6mrVqhSw`vL8n)(P13YpswC|E7>9e%HP&fMmkJciQ)jB8V;NseRuUiKPRN zv|q3)D92y>Eq5XOJ?jDOk82f(1y$0iQ;%Wq+)<~#2*<8`Po3Stc~I>ib@pFFagwB@ zu9UeAmiK#IX+LP@2Yqy<7j`3hb4ypoyBuU^gs%L;IE2urbd{1$!*}ngtK9q|@p>LQ z=K!dSJXu$L2|8jwURNuAEYc#=b#+fcuUU(}($#y7(6;Xo!T45!1B&b1QkEhmHcrN@`(FtS0b6JAMoLrU<^7t&rD^5p;i` zP%7x4i^So27S&bzp0C@ z0P{c1Q5T!L1LrHUba4f}kx?3?i#s?8Q?*n#H0L6gEf@6aBiLfJ;FH4&Sv_yT%hy0F z=H|9|fj#Rh9{e1nkk|Pp=)OwOYpbAtC&4hi;MfqsX{mzqTI-TVzQC@<3EhZ3&?_t6 z>P8j86fVuyjcy!@n>7_qxPCt<)X!`iLQHq&vQ-I(~Rqcjht99AB4p_g27B>hweR zFw7U*C`ELS1EBG4IVj|#f9W1)VZ>S%*S+w@D(Est_j)2!@=0&qo0eFv$?tR@o;)Bn zdbRFL=L{%5>qy<#C|9B`mvleQRz`eMPtQ)J!FmNNM9*vJ8+}HPo)lNer<~P$OoxkiN2mAHK-G54)dzIE zh0wRBzRj0=7?E-M&>v96=j`-h_KpYukLtr4dqUxyP$=mZ=_B0g;EyI2>pS*AW~!c# zzU!pXhz_djyM^vWptNC_J~F2eHv8T5QEn<&x%>JkcYAE?6xK(bJ%vNj-4*gRsru-q zkmk3C_0cOagn{Gq-CK5oZ#zNXqbC|x$w%KaFqc@F7=7$H2^uk1AAcbL+bBi!i8b3H zwH~Wa>?0#U>Zc#{!Jl~V>-xc8hhY5|a@LQi+yzpZsUNehJklGD^<$k6A^9JwpA-+3 z`ZQWUdBA?6HJA0%r)(y+_m_V9(#=G@is|S2rW1{j1lMgB++E^t?hxEFTJXqD!Q9CT z+3{syvvlGfTa*I+^|?ZcSJcm&37x*FuYU2`6vW`a^-CYqymzS3uvtmQ!2-YQmF-%mX8PSz;8u*vRLB|&N~QMecW=jg)nfJg>t>KtJX)XQb_|QvtdJGA z6Re-6(8{_z6$RE=f;VFn@}*3ld-O1p5kK_D=E4jIeHQG{ULm_#RUuE@u0K8kYQ|x# zV7<+P6K3j9>R>YVwbY+k?S>r1W&OGIlL#nZ>90IMYM|>>{oNhEaI8~PUjHZ)vN$9_ z|J;gIdp1}9vPcSi>G}FM=|OOLtLQ&n3B_@*`}!}A&>I!@hBQ{Wn()@mk;Y zzluUl%rWbK`!0k@st>LQj~bW@MzZ@H1Dj+<-noH6GTCF#;fF!x7EFBPbAx`f6+^RT zw87|+hcwJxLjkNpmN&p)UuZF$Wl1p8S0S&l$x!r71IThkg?wg5gQFKG>e$ubd;m7C z>{3IOemEM?-re9L-@=F-Ft`*)1p98Dp`ob|5uG%6WVb-_WR<}u!%S>lnINA0tFwVCZ3IVDbQbhKEEqP{kZgka-;`~zIxj??xU`__XN7E8q+wL0`^5W9F^pcj z73rQyhB333!b!eun3C2Bo?bb_R0#@sOtfM8O{9S$;|()B8xm_gP;gO@)i8TsV}!I@ z4fATJ;Lt%e!_o%tk$B!@SoXt6{Dx#$9*p>;To=P?d-Q1Ic*B~@GD(gehRlGvh^aRj zvKC^;{OoSS#w6rzs<<0A52*mD&oXRrz+awaT{3L*l953xY}kgFo_SOSF~v=af}xmZPSnxDD@6(MpEf2AgprfL0~i*Gy@y}-UP>z zs; zBo$3HoZpv+DGoPWeugQSGS6_QC7y5gGu-LC6~{VDGQ*vn_~48b!~H9@ky(0Tc-#Oz ze>KhUw8|CYO(q(iZb4R}`Z~k2tl>B{8EbeYHzL-pk>O2q3ER2v74novhPM}dFx2Y= z=k_;zIr|pp$gG0B8yLQB+erLNkm1*E2=m$2M(T)T-Mn%sBSpg$^qX#E-|^=@rbR~8 zykZV4qEZZyOGiMu% z-M~l;wKtZS8ih2mo3X^cXrgdGqocDQV&gGJ$Gxz15%-Kv*Q{fZ%&TB5KM%|1Xd|O@ z?Sn|!k26+j=18=wwb3OGLN~sovD$7ZroJ1DwFe>O^f_m&pM-elaHz52b*%Ha6Gr#j zXkfps#zqk(h}(|?+Y>JwWNg&M0QX_Fu~Bz#qUYm{jbaVN9f}(p^#Kc|8yi{s<`--; zHo6^0T)Jay^a={5>;_}gF{y~i1`EErtdLJ`W%NQhFEhsI>s}WPn{Etny@Gw?Y-2zz z2aP)e)T9UZG?kXtW0PMeO=9*%*}5n)vGB z#*hZ+IrB1x2I51%_83FEHbxp#uTUz}(b#$FA)?Sz#%^sLiMQl}eLRfayTo9ZrIN8% z0uzbrxR0lihfXs>-(geJ-Z=1C1^7R|tj0lnFScD98VA{@ z;ctEB7zg<}AU#mrI23*cg@hZEGEx!e92JbW2@Z%dT61S06f_z~D{$g;MLKa+E@KiU2ynTXThIOBEAr<>!oI=piZhpp@TZUs9jyKLc zR-L3WcZ{>v!8{K>Z%pa*nRtsg#@TxjcN;b( zH&p9PGNw0&(5=5_On*0lc!TH01@4#{+0nS5PiNvE9gPbgMPvQ58^&cHaek!vcH@fv z2m!Os7&99`!=Eu{2*w^YZU}mVQ&G!}Sueey;~yEf|3>m}z+c9l3qpvtxf*w|1Y*ZS z74ll{#@*3zuzGildrH-YH$Tw0cSF8$3N#)%QHP`wp2plEsAo+fg;qAqNx9$&3yirB z(DO#Q#$$`kkO8AY7FABLf3or1UdTf3BIEhN58>As1Y7M9{Qg}bmy-lr)e>woPq3ZI zc*#3@*~esA+7G8Eikj@6K{1uMYqGzKdsS7FP)IXOrRfey(nV9* zSr3W7Tx=@W6hfy0TXObt9SM`<%m zjb9H-9kNkW67*o%DYI036IJ{vc?|#Y!y>&PBdUXJ~ zx^Po(yg(^xQ`~?IWWX(^zH`eVV_x3WFaL*@7}LONWwBGZ&y;-8M)ak-Dfv=9kC>7# zgP&KJlCR|7t4+yQ!B3A&$=CABo12oa=igT}CEv*BI8*X18${}3q-j*-H25Dj)A;gZ zvD-V@G~w(PVgsE8Gv_PhuG}Hfkr&weXbxsNG5O2T1IJJX^f5WPCGX>p$*Y~E&p)*#}wt1AWEy_IS4#u%co zG78z@_6qsR*Md8pOc^gQGN$^bjCasi%bZOcS3^V=wK45j4996!Dbvm|X^7E1OgVOU zaqMlYDaZDVnD;w{Qiao|oLp>{jP)@cDTY0V#$lU)~3(S6gi%@;Ap z-A%6x_8@8~nO>hl&uersz10sTR*sq8Zp9*7_s#Tic`(AOTBdJtu$@zUOx7R!2NR#Q z-AsjGoj*4+GkpjY-UPF*(`s0CZq}W+0G~I{Y$yT!we_aiZsb?U_(*f{Yl-+!Z*z(B zP^1r+DddwTnoC>_Kng$5T=L6qY=$_SOMU~}lr@*DhBzm1m$}^5vxtwp%ryqWCO)`h zHP^Di8hg5#Yn_o17Hl@xelrc$yP>&`{WoGh^At*zFPZ%g-bY4yzPaV+h1i@>n}h0M zRZbsl4)(5q^D*Vkp+N|#Z|_yeOCJ#&JJH;3<9Y;C8_W?yAk3bBnLF2q@ecT9jts~9 z7V9^2OvTyA?bj7-SXv=pUe6pSXJGR&*Bn>uA^u8!h`Ikz4Bc>7bHWoe_*bxbKtX$= zZ{N)WmKBHE>24l)97YxI5AlPrby;s7dUYW(SyppWjh#5?f6Y7`Le93R&0`VSvRE(k z_~=nM5)paQJU$B=Jnn;F|Koy*5#~v;Ef7<`Fwb_sikzIgIn^Tziua*H_CC@)?+}K* z%6)UX-5c1dZRW*3uZZo8H!psI|D+;lwt0n(t7@3HZmk8) z-pRbP)EBJ(lQ+%#!jSen;%eS^4<6SGlX>6kd`6m2ZM{s?s-5}ta8$Jai23wojMTBB z=DZP5tg~(A8!yXYSNV(i&Yl!xp30l=UUI}a+41K4g&c^?)6I`t*MTGT*!(ql$c0p)Rayd)npalH+N-s;S)$TI!6|*g|;ai~DI$Pp)4uFZVSo%Jx zfZ%t!Wk3@wn>RNs0~cbsMIEsWwxNMt-&uy0|BKlAP|K8=*icF=XPNOKlIVRsOUef5 zh5Mxy@(Eikb6%7u>f)x5*GW_;Ns}yTJ)sGg>nzs!`JrHy5tjMSpb|SDSIFzQD3qk8 zmc^sCU`i4#OTEz3Bsc;PeNtKi_iXRCVGB|bTb|`xyD`NS^4`-0Q=%;|&uNHW&$qlhpHCml%RKN+Q_IT>`S-6ZFRz0y zgDo#_g0EUzUf#;T|6zG~JOBQp<>ei)#;c{4SMo1nS)DAeHbmpxTz|{!P)PlaEtaqP z#t5WpTYls>tbV;1l4|&DUgMYUZ}Wf0s@qwb#&wMyk`R*+91|7Yt!upP&KKtT@6u;q zS@VCF7W~ednEzRWt+WTLRrH@_UE`UA5TF&cvb`xM6|p(};ssML@<7WUui2K&;>B$f zIsYHcI>@>2zZ+0k;=TV}x?AF*|1Lcv^A`Uu_0sZ=h5u-WXl^arJ{>P(E3Ml_1D|NDu@L0(h$f1j~s}{nZ93GY2%VO|8asw!LOv?B6w2EAYR% z{Oy01_AAI6|GS3eg}D2_OP?3wZT?+qcHrLsF0G`KJd6KdZ~m4XWscn`l=|7MrKOU# zMH{)!wz=s4`j)8#Z}qQQmo=TMvc3Mwnwm9D6MM!+Cq^qZHn5%B#~o~MzB3=~e;(Kh z7aj@!)?};cdg;jg_#CvE#n~|Ft#6dE5WH+w7jcuMDeft5K2{-F$dI zx8GdqVlkc)cuh{3etCMzhAWS3F1>j9lm^$rY_$$^hhjy&hD653#Pv{CPhw1DLTJC( zzFniD<2O&fX5hAk1z5?=b8eNevpFB&Wei5|n6B|dlyOql$3F@pJeco43Nk%d&3_a; z`m?~P33E}4N^LiDSgn7&J-G>MX8Nx$VojH^va0`h$I_Hl{zpL*PgeDxKiZu6Dx^?$ z1I`k7_7@c^!)>7lSaDlLH7jYm63@%#Upd+`Ye>pf$?RepcH=LblM8dt&h}&_98kFw${rT1Rn?De^95VuV`$qHsipI|$=?MNG` zf>zTi#6P5O-&kA2WL7o1;AwV|+twwsa{u=rMYXS{?b=y3B*lN9i>>)N7GgVjjzy$A z+*keozjJ3_k(5UJi`zaPV-{QG^Q=$G~glx57t$cU6=7$%=R#pm9h0ubBnEvieI*c$$WTr zMKv$WZCP6GpS@Sdi!j?j1OJ|FXXY)K?WP?MwXG_^!)<#D^5?b%MYx}Bjy)fi-OYh7 zkZgO4@wfROQD^rp!Oxm(S)X|&qknXKk7%#HaouC$``FGnGgqTQDGH8`jgCyTb)C$e z|51`MWp+Kof4yS6dzCx?*L`Bjj2xGL{K7V(F|Vr6|IFWY?yks7>viHQL*gQBcf)v@ z|Gqb`<$eFIK?u2Rm4SQyv!rJOsp3CN9%-ezq8;JUv5|fIWY>4*c8RuiMjmZ@w2+%^ zWleme?c#iHm)&v!e^=4AEr&cxi#xV&%7OIC#{atSk@ECx#s9pVUx`i^+^1`7Y+!6(+x~vMNw(@K&nqeS zgjK9$D`Vyk+4nS3U=c;TIGBSI6|gW7wt^xkV8_;DcWiMR92>g}TU6}s z?(Xh-e|wF$$8+v;KhN{;d;A=~D`!nybJfgt%PZrA877^Ljio&eOxGug1iK0<`LX`QzonShhXwFLB~14YdvN1Y0U-GwO~0^{3{qh6!}^v zyBZDFCu){cCc8Qq3?m+qgzqZ`6Z82_q^vNcd#k3ifExSnOHtlP`R3D7b*tw^i^OM(f+A2nYFrLYOqZlT<;>2r#mZ>Mg0Cu zBGqS-$c;#yhuDu?GWp;JU_s)|b%H;}fkkn@rc6G#D~Jyk#>dK_K`G+}*RK%VfXX_r zZ_F>a(^gO%?0O@Uoi@niff!>v$hUPOYT!FK{c4B##5QRIh?*uW_ z6%NSc)r-lrNuC(f2;9hpv39b;D{vIii4TGoFxHW%q+>I9fLIDX7J4XhOTzr$X($l_X*}{E!b=eQ8H>B*+eG0>LQbuLJ#3OZ(bH0 z1~!A>wFCPTr8=MQBa>aNA(NLvdAQD7)W!Vo>#U)g2xOP>Ajn(br9lv|aEDBuXC%?F z0OBoe#9j|0)-?x7t!rbRA0b6lePXxP3O=hMlaKr%IHfZw#$h&8UP_8dZp5ohAjP7- z#2W^aV#z$>b4rm-u_OcIRt^`ytP+CRzJebM$z(-J3HDqk_`ZWo-u8|lG@$c+zIZcu zn0NtHXsJYOXg$HS$D~-%idbkADK^z3(w`FS)g1Z<7x>4rf?u!7lr)<_$VKLHne2rH zgwSR0lgVP22_`=kyf#B7PxlhMuOh`Z1+ntzi6hyVw&zH3(u3&Z2$?)-4hUH}U>hzU z@Q}KsxYU+t>IK1_t7Y*ruXj*LQ;5w+c>z3^<=l>nOOq7;Kpp zR?sH6w~pZcc$w^aO;XzM08c+n%4~F5liQ@+r+`L8mmY#T9od+aHzB3<-;nbDSmHk( zkn+nP#4~!4DtA3%&lEEG6h9MP*ofX5Dl?ym7Okf;Ct$2r+Q}>M9t@3_Oy04N;Jl)OOKiKy>r!8s)6rD6G`j9K zqw)s0Nuz6!fAL(zx?K@mIFM?sjUY)sj~Yya)Hk~(lig@1leaA{`1Vf_<={V=Fu@Ib z`$7e$Qp15z-$6&H;pjKS24qmf!~LND$0SiuiyXvEQz+=+RARY{3Jx4f!KD@u3${~m z84S^Z0u)>&ji}2c!TzmeGVOLj!vLB5L4U!wrzkk4BT=6pf}5_&WM!%gCU2$S*z#oK zd>91}Mh)}5r{FOgi1sw6;Asn>dh=57p?zRD1%Jd4#C{RXj+M#uRRuTSq2SLRFfKPK zL_Zx3xIv9(;KNIUWb$@nsL_`p#22|xqp!uG!e7f|DfuaskAeSJ;0zA-lH~b@LbZ^A zQZFfV8WhaqwO})%Ce0~qBos;EJQOx6l2{WHH3{`3S{_VI-nSrn`jEnpZpZZ<6wwMs z#%mr$Y<)$Nt_VdAMHd@}f@6qJpG(cU>?J<#YZjswHr(KKg2aWerGgQ61zYOme09=e!;pG1R(>?f_Y?p!Pct!5D??E*PJF>) zidsC2XzOi?T7vUs>nLgmyz6}yipowx57vni2Z7yWN`9f#TJJ&BFM(P|jV7K@idv8S zPLy~`Cez;&Jl2NVG+7TXcBZ|csgTWc9JSqEjF`QUprZw~-wY=>ZMUFf9Cav#4%ud> zm|?|)sNaU4XjINg*0_i4wPOgqJXp zk`hpUuf>$|TuU}~H@|$q$M{kzCKGSrD)?gqrCOK3G#sPelQ1i%RiM5zo)bN(P5lbS z5Sx0L29AZJ6>(E=^kc!vu`*e&AA(n^%j6U(XsGs+`<;XpH~zd~ye@8-I{)NbLGvGi zISfBJLojE_pIj@L>*t4Z?G@)PjehcyV2do7lJ_whxNZqC&pR}5yR8^nc9#Zq7)pG& zgKX$}ax|qeyYmw}_=P4oZO%-0n$QrFWqB4&X*8K6mpWu$1WjD@8>I!FA?D#iGmTKV zv$N>W)8?iA(W}o_H>~2{&wR1*3g#dK|~2dX`8Yc6ypTi zwivU2^HkcAcQEm38MMRQl~}cNw4>N*Vr~w~s`!qWO9eU<)q$iuYC2N!C2`N`HagPr zHS|wqI`OG4v9K|8GP)hH<4x&I)Ka3s73fSFx;{ON&YnvlwyG+fGonk+&!O`{lZh{l zrYm)B6FY38Yu}*9Cg-GEE$b0`*_rN~MvsOTDlb%Ey2W>QJC^!+9#O>`l;b5JJFpO+aw!Ixdum=!3I zK{PZkD_GK#_@{lWkUQLoGwWHA*zQDyMzSIa{=`STXC)k2B$-OEQV(tu|Gb8Ix+fAp z6v(_Q9fQO6E}B)lkDBLe$9#9V5r5T#)f`lpc)bxU@Y5NhfdyD-*GMAYJ}k^Bj59{F zu;KfNSGv!_^S3A7-=DRJgI)@{!@6rLLvK}P-9P)2q`btEm*G9Xl`It%ptf8l@3vNO z`Fz$pZyi|i6U$itw!WAJoml@)Fs4<`vp-bsMDO3S5!vCyIxJ!nhQq^~eVt7V$|R}u zQ8r~Oq`7x3W*=Ub_=D#xEi#(;zT9kD&)Kl{p@N2)!y3Nbdj4I_Tx2b
  • `}{4L__AY$8~2DYoTGUVuur}-&v+q^D}#8yLyM%#3=Tm z^8jLPPqL3bTI4b6fX|4Hoyk7NpsU{1VxRpmONz~9pF6xE78@dy-&@4Kp1BT}(uaL} z58*mdf&Dn_fecO`uGB*z?Oe}uzd8pg-^txiRfO$0&hzy+Ozd0&FZ5*r0%arNTt7^~Afx@LCI7!jrAZYi-?3Z1FW-H>4c#RU3Jr4}`kJ6kdP(PLfI{*~CG)qC8l; zl6dKQJfv)C;+tG}*gg2H1y}JFwJ;m1|KL%+m5A2};xS8a5|#E4Y`30UM?-_|>cp)J zK4TjC@VH2Lg5H^ef1)YNcv^ci zF`sBY7Irza^?+^@k=EuUI0f+D8 zr&m6L;z{6Vo8N;vMf zF0qy_{Bg%a#Hv*1FP+c5T+LqwLxzU0=I@5qfNNQee~7_scy)(=+Mve#za7p$pU2oH zMDg$YFdJTk$>jDV{{7w^;zf1}+Os9D`3CR)mLxS91WlPOsS0444K66DYGK;#+a(#3 zVME3qmvTMpPW)Uk$*tWFlB9c*`;aZf{=6?0*pr9&qadlk^HapL7f6LC+x9^EXG=vg zViAjWlFDhaks91ARY+WgWLIyg!V|b$rPHM+^+W1X9^t_J8d74| z1X#(ing_r+B8eab{@i(WWk+l#^ zhnA5hN?yc@ca&_C9-Bz2^g)`}zYx*7YSNN*&as^-ljVOQlNWH6mOfcewCt#~qL2vz zQEq9aOI?z@lcm)=yTf^1C9Tf737_x}Y0WN}-GCf|4eANrC?S*Gx+D0kqfE}UHgV7( zT(D_n!Il|gaR(qSYE95jPSU}1`(v9`$ zBke8QlO!4`WfzNq3->_Ue*=!m$JWx}Z?%cFsVE(p_=aeJO%ez1R>@@jY6zZBmd;>W z^C@MebAEG)CFun-R!SG@y@vIhE?wM)A(_-)x|G{OufN^5AP* zN;jsOiB>h1?wp3*@AzDLyvLn*r_R!ox|b2fuly=K*??Ho_lWe$lnZ`3mtJ+eNmAiR z>8&?hCfgk8$4!o8*eaRazrR9x81r8HN+z$n9E8d(<*86TOhxQEOrgaXvzpHp#;?bT z&D*Ll-R+5F`g)nHfK71xA(=K_pspfEZ8#QB%?g*gm`*KvDDt>(fZeaJ$P?6qc(+7F zaeW4{El(817ju$4#wt9r(B-(y6;9_&l}*#Jf3I~l~;cSY0q2}CDLD8lu# ziMq{IwB$LUu!br+PKTqi?To_O3$tKlV@3R{`ADRERCIBcTh&dG(Azc%R&AgnVGPXg z*CsOgpnHPfy%gQ9UV^#Yt4JPvmRN|VOuiypk^C4f&N!s#w+5QAd2Yeow`H=1mt^uq zHx>P`2Ewv^6$55&C0e~vF<=ME8`?uL&94bR_W+y6q{T71CJwHZ zk|}v^RLn?()hp0Yu=y65EO&Fo+%ZrroBmYHuiK7z1Fd4d9gfS(aK*ws5TyfTPV3khytD3fJQktwP33YMOv zSg{Lkc3PkBYP7A|ZS?6c@9R z?aOmSan(KuiOsxBar5CmVh^hczN#vdD+2@@Z4->BC>ZrdaDuDi*6d<%JZdN&EI><} zHdj0;r-K{rsd)13E%ABn6i@f#`j764H>-0HFOyI4sr5;i@t%tB%@Ic^hACOFtpgm7 z`AR7WGBEjzpu?b4ro#pEtglqZLbxnPl&%&`zm*G>xtE+GniwaOB|H|Ke?}%RJP168 z`x(mo?`9C26Rs>UX$4%e{mKF>77%auL+Me_jcENPWtpq!@mG@4%eD?LG;XRa%kCi# zIH0V`;D~g%r>xch(`>|JWwq7=h*!R#thVqpvFY!X)t15jH!Y;Bv1SMCce>JV1#Cg! zGo{~ZsP6E-O25r;&qo#z{5Dl4w>1!4R9EnOf=tN}thCjSa=s9zlsT=XGU&r~xJYTr z;P3E®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 delta 9696 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 delta 11713 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 aXwG!_N7iUdCiw4J0``XeuPm8ct^N-Tkq#yR delta 9513 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