96c2a6b16cf44635b28628b497db419adabf8fe3
[ptas] / zouba / src / main.cpp
1 #include "routedata.h"
2 #include "route.h"
3 #include "ui.h"
4 #include "uicontroller.h"
5 #include "location.h"
6 #include "gpscontroller.h"
7 #include "ytv.h"
8 #include "locations.h"
9
10 #include <QDebug>
11 #include <QObject>
12 #include <QApplication>
13 #include <QMainWindow>
14
15 int main(int argc, char *argv[] )
16 {
17     QApplication app(argc, argv);
18
19     QCoreApplication::setOrganizationName("ZouBa");
20     QCoreApplication::setOrganizationDomain("zouba.yi.org");
21     QCoreApplication::setApplicationName("ZouBa");
22
23     Locations* locations = Locations::GetInstance();
24     Locations *other_locations = Locations::GetInstance();
25     if (locations == other_locations)
26         qDebug() << "Same instance";
27     else
28         qDebug() << "!!NOT SAME INSTANCE!!";
29
30     QMainWindow *mainWindow = new QMainWindow;
31     Ui *ui = new Ui;;
32     ui->setupUi(mainWindow);
33
34     UiController  *uiController  = new UiController( ui );
35     Route         *route         = new Route();
36     GpsController *gpsController = new GpsController();
37
38     QObject::connect(
39             route, SIGNAL( routeReady( QList<RouteData> ) ),
40             uiController, SLOT( displayRoute( QList<RouteData> ) )
41             );
42
43     /*QObject::connect(
44       gpsController, SIGNAL( gpsLocationChanged( Location* ) ),
45       uiController, SLOT()
46       );*/
47
48     QObject::connect(
49             uiController, SIGNAL(fromChanged(Location*)),
50             route, SLOT(setFromLocation(Location*)));
51
52     QObject::connect(
53             uiController, SIGNAL(toChanged(Location*)),
54             route, SLOT(setToLocation(Location*)));
55
56     QObject::connect(
57             uiController, SIGNAL(routeSearchRequested()),
58             route, SLOT(searchRoute()));
59
60     QObject::connect(
61             route, SIGNAL(busy(bool)),
62             ui, SLOT(setBusy(bool)));
63
64     QObject::connect(
65             ui->m_UseGpsAction, SIGNAL(toggled(bool)), gpsController, SLOT(useGPS(bool)));
66
67     mainWindow->show();
68
69     //Locations::destroyLocations();
70
71     return app.exec();
72 }