bug lat vs lon
[googlelatitude] / src / latitude.cpp
1 #include "latitude.h"
2
3 LatitudeGUI::LatitudeGUI(QMainWindow *parent) : QMainWindow(parent) {
4     glatitude = new GoogleLatitude(this);
5     setting = new QSettings();
6     maps = new QWebView();
7     location = new QWidget();
8
9     menuBar()->addAction(tr("&Maps") ,this, SLOT(showmap()));
10     menuBar()->addAction(tr("&Latitude") ,this, SLOT(showlat()));
11     menuBar()->addAction(tr("&Update"), this, SLOT(set()));
12     menuBar()->addAction(tr("&loc") ,glatitude, SLOT(get()));
13
14     do_maps();
15     do_main();
16     showlat();
17
18     // connects
19     connect(login_user, SIGNAL(editingFinished()), this, SLOT(save()));
20     connect(login_pass, SIGNAL(editingFinished()), this, SLOT(save()));
21     connect(glatitude, SIGNAL(getOK()), this, SLOT(get()));
22     connect(glatitude, SIGNAL(setOK()), this, SLOT(gsetOK()));
23     connect(glatitude, SIGNAL(setERROR()), this, SLOT(gsetERROR()));
24 }
25
26 void LatitudeGUI::get() {
27     location_lat->setText(QString::number(glatitude->get_lat()));
28     location_lon->setText(QString::number(glatitude->get_lon()));
29     location_acc->setText(QString::number(glatitude->get_acc()));
30     statusBar()->showMessage(tr("Using google.com/loc"),2000);
31 }
32
33 void LatitudeGUI::set() {
34     glatitude->login(login_user->text(),
35                      login_pass->text());
36     glatitude->set(location_lat->text().toDouble(),
37                    location_lon->text().toDouble(),
38                    location_acc->text().toDouble());
39     statusBar()->showMessage(tr("Setting location..."),2000);
40 }
41
42 void LatitudeGUI::gsetOK() {
43     statusBar()->showMessage(tr("Location Updated !"),5000);
44 }
45 void LatitudeGUI::gsetERROR() {
46     statusBar()->showMessage(tr("Error in Authentification !"),5000);
47 }
48
49 void LatitudeGUI::save() {
50     setting->setValue("user", login_user->text());
51     setting->setValue("pass", login_pass->text());
52 }
53
54 void LatitudeGUI::showmap() {
55     setCentralWidget(maps);
56     setWindowTitle(tr("Google Maps"));
57 }
58
59 void LatitudeGUI::showlat() {
60     glatitude->get();
61     setCentralWidget(location);
62     setWindowTitle(tr("Google Latitude Updater"));
63 }
64
65 void LatitudeGUI::do_maps() {
66     maps->load(QUrl("http://www.google.com/maps/m"));
67 }
68
69 void LatitudeGUI::do_main() {
70     QHBoxLayout *layout = new QHBoxLayout();
71     layout->addLayout(do_login());
72     layout->addLayout(do_location());
73     location->setLayout(layout);
74 }
75
76 QFormLayout *LatitudeGUI::do_login() {
77     login_user = new QLineEdit(setting->value("user","my_username").toString());
78     login_pass = new QLineEdit(setting->value("pass","my_password").toString());
79     login_pass->setEchoMode(QLineEdit::Password);
80
81     QFormLayout *layout = new QFormLayout();
82     layout->addRow(tr("&Username"), login_user);
83     layout->addRow(tr("&Password"), login_pass);
84
85     return layout;
86 }
87
88 QFormLayout *LatitudeGUI::do_location() {
89     location_lat = new QLineEdit(QString::number(0));
90     location_lon = new QLineEdit(QString::number(0));
91     location_acc = new QLineEdit(QString::number(0));
92
93     QFormLayout *layout = new QFormLayout();
94     layout->addRow(tr("lat :"), location_lat);
95     layout->addRow(tr("lon :"), location_lon);
96     layout->addRow(tr("acc :"), location_acc);
97
98     return layout;
99 }