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,9 +17,10 @@
*/
#include "ErgDBDownloadDialog.h"
#include "MainWindow.h"
#include "TrainDB.h"
ErgDBDownloadDialog::ErgDBDownloadDialog(MainWindow *main) : QDialog(main), main(main)
ErgDBDownloadDialog::ErgDBDownloadDialog(Context *context) : QDialog(context->mainWindow), context(context)
{
setAttribute(Qt::WA_DeleteOnClose);
setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
@@ -131,7 +132,7 @@ ErgDBDownloadDialog::okClicked()
status->setText(QString("%1 workouts downloaded, %2 failed or skipped.").arg(downloads).arg(fails));
ok->setText("Finish");
main->trainTool->configChanged();
context->mainWindow->trainTool->configChanged();
} else if (ok->text() == "Abort") {
aborted = true;
@@ -185,7 +186,7 @@ ErgDBDownloadDialog::downloadFiles()
QString content = ergdb.getFile(id, 300);
QString filename = workoutDir + "/" + current->text(1) + ".erg";
ErgFile *p = ErgFile::fromContent(content, main);
ErgFile *p = ErgFile::fromContent(content, context);
// open success?
if (p->isValid()) {