Subversion Repositories svn1

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
118 david 1
#include "qmlegtimes.h"
2
#include "ui_qmlegtimes.h"
3
 
119 david 4
QmLegTimes::QmLegTimes(const int legnum, const QString &name, QWidget *parent) :
118 david 5
    QWidget(parent),
6
    ui(new Ui::QmLegTimes)
7
{
8
    ui->setupUi(this);
119 david 9
    leg = legnum;
121 david 10
    inSetData = FALSE;
118 david 11
    ui->legName->setText(name);
119 david 12
 
123 - 13
    if (leg )
14
    {
15
        connect( ui->checkBox,  SIGNAL(stateChanged(int)),  this, SLOT(enableStartTime(int)) );
16
        connect( ui->startTime, SIGNAL(timeChanged(QTime)), this, SLOT(updateData(void)) );
17
        connect( ui->endTime,   SIGNAL(timeChanged(QTime)), this, SLOT(updateData(void)) );
18
    }
19
    else
20
    {
21
        ui->checkBox->setEnabled(FALSE);
22
        ui->startTime->setEnabled(FALSE);
23
        ui->endTime->setEnabled(FALSE);
24
    }
118 david 25
}
26
 
119 david 27
void QmLegTimes::setData(leg_type *data)
28
{
121 david 29
    inSetData = TRUE;
30
    if (data->start < 0 )
31
    {
32
        ui->startTime->setTime(QTime(0,0,0,0));
33
    }
34
    else
35
    {
36
        ui->startTime->setTime(QTime().addSecs(data->start));
37
    }
38
 
119 david 39
    ui->startTime->setEnabled(data->manual);
121 david 40
    if ( data->end < 0 )
41
    {
42
        ui->endTime->setTime(QTime(0,0,0,0));
43
    }
44
    else
45
    {
46
        ui->endTime->setTime(QTime().addSecs(data->end));
47
    }
48
 
49
    if ( data->elapsed < 0 )
50
    {
51
        ui->elapsedTime->setText(QTime().toString("HH:mm:ss"));
52
    }
53
    else
54
    {
55
        ui->elapsedTime->setText(QTime().addSecs(data->elapsed).toString("HH:mm:ss"));
56
    }
57
    //ui->elapsedTime->setText(QTime().addSecs(data->elapsed).toString("HH:mm:ss"));
119 david 58
    ui->checkBox->setChecked(data->manual);
59
    ui->lc_place->setText(QString::number(data->lc_place));
60
    ui->le_place->setText(QString::number(data->le_place));
61
    ui->l_place->setText(QString::number(data->l_place));
62
    ui->lec_place->setText(QString::number(data->lec_place));
121 david 63
    inSetData = FALSE;
119 david 64
}
65
 
121 david 66
void QmLegTimes::getData(leg_type *data)
67
{
68
    data->manual = ui->checkBox->checkState();
69
    data->start = QTime(0,0,0).secsTo(ui->startTime->time());
70
    data->end = QTime(0,0,0).secsTo(ui->endTime->time());
71
}
72
 
73
 
119 david 74
void QmLegTimes::enableStartTime( int state )
75
{
76
    ui->startTime->setEnabled(state);
121 david 77
    updateData();
119 david 78
}
79
 
121 david 80
void QmLegTimes::updateData(void)
120 david 81
{
121 david 82
    if ( ! inSetData )
83
    {
84
        qDebug("TimeChanged");
85
        emit dataChanged();
86
    }
120 david 87
}
88
 
118 david 89
QmLegTimes::~QmLegTimes()
90
{
91
    delete ui;
92
}
93
 
94
void QmLegTimes::changeEvent(QEvent *e)
95
{
96
    QWidget::changeEvent(e);
97
    switch (e->type()) {
98
    case QEvent::LanguageChange:
99
        ui->retranslateUi(this);
100
        break;
101
    default:
102
        break;
103
    }
104
}