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