86d8e46c1ba10b1eaee8e415bd2068d3ac53a01e
[googlelatitude] / latitude.qt / widget.cpp
1 #include "widget.h"
2
3 LatitudeGUI::LatitudeGUI(QWidget *parent) :
4     QWidget(parent),
5     latitude(this),
6     gps(this),
7     demonio("/opt/linfati.com/bin/latituded"),
8     cli(this) {
9     qDebug() << "* LatitudeGUI::LatitudeGUI";
10     setWindowTitle(tr("LatitudeUpdater"));
11
12     // row 1
13     layout_row1 = new QHBoxLayout();
14     do_oauth = new QPushButton("Auth");
15     do_start = new QPushButton("Start");
16     do_stop = new QPushButton("Stop");
17     layout_row1->addWidget(do_oauth);
18     layout_row1->addWidget(do_start);
19     layout_row1->addWidget(do_stop);
20
21     do_oauth->setDisabled(true);
22     do_start->setDisabled(true);
23     do_stop->setDisabled(true);
24
25     connect(do_oauth, SIGNAL(clicked()), this, SLOT(gl_webauth()) );
26     connect(do_start, SIGNAL(clicked()), this, SLOT(gps_start()) );
27     connect(do_stop, SIGNAL(clicked()), this, SLOT(gps_stop()) );
28
29     connect(&latitude, SIGNAL(gotToken()), this, SLOT(gl_GotToken()) );
30     connect(&latitude, SIGNAL(notToken()), this, SLOT(gl_NotToken()) );
31     connect(&latitude, SIGNAL(needAuth()), this, SLOT(gl_needAuth()) );
32
33     connect(&gps, SIGNAL(gotFix()), this, SLOT(set_latitude()) );
34
35     // row 2
36     layout_row2 = new QHBoxLayout();
37     gps_group = new QButtonGroup();
38     gps_method = new QLabel("Method");
39     gps_cell = new QRadioButton("Cell Tower");
40     gps_both = new QRadioButton("Both");
41     gps_agps = new QRadioButton("Only Gps");
42     gps_group->addButton(gps_cell);
43     gps_group->addButton(gps_both);
44     gps_group->addButton(gps_agps);
45     layout_row2->addWidget(gps_method);
46     layout_row2->addWidget(gps_cell);
47     layout_row2->addWidget(gps_both);
48     layout_row2->addWidget(gps_agps);
49
50     if ( gps.getPositioningMethod() == "gps" ) gps_agps->setChecked(true);
51     if ( gps.getPositioningMethod() == "cell" ) gps_cell->setChecked(true);
52     if ( gps.getPositioningMethod() == "all" ) gps_both->setChecked(true);
53
54     connect(gps_cell, SIGNAL(clicked()), this, SLOT(set_method()) );
55     connect(gps_both, SIGNAL(clicked()), this, SLOT(set_method()) );
56     connect(gps_agps, SIGNAL(clicked()), this, SLOT(set_method()) );
57
58     // row 3
59     layout_row3 = new QHBoxLayout();
60     gps_to_label = new QLabel("Time Out");
61     gps_to_slider = new QSlider(Qt::Horizontal);
62     gps_to_slider->setSingleStep(5);
63     gps_to_slider->setRange(5, 120);
64     gps_to_slider->setValue(gps.getTimeOut());
65     gps_to_slider_value = new QLabel(QString("%1 sec.").arg(gps_to_slider->value()));
66     layout_row3->addWidget(gps_to_label);
67     layout_row3->addWidget(gps_to_slider);
68     layout_row3->addWidget(gps_to_slider_value);
69
70     connect(gps_to_slider, SIGNAL(valueChanged(int)), this, SLOT(set_to(int)) );
71
72     // row 4
73     layout_row4 = new QHBoxLayout();
74     gps_i_label = new QLabel("Interval");
75
76     gps_i_slider = new QSlider(Qt::Horizontal);
77     gps_i_slider->setSingleStep(5);
78     gps_i_slider->setRange(5, 60);
79     gps_i_slider->setValue(gps.getInterval()/60);
80     gps_i_slider_value = new QLabel(QString("%1 min.").arg(gps_i_slider->value()));
81     layout_row4->addWidget(gps_i_label);
82     layout_row4->addWidget(gps_i_slider);
83     layout_row4->addWidget(gps_i_slider_value);
84
85     connect(gps_i_slider, SIGNAL(valueChanged(int)), this, SLOT(set_i(int)) );
86
87     // row 5
88     layout_row5 = new QHBoxLayout();
89     gps_ac_group = new QButtonGroup();
90     gps_ac_label = new QLabel("Auto Connect");
91     gps_ac_yes = new QRadioButton("Yes");
92     gps_ac_not = new QRadioButton("No");
93     gps_ac_group->addButton(gps_ac_yes);
94     gps_ac_group->addButton(gps_ac_not);
95     layout_row5->addWidget(gps_ac_label);
96     layout_row5->addWidget(gps_ac_yes);
97     layout_row5->addWidget(gps_ac_not);
98
99     if ( latitude.getAutoConnect() == true ) gps_ac_yes->setChecked(true);
100     if ( latitude.getAutoConnect() == false ) gps_ac_not->setChecked(true);
101
102     connect(gps_ac_yes, SIGNAL(clicked()), this, SLOT(set_ac_yes()) );
103     connect(gps_ac_not, SIGNAL(clicked()), this, SLOT(set_ac_not()) );
104
105     // gui
106     layout_gui = new QVBoxLayout();
107     layout_gui->addLayout(layout_row1);
108     layout_gui->addLayout(layout_row2);
109     layout_gui->addLayout(layout_row3);
110     layout_gui->addLayout(layout_row4);
111     layout_gui->addLayout(layout_row5);
112
113     setLayout(layout_gui);
114     latitude.getAccess();
115 }
116