1 #include "uicontroller.h"
8 #include <QTableWidgetItem>
11 #include <QButtonGroup>
13 UiController::UiController( Ui *ui ) :
16 Location *homeLocation = new Location();
17 Location *workLocation = new Location();
20 homeLocation, SIGNAL( becomeValid() ),
21 this, SLOT( setHomeButtonValid() )
24 workLocation, SIGNAL( becomeValid() ),
25 this, SLOT( setWorkButtonValid() )
28 homeLocation->resolveAddress( Ytv::Home );
29 workLocation->resolveAddress( Ytv::Work );
31 destination.append( homeLocation );
32 destination.append( workLocation );
35 ui->destinationButtons, SIGNAL( buttonClicked( int ) ),
36 this, SLOT( changeDestination( int ) )
41 UiController::~UiController()
45 void UiController::setHomeButtonValid()
47 setButtonValid( Ui::HomeButtonId );
50 void UiController::setWorkButtonValid()
52 setButtonValid( Ui::WorkButtonId );
55 void UiController::setButtonValid( int id )
57 ui->destinationButtons->button( id )->setEnabled(true);
60 void UiController::changeDestination( int id )
62 bool destinationHasChanged = ( currentDestination != id );
63 if ( destinationHasChanged ) {
64 emit destinationChanged( *(destination[id]) );
67 // always want to emit this so that the gps position is update
68 // and the user gets new information
72 void UiController::displayRoute( const QList<RouteData> &routeData )
74 ui->table->setRowCount( routeData.count() );
76 for ( int i=0; i<routeData.count(); i++ ) {
77 QTableWidgetItem *timeItem = new QTableWidgetItem( routeData.at(i).arrivalTime );
78 ui->table->setItem( i, 0, timeItem );
80 QTableWidgetItem *lineItem = new QTableWidgetItem( routeData.at(i).lineCode );
81 ui->table->setItem( i, 1, lineItem );