Merge branch 'nikosmaster'
[ptas] / zouba / src / main.cpp
1 #include "routedata.h"
2 #include "route.h"
3 #include "ui.h"
4 #include "uicontroller.h"
5 #include "logic/location.h"
6 #include "gpscontroller.h"
7 #include "logic/ytv.h"
8 #include "logic/locations.h"
9
10 #include "gui/searchdisplay.h"
11
12 #include <QDebug>
13 #include <QObject>
14 #include <QApplication>
15 #include <QMainWindow>
16 #include <QLabel>
17
18 //#define BUILD_TWO_GUIS 1
19
20 int main(int argc, char *argv[] )
21 {
22     QApplication app(argc, argv);
23
24     QCoreApplication::setOrganizationName("ZouBa");
25     QCoreApplication::setOrganizationDomain("zouba.yi.org");
26     QCoreApplication::setApplicationName("ZouBa");
27
28     Locations* locations = Locations::GetInstance();
29     Locations *other_locations = Locations::GetInstance();
30     if (locations->size() == 0)
31     {
32         locations->addEditLocation(new Location("2558542", "6676458", "Home"));
33         locations->addEditLocation(new Location("2540835", "6672773", "Work"));
34     }
35
36 #ifdef Q_WS_MAEMO_5
37     SearchDisplay *mainWindow = new SearchDisplay();
38     //layout->addWidget(win);
39 #else
40     //DesktopWindow* mainWindow = new DesktopWindow();
41     SearchDisplay *mainWindow = new SearchDisplay();
42 #endif
43     mainWindow->show();
44
45     if (locations == other_locations)
46         qDebug() << "Same instance";
47     else
48         qDebug() << "!!NOT SAME INSTANCE!!";
49
50 #ifdef BUILD_TWO_GUIS
51 #ifdef Q_WS_MAEMO_5
52     QMainWindow *oldMainWindow = new QMainWindow;
53     UiClass *ui = new UiClass;;
54     ui->setupUi(oldMainWindow);
55
56     UiController  *uiController  = new UiController( ui );
57     Route         *route         = new Route();
58 //#ifdef Q_WS_MAEMO_5
59     GpsController *gpsController = new GpsController();
60 //#endif
61
62     QObject::connect(
63             route, SIGNAL( routeReady( QList<RouteData> ) ),
64             uiController, SLOT( displayRoute( QList<RouteData> ) )
65             );
66
67     /*QObject::connect(
68       gpsController, SIGNAL( gpsLocationChanged( Location* ) ),
69       uiController, SLOT()
70       );*/
71
72     QObject::connect(
73             uiController, SIGNAL(fromChanged(Location*)),
74             route, SLOT(setFromLocation(Location*)));
75
76     QObject::connect(
77             uiController, SIGNAL(toChanged(Location*)),
78             route, SLOT(setToLocation(Location*)));
79
80     QObject::connect(
81             uiController, SIGNAL(routeSearchRequested()),
82             route, SLOT(searchRoute()));
83
84     QObject::connect(
85             route, SIGNAL(busy(bool)),
86             ui, SLOT(setBusy(bool)));
87
88 //#ifdef Q_WS_MAEMO_5
89     QObject::connect(
90             ui->m_UseGpsAction, SIGNAL(toggled(bool)), gpsController, SLOT(useGPS(bool)));
91 //#endif
92
93     oldMainWindow->show();
94 #endif // Q_WS_MAEMO_5
95 #endif // BUILD_TWO_GUIS
96     //Locations::destroyLocations();
97
98     return app.exec();
99 }