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:
@@ -18,14 +18,15 @@
|
||||
|
||||
#include "BestIntervalDialog.h"
|
||||
#include "MainWindow.h"
|
||||
#include "Context.h"
|
||||
#include "IntervalItem.h"
|
||||
#include "RideFile.h"
|
||||
#include <QMap>
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
BestIntervalDialog::BestIntervalDialog(MainWindow *mainWindow) :
|
||||
mainWindow(mainWindow)
|
||||
BestIntervalDialog::BestIntervalDialog(Context *context) :
|
||||
context(context)
|
||||
{
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
setWindowTitle("Find Best Intervals");
|
||||
@@ -144,7 +145,7 @@ struct CompareBests {
|
||||
void
|
||||
BestIntervalDialog::findClicked()
|
||||
{
|
||||
const RideFile *ride = mainWindow->context->currentRide();
|
||||
const RideFile *ride = context->currentRide();
|
||||
if (!ride) {
|
||||
QMessageBox::critical(this, tr("Select Ride"), tr("No ride selected!"));
|
||||
return;
|
||||
@@ -319,9 +320,9 @@ BestIntervalDialog::addClicked()
|
||||
double start = resultsTable->item(i,3)->text().toDouble();
|
||||
double stop = resultsTable->item(i,4)->text().toDouble();
|
||||
QString name = resultsTable->item(i,2)->text();
|
||||
const RideFile *ride = mainWindow->context->currentRide();
|
||||
const RideFile *ride = context->currentRide();
|
||||
|
||||
QTreeWidgetItem *allIntervals = mainWindow->mutableIntervalItems();
|
||||
QTreeWidgetItem *allIntervals = context->mainWindow->mutableIntervalItems();
|
||||
QTreeWidgetItem *last =
|
||||
new IntervalItem(ride, name, start, stop,
|
||||
ride->timeToDistance(start),
|
||||
@@ -332,5 +333,5 @@ BestIntervalDialog::addClicked()
|
||||
allIntervals->addChild(last);
|
||||
}
|
||||
}
|
||||
mainWindow->updateRideFileIntervals();
|
||||
context->mainWindow->updateRideFileIntervals();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user