Updated packaging files in debian folder.
[ptas] / zouba / src / gui / favoriteselectiondialog.cpp
1 #include "favoriteselectiondialog.h"
2 #include "ui_favoriteselectiondialog.h"
3
4 #include "src/logic/locations.h"
5
6 #include <QDebug>
7 #include <QApplication>
8 #include <QDesktopWidget>
9
10 static const QString CUSTOMIZE = "Customize";
11
12 FavoriteSelectionDialog::FavoriteSelectionDialog(QWidget *parent) :
13     QDialog(parent),
14     ui(new Ui::FavoriteSelectionDialog)
15 {
16     ui->setupUi(this);
17
18     this->setAttribute(Qt::WA_Maemo5AutoOrientation);
19     this->setAttribute(Qt::WA_DeleteOnClose);
20
21     Locations* locations = Locations::GetInstance();
22
23     QStringList locs;
24     for (int index = 1; index <= locations->size(); ++index)
25     {
26         Location* loc = locations->getLocation(index);
27         if (loc && loc->isValid())
28         {
29             qDebug() << "Adding location to display: " << loc->label();
30             locs << loc->label();
31         }
32     }
33     this->ui->locations->addItems(locs);
34
35
36     if (!locations->getGpsLocation()->isUpdating())
37         this->ui->gps_button->setEnabled(false);
38     else if (!locations->getGpsLocation()->isValid())
39     {
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()));
44     }
45
46     connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged()));
47     this->setFixedHeight(QApplication::desktop()->screenGeometry().height());
48
49     //this->connect(locations->getGpsLocation(), SIGNAL(gpsLocationUpdatingChanged(bool)), SLOT(gps_updating_changed(bool)));
50
51 }
52
53 FavoriteSelectionDialog::~FavoriteSelectionDialog()
54 {
55     delete ui;
56 }
57
58 void FavoriteSelectionDialog::gps_updating_changed(bool isActive)
59 {
60     //this->ui->gps_button->setEnabled(isActive);
61 }
62
63 void FavoriteSelectionDialog::gps_location_retrieved()
64 {
65     this->ui->gps_button->setEnabled(true);
66     this->ui->gps_button->setText(this->m_text);
67     this->disconnect(this, SLOT(gps_location_retrieved()));
68 }
69
70 void FavoriteSelectionDialog::on_locations_itemClicked(QListWidgetItem* item)
71 {
72     Locations *locations = Locations::GetInstance();
73     Location* selected = locations->getLocation(item->text());
74     emit(this->selectedLocation(selected));
75     this->close();
76 }
77
78 void FavoriteSelectionDialog::on_modify_button_clicked()
79 {
80     emit(this->customizeRequested());
81     this->close();
82 }
83
84 void FavoriteSelectionDialog::on_gps_button_clicked()
85 {
86     Locations *locations = Locations::GetInstance();
87     emit(this->selectedLocation(locations->getGpsLocation()));
88     this->close();
89 }
90
91 void FavoriteSelectionDialog::orientationChanged()
92 {
93     this->setFixedHeight(QApplication::desktop()->screenGeometry().height());
94 }