Subversion Repositories svn1

Rev

Rev 126 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 126 Rev 143
Line -... Line 1...
-
 
1
/*============================================================================
-
 
2
**
-
 
3
**  Project/Product :
-
 
4
**  Filename        : qmlegtimes.cpp
-
 
5
**  Author(s)       : DDP
-
 
6
**
-
 
7
**  Description     : Display and edit leg time information
-
 
8
**
-
 
9
**
-
 
10
**  Information     :
-
 
11
**   Compiler       : ANSI C++
-
 
12
**   Target         : 
-
 
13
**
-
 
14
***==========================================================================*/
-
 
15
 
1
#include "qmlegtimes.h"
16
#include "qmlegtimes.h"
2
#include "ui_qmlegtimes.h"
17
#include "ui_qmlegtimes.h"
3
 
18
 
-
 
19
/*----------------------------------------------------------------------------
-
 
20
** FUNCTION           : QmLegTimes
-
 
21
**
-
 
22
** DESCRIPTION        : Constructor
-
 
23
**
-
 
24
**
-
 
25
** INPUTS             : legnum
-
 
26
**                      name
-
 
27
**                      parent
-
 
28
**
-
 
29
** RETURNS            :
-
 
30
**
-
 
31
----------------------------------------------------------------------------*/
-
 
32
 
4
QmLegTimes::QmLegTimes(const int legnum, const QString &name, QWidget *parent) :
33
QmLegTimes::QmLegTimes(const int legnum, const QString &name, QWidget *parent) :
5
    QWidget(parent),
34
    QWidget(parent),
6
    ui(new Ui::QmLegTimes)
35
    ui(new Ui::QmLegTimes)
7
{
36
{
8
    ui->setupUi(this);
37
    ui->setupUi(this);
9
    leg = legnum;
38
    leg = legnum;
10
    inSetData = FALSE;
39
    inSetData = FALSE;
11
    ui->legName->setText(name);
40
    ui->legName->setText(name);
12
 
41
 
-
 
42
    /*
-
 
43
    **  Wire up the edit signals
-
 
44
    **  Leg-0 is special as its all calculated data and not editable
-
 
45
    */
13
    if ( leg )
46
    if ( leg )
14
    {
47
    {
15
        connect( ui->checkBox,  SIGNAL(stateChanged(int)),  this, SLOT(enableStartTime(int)) );
48
        connect( ui->checkBox,  SIGNAL(stateChanged(int)),  this, SLOT(enableStartTime(int)) );
16
        connect( ui->startTime, SIGNAL(timeChanged(QTime)), this, SLOT(updateData(void)) );
49
        connect( ui->startTime, SIGNAL(timeChanged(QTime)), this, SLOT(updateData(void)) );
17
        connect( ui->endTime,   SIGNAL(timeChanged(QTime)), this, SLOT(updateData(void)) );
50
        connect( ui->endTime,   SIGNAL(timeChanged(QTime)), this, SLOT(updateData(void)) );
Line 22... Line 55...
22
        ui->startTime->setEnabled(FALSE);
55
        ui->startTime->setEnabled(FALSE);
23
        ui->endTime->setEnabled(FALSE);
56
        ui->endTime->setEnabled(FALSE);
24
    }
57
    }
25
}
58
}
26
 
59
 
-
 
60
/*----------------------------------------------------------------------------
-
 
61
** FUNCTION           : ~QmLegTimes
-
 
62
**
-
 
63
** DESCRIPTION        : Descructor
-
 
64
**
-
 
65
**
-
 
66
** INPUTS             :
-
 
67
**
-
 
68
** RETURNS            :
-
 
69
**
-
 
70
----------------------------------------------------------------------------*/
-
 
71
 
-
 
72
QmLegTimes::~QmLegTimes()
-
 
73
{
-
 
74
    delete ui;
-
 
75
}
-
 
76
 
-
 
77
/*----------------------------------------------------------------------------
-
 
78
** FUNCTION           : setData
-
 
79
**
-
 
80
** DESCRIPTION        : Populate the widget with data from a team entry
-
 
81
**
-
 
82
**
-
 
83
** INPUTS             : data        - Leg entry to source data from
-
 
84
**
-
 
85
** RETURNS            :
-
 
86
**
-
 
87
----------------------------------------------------------------------------*/
-
 
88
 
27
void QmLegTimes::setData(leg_type *data)
89
void QmLegTimes::setData(leg_type *data)
28
{
90
{
29
    inSetData = TRUE;
91
    inSetData = TRUE;
30
    if (data->start < 0 )
92
    if (data->start < 0 )
31
    {
93
    {
Line 52... Line 114...
52
    }
114
    }
53
    else
115
    else
54
    {
116
    {
55
        ui->elapsedTime->setText(QTime().addSecs(data->elapsed).toString("HH:mm:ss"));
117
        ui->elapsedTime->setText(QTime().addSecs(data->elapsed).toString("HH:mm:ss"));
56
    }
118
    }
57
    //ui->elapsedTime->setText(QTime().addSecs(data->elapsed).toString("HH:mm:ss"));
-
 
58
    ui->checkBox->setChecked(data->manual);
119
    ui->checkBox->setChecked(data->manual);
59
    ui->lc_place->setText(QString::number(data->lc_place));
120
    ui->lc_place->setText(QString::number(data->lc_place));
60
    ui->le_place->setText(QString::number(data->le_place));
121
    ui->le_place->setText(QString::number(data->le_place));
61
    ui->l_place->setText(QString::number(data->l_place));
122
    ui->l_place->setText(QString::number(data->l_place));
62
    ui->lec_place->setText(QString::number(data->lec_place));
123
    ui->lec_place->setText(QString::number(data->lec_place));
63
    inSetData = FALSE;
124
    inSetData = FALSE;
64
}
125
}
65
 
126
 
-
 
127
/*----------------------------------------------------------------------------
-
 
128
** FUNCTION           : getData
-
 
129
**
-
 
130
** DESCRIPTION        : Return widget data directly into the leg data structure
-
 
131
**
-
 
132
**
-
 
133
** INPUTS             : data        - ref to target data
-
 
134
**
-
 
135
** RETURNS            :
-
 
136
**
-
 
137
----------------------------------------------------------------------------*/
-
 
138
 
-
 
139
 
66
void QmLegTimes::getData(leg_type *data)
140
void QmLegTimes::getData(leg_type *data)
67
{
141
{
68
    data->manual = ui->checkBox->checkState();
142
    data->manual = ui->checkBox->checkState();
69
    data->start = QTime(0,0,0).secsTo(ui->startTime->time());
143
    data->start = QTime(0,0,0).secsTo(ui->startTime->time());
70
    data->end = QTime(0,0,0).secsTo(ui->endTime->time());
144
    data->end = QTime(0,0,0).secsTo(ui->endTime->time());
71
}
145
}
72
 
146
 
-
 
147
/*----------------------------------------------------------------------------
-
 
148
** FUNCTION           : enableStartTime
-
 
149
**
-
 
150
** DESCRIPTION        : Maintain the state of the starttime widget
-
 
151
**
-
 
152
**
-
 
153
** INPUTS             : state       - New state
-
 
154
**
-
 
155
** RETURNS            :
-
 
156
**
-
 
157
----------------------------------------------------------------------------*/
-
 
158
 
73
 
159
 
74
void QmLegTimes::enableStartTime( int state )
160
void QmLegTimes::enableStartTime( int state )
75
{
161
{
76
    ui->startTime->setEnabled(state);
162
    ui->startTime->setEnabled(state);
77
    updateData();
163
    updateData();
78
}
164
}
79
 
165
 
-
 
166
/*----------------------------------------------------------------------------
-
 
167
** FUNCTION           : updateData
-
 
168
**
-
 
169
** DESCRIPTION        : Indicate that data has changed
-
 
170
**                      This will result in all data in all legs being updated
-
 
171
**
-
 
172
**
-
 
173
** INPUTS             :
-
 
174
**
-
 
175
** RETURNS            :
-
 
176
**
-
 
177
----------------------------------------------------------------------------*/
-
 
178
 
80
void QmLegTimes::updateData(void)
179
void QmLegTimes::updateData(void)
81
{
180
{
82
    if ( ! inSetData )
181
    if ( ! inSetData )
83
    {
182
    {
84
        qDebug("TimeChanged");
183
        qDebug("TimeChanged");
85
        emit dataChanged();
184
        emit dataChanged();
86
    }
185
    }
87
}
186
}
88
 
187
 
-
 
188
/*----------------------------------------------------------------------------
-
 
189
** FUNCTION           : changeEvent 
-
 
190
**
-
 
191
** DESCRIPTION        :
-
 
192
**
-
 
193
**
89
QmLegTimes::~QmLegTimes()
194
** INPUTS             :
90
{
195
**
91
    delete ui;
196
** RETURNS            :
-
 
197
**
-
 
198
----------------------------------------------------------------------------*/
92
}
199
 
93
 
200
 
94
void QmLegTimes::changeEvent(QEvent *e)
201
void QmLegTimes::changeEvent(QEvent *e)
95
{
202
{
96
    QWidget::changeEvent(e);
203
    QWidget::changeEvent(e);
97
    switch (e->type()) {
204
    switch (e->type()) {