From 0ae9d0114e9b8bec69bbdb3c8a3c9c9c6862c169 Mon Sep 17 00:00:00 2001 From: Rodrigo Linfati Date: Tue, 29 Dec 2009 22:08:25 +0100 Subject: [PATCH] version 2.1 --- debian/changelog | 6 ++++ src/latitude.cpp | 85 +++++++++++++++++++++++++++++++++++------------------- src/latitude.h | 16 +++++----- 3 files changed, 70 insertions(+), 37 deletions(-) diff --git a/debian/changelog b/debian/changelog index b301d48..6733697 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +googlelatitude (0.2-1) unstable; urgency=low + + * more fix... + + -- Rodrigo Linfati Tue, 29 Dec 2009 21:53:01 +0100 + googlelatitude (0.2-0) unstable; urgency=low * Google Maps via WebKit diff --git a/src/latitude.cpp b/src/latitude.cpp index 32f76cc..be096f3 100644 --- a/src/latitude.cpp +++ b/src/latitude.cpp @@ -3,33 +3,30 @@ LatitudeGUI::LatitudeGUI(QMainWindow *parent) : QMainWindow(parent) { glatitude = new GoogleLatitude(this); setting = new QSettings(); - maps = new QWebView(); - location = new QWidget(); + urllogin = QUrl::fromEncoded("https://www.google.com/accounts/ServiceLogin?service=friendview&continue=http://www.google.com/maps/m?mode=latitude"); - menuBar()->addAction(tr("&Maps") ,this, SLOT(showmap())); - menuBar()->addAction(tr("&Latitude") ,this, SLOT(showlat())); - menuBar()->addAction(tr("&Update"), this, SLOT(set())); - menuBar()->addAction(tr("&loc") ,glatitude, SLOT(get())); + show_lat(); - do_maps(); - do_main(); - showlat(); - - // connects - connect(login_user, SIGNAL(editingFinished()), this, SLOT(save())); - connect(login_pass, SIGNAL(editingFinished()), this, SLOT(save())); - connect(glatitude, SIGNAL(getOK()), this, SLOT(get())); - connect(glatitude, SIGNAL(setOK()), this, SLOT(gsetOK())); - connect(glatitude, SIGNAL(setERROR()), this, SLOT(gsetERROR())); + connect(glatitude, SIGNAL(getOK()), this, SLOT(get_loc())); + connect(glatitude, SIGNAL(setOK()), this, SLOT(set_OK())); + connect(glatitude, SIGNAL(setERROR()), this, SLOT(set_ERROR())); } -void LatitudeGUI::get() { +void LatitudeGUI::get_loc() { location_lat->setText(QString::number(glatitude->get_lat())); location_lon->setText(QString::number(glatitude->get_lon())); location_acc->setText(QString::number(glatitude->get_acc())); statusBar()->showMessage(tr("Using google.com/loc"),2000); } +void LatitudeGUI::get_cell() { + statusBar()->showMessage(tr("Using cell... TODO"),2000); +} + +void LatitudeGUI::get_gps() { + statusBar()->showMessage(tr("Using gps... TODO"),2000); +} + void LatitudeGUI::set() { glatitude->login(login_user->text(), login_pass->text()); @@ -39,10 +36,11 @@ void LatitudeGUI::set() { statusBar()->showMessage(tr("Setting location..."),2000); } -void LatitudeGUI::gsetOK() { +void LatitudeGUI::set_OK() { statusBar()->showMessage(tr("Location Updated !"),5000); } -void LatitudeGUI::gsetERROR() { + +void LatitudeGUI::set_ERROR() { statusBar()->showMessage(tr("Error in Authentification !"),5000); } @@ -51,36 +49,63 @@ void LatitudeGUI::save() { setting->setValue("pass", login_pass->text()); } -void LatitudeGUI::showmap() { +void LatitudeGUI::show_map() { + maps = new QWebView(); + connect(maps, SIGNAL(loadFinished(bool)), this, SLOT(maps_login())); + maps->load(urllogin); + setCentralWidget(maps); setWindowTitle(tr("Google Maps")); -} -void LatitudeGUI::showlat() { - glatitude->get(); - setCentralWidget(location); - setWindowTitle(tr("Google Latitude Updater")); -} - -void LatitudeGUI::do_maps() { - maps->load(QUrl("http://www.google.com/maps/m")); + menuBar()->clear(); + menuBar()->addAction(tr("&Latitude") ,this, SLOT(show_lat())); } -void LatitudeGUI::do_main() { +void LatitudeGUI::show_lat() { + location = new QWidget(); QHBoxLayout *layout = new QHBoxLayout(); layout->addLayout(do_login()); layout->addLayout(do_location()); location->setLayout(layout); + + setCentralWidget(location); + setWindowTitle(tr("Google Latitude Updater")); + + menuBar()->clear(); + menuBar()->addAction(tr("&Maps") ,this, SLOT(show_map())); + menuBar()->addAction(tr("&loc"), glatitude, SLOT(get())); + menuBar()->addAction(tr("&cell"), this, SLOT(get_cell())); + menuBar()->addAction(tr("&gps"), this, SLOT(get_gps())); +} + +void LatitudeGUI::maps_login() { + if ( maps->url() == urllogin ) { + maps->page()->mainFrame()->evaluateJavaScript( + QString("document.getElementById('Email').value = \"%1\";").arg( + setting->value("user").toString())); + maps->page()->mainFrame()->evaluateJavaScript( + QString("document.getElementById('Passwd').value = \"%1\";").arg( + setting->value("pass").toString())); + maps->page()->mainFrame()->evaluateJavaScript("document.getElementById('gaia_loginform').submit();"); + } } QFormLayout *LatitudeGUI::do_login() { login_user = new QLineEdit(setting->value("user","my_username").toString()); login_pass = new QLineEdit(setting->value("pass","my_password").toString()); login_pass->setEchoMode(QLineEdit::Password); + QPushButton *login_up = new QPushButton(tr("Update Location")); QFormLayout *layout = new QFormLayout(); layout->addRow(tr("&Username"), login_user); layout->addRow(tr("&Password"), login_pass); + layout->addRow(login_up); + + connect(login_user, SIGNAL(editingFinished()), this, SLOT(save())); + connect(login_pass, SIGNAL(editingFinished()), this, SLOT(save())); + connect(login_user, SIGNAL(returnPressed()), login_pass, SLOT(setFocus())); + connect(login_pass, SIGNAL(returnPressed()), this, SLOT(set())); + connect(login_up, SIGNAL(clicked()), this, SLOT(set())); return layout; } diff --git a/src/latitude.h b/src/latitude.h index 5cee90a..449ce1e 100644 --- a/src/latitude.h +++ b/src/latitude.h @@ -14,19 +14,23 @@ public: LatitudeGUI(QMainWindow *parent = 0); private slots: - void get(); - void gsetOK(); - void gsetERROR(); + void get_loc(); + void get_cell(); + void get_gps(); void set(); - void showmap(); - void showlat(); + void set_OK(); + void set_ERROR(); void save(); + void show_map(); + void show_lat(); + void maps_login(); private: GoogleLatitude *glatitude; QSettings *setting; QWebView *maps; QWidget *location; + QUrl urllogin; QLineEdit *login_user; QLineEdit *login_pass; @@ -34,10 +38,8 @@ private: QLineEdit *location_lon; QLineEdit *location_acc; - void do_maps(); QFormLayout *do_login(); QFormLayout *do_location(); - void do_main(); }; #endif // LATITUDE_H -- 1.7.9.5