mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 08:38:45 +00:00
Refactor MainWindow Part 2 of 5
Decoupled classes from MainWindow to reference Context
and Athlete (and introduced a couple of new headers).
We no longer pass around a MainWindow pointer to children
but pass a context instead.
There are still a few pieces left in MainWindow that need
to move to a better place;
* Setting/clearing filter selection
* Working with Intervals
* Adding/Deleting Rides
* Save on Exit
As mentioned previously there are lots of other parts to
this refactor left to do;
* break MainWindow Gui elements into Toolbar and Views
* migrate from RideItem and Ridelist to ActivityCollection
and Activity classes that are not tied into gui elements.
* introduce Application Context and AthleteCollection
This commit is contained in:
@@ -17,7 +17,9 @@
|
||||
*/
|
||||
|
||||
#include "DataFilter.h"
|
||||
#include "MainWindow.h"
|
||||
#include "Context.h"
|
||||
#include "Context.h"
|
||||
#include "Athlete.h"
|
||||
#include "RideNavigator.h"
|
||||
#include <QDebug>
|
||||
|
||||
@@ -134,10 +136,10 @@ void Leaf::validateFilter(DataFilter *df, Leaf *leaf)
|
||||
}
|
||||
}
|
||||
|
||||
DataFilter::DataFilter(QObject *parent, MainWindow *mainWindow) : QObject(parent), mainWindow(mainWindow), treeRoot(NULL)
|
||||
DataFilter::DataFilter(QObject *parent, Context *context) : QObject(parent), context(context), treeRoot(NULL)
|
||||
{
|
||||
configUpdate();
|
||||
connect(mainWindow->context, SIGNAL(configChanged()), this, SLOT(configUpdate()));
|
||||
connect(context, SIGNAL(configChanged()), this, SLOT(configUpdate()));
|
||||
}
|
||||
|
||||
QStringList DataFilter::parseFilter(QString query)
|
||||
@@ -174,7 +176,7 @@ QStringList DataFilter::parseFilter(QString query)
|
||||
emit parseGood();
|
||||
|
||||
// get all fields...
|
||||
QList<SummaryMetrics> allRides = mainWindow->athlete->metricDB->getAllMetricsFor(QDateTime(), QDateTime());
|
||||
QList<SummaryMetrics> allRides = context->athlete->metricDB->getAllMetricsFor(QDateTime(), QDateTime());
|
||||
|
||||
filenames.clear();
|
||||
|
||||
@@ -217,9 +219,9 @@ void DataFilter::configUpdate()
|
||||
}
|
||||
|
||||
// now add the ride metadata fields -- should be the same generally
|
||||
foreach(FieldDefinition field, mainWindow->athlete->rideMetadata()->getFields()) {
|
||||
foreach(FieldDefinition field, context->athlete->rideMetadata()->getFields()) {
|
||||
QString underscored = field.name;
|
||||
if (!mainWindow->specialFields.isMetric(underscored)) {
|
||||
if (!context->mainWindow->specialFields.isMetric(underscored)) {
|
||||
lookupMap.insert(underscored.replace(" ","_"), field.name);
|
||||
lookupType.insert(underscored.replace(" ","_"), (field.type > 2)); // true if is number
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user