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:
Mark Liversedge
2013-07-10 13:57:30 +01:00
parent cd54ce16c8
commit 05f1d577db
235 changed files with 2196 additions and 1948 deletions

View File

@@ -17,6 +17,9 @@
*/
#include "AddDeviceWizard.h"
#include "MainWindow.h"
#include "Athlete.h"
#include "Context.h"
// WIZARD FLOW
//
@@ -29,7 +32,7 @@
//
// Main wizard
AddDeviceWizard::AddDeviceWizard(MainWindow *main) : QWizard(main), main(main)
AddDeviceWizard::AddDeviceWizard(Context *context) : QWizard(context->mainWindow), context(context)
{
#ifdef Q_OS_MAC
setWizardStyle(QWizard::ModernStyle);
@@ -551,7 +554,7 @@ AddFirmware::validatePage()
if (copy->isChecked()) {
QString fileName = QFileInfo(filePath).fileName();
QString targetFileName = QFileInfo(mainWindow->athlete->home.absolutePath() + "/../").absolutePath() + "/" + fileName;
QString targetFileName = QFileInfo(context->athlete->home.absolutePath() + "/../").absolutePath() + "/" + fileName;
// check not the same thing!
if(QFileInfo(fileName).absolutePath() != QFileInfo(targetFileName).absolutePath()) {
@@ -1179,7 +1182,7 @@ AddFinal::validatePage()
all.writeConfig(list);
// tell everyone
wizard->main->context->notifyConfigChanged();
wizard->context->notifyConfigChanged();
// shut down the controller, if it is there, since it will
// still be connected to the device (in case we hit the back button)