| 129 |
david |
1 |
#include "qmdialoglegstarttimes.h"
|
|
|
2 |
#include "ui_qmdialoglegstarttimes.h"
|
| 131 |
david |
3 |
#include "QPushButton"
|
|
|
4 |
#include "consts.h"
|
|
|
5 |
#include "structs.h"
|
|
|
6 |
#include "proto.h"
|
| 320 |
david |
7 |
#include "qmconfig.h"
|
| 129 |
david |
8 |
|
| 130 |
- |
9 |
QmDialogLegStartTimes::QmDialogLegStartTimes(const QString &title, QWidget *parent) :
|
| 129 |
david |
10 |
QDialog(parent),
|
|
|
11 |
ui(new Ui::QmDialogLegStartTimes)
|
|
|
12 |
{
|
| 130 |
- |
13 |
ui->setupUi( this );
|
|
|
14 |
this->setWindowTitle(title);
|
| 320 |
david |
15 |
|
| 131 |
david |
16 |
ui->legNumber->setMaximum(config.num_legs);
|
| 203 |
- |
17 |
ui->deltaTimeEdit->setEnabled(false);
|
| 251 |
- |
18 |
ui->deltaTimeSecs->setEnabled(false);
|
| 203 |
- |
19 |
ui->timeEdit->setEnabled(false);
|
| 131 |
david |
20 |
|
| 320 |
david |
21 |
// Seed Leg Number from previous use
|
|
|
22 |
enableDone( appSettings->value("LegStartTimes/Leg",0).toInt());
|
|
|
23 |
ui->invalidateTimes->setChecked(appSettings->value("LegStartTimes/InvalidateTimes",false).toBool());
|
|
|
24 |
ui->genLegStartReport->setChecked(appSettings->value("LegStartTimes/GenerateReport",false).toBool());
|
|
|
25 |
|
|
|
26 |
|
| 131 |
david |
27 |
connect (ui->legNumber, SIGNAL(valueChanged(int)), this, SLOT(enableDone(int)));
|
| 251 |
- |
28 |
connect (ui->deltaTimeEdit, SIGNAL(dateTimeChanged(QDateTime)), this, SLOT(updateSecs()) );
|
| 129 |
david |
29 |
}
|
|
|
30 |
|
| 131 |
david |
31 |
void QmDialogLegStartTimes::enableDone(int val)
|
|
|
32 |
{
|
| 320 |
david |
33 |
ui->legNumber->setValue(val);
|
|
|
34 |
|
| 131 |
david |
35 |
QPushButton *okb = ui->buttonBox->button ( QDialogButtonBox::Ok );
|
|
|
36 |
if ( okb )
|
|
|
37 |
{
|
|
|
38 |
okb->setEnabled( val != 0 );
|
| 252 |
- |
39 |
if ( val )
|
|
|
40 |
{
|
|
|
41 |
ui->legName->setText(config.leg_name[val - 1] );
|
|
|
42 |
}
|
|
|
43 |
else
|
|
|
44 |
{
|
|
|
45 |
ui->legName->clear();
|
|
|
46 |
}
|
| 131 |
david |
47 |
}
|
|
|
48 |
else
|
|
|
49 |
{
|
| 132 |
david |
50 |
qDebug ("Can't find OK button");
|
| 131 |
david |
51 |
}
|
|
|
52 |
}
|
|
|
53 |
|
| 251 |
- |
54 |
void QmDialogLegStartTimes::updateSecs(void)
|
|
|
55 |
{
|
|
|
56 |
time_t t = getDeltaTime();
|
|
|
57 |
ui->deltaTimeSecs->setText(QString::number(t) + " Secs");
|
|
|
58 |
}
|
|
|
59 |
|
| 131 |
david |
60 |
void QmDialogLegStartTimes::setTimeLabel(const QString &label)
|
|
|
61 |
{
|
|
|
62 |
ui->label_time->setText(label);
|
| 203 |
- |
63 |
ui->timeEdit->setEnabled(true);
|
| 320 |
david |
64 |
ui->timeEdit->setTime(appSettings->value("LegStartTimes/Time",0).toTime());
|
| 131 |
david |
65 |
}
|
|
|
66 |
|
|
|
67 |
void QmDialogLegStartTimes::setDeltaTimeLabel(const QString &label)
|
|
|
68 |
{
|
|
|
69 |
ui->label_delta_time->setText(label);
|
| 203 |
- |
70 |
ui->deltaTimeEdit->setEnabled(true);
|
| 320 |
david |
71 |
ui->deltaTimeEdit->setTime(appSettings->value("LegStartTimes/DeltaTime",0).toTime());
|
| 131 |
david |
72 |
}
|
|
|
73 |
|
| 130 |
- |
74 |
int QmDialogLegStartTimes::getLeg ( void )
|
|
|
75 |
{
|
|
|
76 |
return ui->legNumber->value();
|
|
|
77 |
}
|
|
|
78 |
|
|
|
79 |
time_t QmDialogLegStartTimes::getTime ( void )
|
|
|
80 |
{
|
|
|
81 |
return QTime(0,0,0).secsTo(ui->timeEdit->time());
|
|
|
82 |
}
|
|
|
83 |
|
| 131 |
david |
84 |
time_t QmDialogLegStartTimes::getDeltaTime ( void )
|
|
|
85 |
{
|
|
|
86 |
return QTime(0,0,0).secsTo(ui->deltaTimeEdit->time());
|
|
|
87 |
}
|
|
|
88 |
|
| 130 |
- |
89 |
bool QmDialogLegStartTimes::getReport(void)
|
|
|
90 |
{
|
|
|
91 |
return ui->genLegStartReport->checkState();
|
|
|
92 |
}
|
|
|
93 |
|
|
|
94 |
bool QmDialogLegStartTimes::getClear(void)
|
|
|
95 |
{
|
|
|
96 |
return ui->invalidateTimes->checkState();
|
|
|
97 |
}
|
|
|
98 |
|
| 203 |
- |
99 |
void QmDialogLegStartTimes::setDescription(const QString &text)
|
|
|
100 |
{
|
|
|
101 |
ui->description->setText(text);
|
|
|
102 |
}
|
|
|
103 |
|
| 129 |
david |
104 |
QmDialogLegStartTimes::~QmDialogLegStartTimes()
|
|
|
105 |
{
|
| 320 |
david |
106 |
|
|
|
107 |
/*
|
|
|
108 |
** Save out the user settings
|
|
|
109 |
** Before the dialog is deconstructed
|
|
|
110 |
** Even if the user is cancelling
|
|
|
111 |
*/
|
|
|
112 |
appSettings->setValue("LegStartTimes/Leg", getLeg());
|
|
|
113 |
appSettings->setValue("LegStartTimes/InvalidateTimes", getClear());
|
|
|
114 |
appSettings->setValue("LegStartTimes/GenerateReport", getReport());
|
|
|
115 |
if (ui->timeEdit->isEnabled())
|
|
|
116 |
{
|
|
|
117 |
appSettings->setValue("LegStartTimes/Time", ui->timeEdit->time().toString("HH:mm:ss"));
|
|
|
118 |
}
|
|
|
119 |
if (ui->deltaTimeEdit->isEnabled())
|
|
|
120 |
{
|
|
|
121 |
appSettings->setValue("LegStartTimes/DeltaTime", ui->deltaTimeEdit->time().toString("HH:mm:ss"));
|
|
|
122 |
}
|
|
|
123 |
|
|
|
124 |
/*
|
|
|
125 |
** Now delete the UI
|
|
|
126 |
*/
|
| 129 |
david |
127 |
delete ui;
|
|
|
128 |
}
|