Subversion Repositories svn1-original

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
116 david 1
#include "teamdisplay.h"
2
#include "ui_teamdisplay.h"
3
#include "spinboxdelegate.h"
4
#include "timedelegate.h"
5
#include "textdelegate.h"
6
 
7
teamDisplay::teamDisplay(QWidget *parent) :
8
    QWidget(parent),
9
    ui(new Ui::teamDisplay)
10
{
11
    ui->setupUi(this);
12
    team = 0;
13
 
14
    /*
15
    ** Populate the Combo Box
16
    ** Should do more often
17
    */
18
    for ( int ii = 0; ii < config.num_class ; ii++)
19
    {
20
        ui->category->addItem(config.team_class[ii].full_name, ii);
21
    }
22
    ui->category->setCurrentIndex(-1);
23
 
117 david 24
    ui->members->setItemDelegateForColumn(0, new textDelegate(MAX_PERSON_NAME));
25
  //ui->members->setItemDelegateForColumn(1, new timeDelegate());
26
    ui->members->setItemDelegateForColumn(2, new SpinBoxDelegate(0,120));
116 david 27
 
122 david 28
    for ( int ii = 0 ; ii < config.num_legs; ii++)
29
    {
30
        QmLegTimes * lt = new QmLegTimes(config.leg_name[ii]);
31
        ui->legTime_layout->addWidget(lt);
32
    }
33
 
116 david 34
    connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(save()) );
35
    connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(cancel()) );
36
    connect(ui->teamNumber, SIGNAL(valueChanged(int)), this, SLOT(populate(int)) );
37
}
38
 
39
teamDisplay::~teamDisplay()
40
{
41
    delete ui;
42
}
43
 
44
void teamDisplay::populate(int team_number)
45
{
46
    team = team_number;
47
    g_record( team, &team_buf );
48
 
49
    /*
50
    ** Basic Data
51
    */
52
    ui->name->setText( team_buf.name );
53
    ui->category_abr->setText( config.team_class[team_buf.teamclass - 1].abr );
54
    ui->category->setCurrentIndex(team_buf.teamclass - 1);
55
 
56
    /*
57
    ** Team Member data
58
    */
59
    for ( int ii = 0; ii < config.num_legs; ii ++)
60
    {
61
         QTableWidgetItem *item;
62
        ui->members->setItem(ii, 0, new QTableWidgetItem(team_buf.members[ii].name) );
63
 
64
        item = new QTableWidgetItem();
65
        enum Qt::CheckState sex;
66
        switch ( team_buf.members[ii].sex )
67
        {
117 david 68
            case male:   sex = Qt::Unchecked;        break;
69
            case female: sex = Qt::Checked;          break;
70
            default:     sex = Qt::PartiallyChecked; break;
116 david 71
        }
72
        item->setCheckState(sex );
73
        ui->members->setItem(ii, 1, item );
74
 
75
        item = new QTableWidgetItem();
76
        item->setData(Qt::EditRole,team_buf.members[ii].age);
77
        ui->members->setItem(ii, 2, item );
78
    }
117 david 79
    ui->members->resizeColumnsToContents();
116 david 80
}
81
 
82
void teamDisplay::save(void)
83
{
84
}
85
 
86
void teamDisplay::cancel(void)
87
{
88
    populate(team);
89
}
90
 
91
void teamDisplay::changeEvent(QEvent *e)
92
{
117 david 93
//qDebug("ChangeEvent: %d",e->type());
116 david 94
    QWidget::changeEvent(e);
95
    switch (e->type()) {
96
    case QEvent::LanguageChange:
97
        ui->retranslateUi(this);
98
        break;
99
    default:
100
        break;
101
    }
102
}