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