1 #include "favoriteselectiondialog.h"
2 #include "ui_favoriteselectiondialog.h"
4 #include "src/logic/locations.h"
7 #include <QApplication>
8 #include <QDesktopWidget>
10 static const QString CUSTOMIZE = "Customize";
12 FavoriteSelectionDialog::FavoriteSelectionDialog(QWidget *parent) :
14 ui(new Ui::FavoriteSelectionDialog)
18 this->setAttribute(Qt::WA_Maemo5AutoOrientation);
19 this->setAttribute(Qt::WA_DeleteOnClose);
21 Locations* locations = Locations::GetInstance();
24 for (int index = 1; index <= locations->size(); ++index)
26 Location* loc = locations->getLocation(index);
27 if (loc && loc->isValid())
29 qDebug() << "Adding location to display: " << loc->label();
33 this->ui->locations->addItems(locs);
36 if (!locations->getGpsLocation()->isUpdating())
37 this->ui->gps_button->setEnabled(false);
38 else if (!locations->getGpsLocation()->isValid())
40 this->ui->gps_button->setEnabled(false);
41 this->m_text = this->ui->gps_button->text();
42 this->ui->gps_button->setText(this->m_text + " (Searching...)");
43 this->connect(locations->getGpsLocation(), SIGNAL(gpsLocationChanged(GpsLocation*)), SLOT(gps_location_retrieved()));
46 connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged()));
47 this->setFixedHeight(QApplication::desktop()->screenGeometry().height());
49 //this->connect(locations->getGpsLocation(), SIGNAL(gpsLocationUpdatingChanged(bool)), SLOT(gps_updating_changed(bool)));
53 FavoriteSelectionDialog::~FavoriteSelectionDialog()
58 void FavoriteSelectionDialog::gps_updating_changed(bool isActive)
60 //this->ui->gps_button->setEnabled(isActive);
63 void FavoriteSelectionDialog::gps_location_retrieved()
65 this->ui->gps_button->setEnabled(true);
66 this->ui->gps_button->setText(this->m_text);
67 this->disconnect(this, SLOT(gps_location_retrieved()));
70 void FavoriteSelectionDialog::on_locations_itemClicked(QListWidgetItem* item)
72 Locations *locations = Locations::GetInstance();
73 Location* selected = locations->getLocation(item->text());
74 emit(this->selectedLocation(selected));
78 void FavoriteSelectionDialog::on_modify_button_clicked()
80 emit(this->customizeRequested());
84 void FavoriteSelectionDialog::on_gps_button_clicked()
86 Locations *locations = Locations::GetInstance();
87 emit(this->selectedLocation(locations->getGpsLocation()));
91 void FavoriteSelectionDialog::orientationChanged()
93 this->setFixedHeight(QApplication::desktop()->screenGeometry().height());