4 #include <QtGui/QWidget>
5 #include <QtGui/QPushButton>
6 #include <QtGui/QLabel>
7 #include <QtGui/QButtonGroup>
8 #include <QtGui/QRadioButton>
9 #include <QtGui/QSlider>
10 #include <QtGui/QVBoxLayout>
11 #include <QtGui/QHBoxLayout>
12 #include <QtGui/QDesktopServices>
13 #include <QtCore/QProcess>
14 #include <QtCore/QCoreApplication>
15 #include <QtCore/QDir>
16 #include <QtCore/QFile>
17 #include "googlelatitude.h"
18 #include "gpscontrol.h"
20 class LatitudeGUI : public QWidget {
23 LatitudeGUI(QWidget *parent = 0);
31 qDebug() << "* LatitudeGUI::gl_GotToken";
32 do_oauth->setDisabled(true);
33 if (system("killall -0 LatitudeUpdaterDaemon 2> /dev/null" )) {
34 do_start->setEnabled(true);
35 do_stop->setDisabled(true);
37 do_start->setDisabled(true);
38 do_stop->setEnabled(true);
42 qDebug() << "* LatitudeGUI::gl_NotToken";
43 do_oauth->setEnabled(true);
44 do_start->setDisabled(true);
45 do_stop->setDisabled(true);
46 gps.stopUpdates(true);
49 qDebug() << "* LatitudeGUI::gl_needAuth";
50 do_oauth->setEnabled(true);
53 qDebug() << "* LatitudeGUI::gl_webauth";
54 QDesktopServices::openUrl(latitude.getUserAuthorization());
57 qDebug() << "* LatitudeGUI::gps_start";
58 do_start->setDisabled(true);
59 do_stop->setEnabled(true);
60 if (demonio.exists()) {
61 qDebug() << "* LatitudeGUI:: demonio";
62 cli.startDetached(demonio.fileName());
65 qDebug() << "* LatitudeGUI:: demonio none";
69 qDebug() << "* LatitudeGUI::gps_stop";
70 do_start->setEnabled(true);
71 do_stop->setDisabled(true);
72 if (demonio.exists()) {
73 qDebug() << "* LatitudeGUI:: demonio kill" << system("killall LatitudeUpdaterDaemon 2> /dev/null");
75 gps.stopUpdates(true);
79 qDebug() << "* LatitudeGUI::set_latitude";
80 latitude.setCurrentLocation(gps.getCurrentLatitude(),
81 gps.getCurrentLongitude(),
82 gps.getCurrentAccuracy());
83 latitude.sendCurrentLocation();
86 qDebug() << "* LatitudeGUI::set_method";
87 if (gps_cell->isChecked()) gps.setPositioningMethod("cell");
88 if (gps_both->isChecked()) gps.setPositioningMethod("all");
89 if (gps_agps->isChecked()) gps.setPositioningMethod("gps");
91 void set_to(int value) {
92 qDebug() << "* LatitudeGUI::set_to()" << value;
93 gps.setTimeOut(value);
94 gps_to_slider_value->setText(QString("%1 sec.").arg(value));
97 void set_i(int value) {
98 qDebug() << "* LatitudeGUI::set_i()" << value;
99 gps.setInterval(value*60);
100 gps_i_slider_value->setText(QString("%1 min.").arg(value));
103 qDebug() << "* LatitudeGUI::set_ac_yes";
104 latitude.setAutoConnect(true);
107 qDebug() << "* LatitudeGUI::set_ac_not";
108 latitude.setAutoConnect(false);
112 GoogleLatitude latitude;
117 QHBoxLayout *layout_row1;
118 QPushButton *do_oauth;
119 QPushButton *do_start;
120 QPushButton *do_stop;
122 QHBoxLayout *layout_row2;
124 QButtonGroup *gps_group;
125 QRadioButton *gps_cell;
126 QRadioButton *gps_both;
127 QRadioButton *gps_agps;
129 QHBoxLayout *layout_row3;
130 QLabel *gps_to_label;
131 QSlider *gps_to_slider;
132 QLabel *gps_to_slider_value;
134 QHBoxLayout *layout_row4;
136 QSlider *gps_i_slider;
137 QLabel *gps_i_slider_value;
139 QHBoxLayout *layout_row5;
140 QLabel *gps_ac_label;
141 QButtonGroup *gps_ac_group;
142 QRadioButton *gps_ac_yes;
143 QRadioButton *gps_ac_not;
145 QVBoxLayout *layout_gui;
148 #endif // LATITUDEGUI_H