Subversion Repositories svn1-original

Rev

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

Rev 140 Rev 142
Line 48... Line 48...
48
    delete ui;
48
    delete ui;
49
}
49
}
50
 
50
 
51
void qmTeamDisplay::populate(int team_number)
51
void qmTeamDisplay::populate(int team_number)
52
{
52
{
-
 
53
    ui->teamNumber->setMaximum(config.max_team);
53
    team = team_number;
54
    team = team_number;
54
    g_record( team, &team_buf );
55
    g_record( team, &team_buf );
55
 
56
 
56
    /*
57
    /*
57
    ** Basic Data
58
    ** Basic Data
Line 61... Line 62...
61
    ui->category->setCurrentIndex(team_buf.teamclass - 1);
62
    ui->category->setCurrentIndex(team_buf.teamclass - 1);
62
    //TODO: Link update of combo box to the abreviation display
63
    //TODO: Link update of combo box to the abreviation display
63
 
64
 
64
    ui->disqualified->setCheckState(team_buf.flags.disqualified ? Qt::Checked : Qt::Unchecked);
65
    ui->disqualified->setCheckState(team_buf.flags.disqualified ? Qt::Checked : Qt::Unchecked);
65
    ui->nonEquestrian->setCheckState(team_buf.flags.non_equestrian ? Qt::Checked : Qt::Unchecked);
66
    ui->nonEquestrian->setCheckState(team_buf.flags.non_equestrian ? Qt::Checked : Qt::Unchecked);
-
 
67
    ui->disabled->setCheckState( !team_buf.flags.valid ? Qt::Checked : Qt::Unchecked);
-
 
68
 
66
 
69
 
67
    /*
70
    /*
68
    ** Team Member data
71
    ** Team Member data
69
    */
72
    */
-
 
73
    int age_sum = 0;
70
    for ( int ii = 0; ii < config.num_legs; ii ++)
74
    for ( int ii = 0; ii < config.num_legs; ii ++)
71
    {
75
    {
72
         QTableWidgetItem *item;
76
         QTableWidgetItem *item;
73
        ui->members->setItem(ii, 0, new QTableWidgetItem(team_buf.members[ii].name) );
77
        ui->members->setItem(ii, 0, new QTableWidgetItem(team_buf.members[ii].name) );
74
 
78
 
75
        item = new QTableWidgetItem();
79
        item = new QTableWidgetItem();
-
 
80
        item->setFlags(Qt::ItemIsTristate | item->flags());
76
        enum Qt::CheckState sex;
81
        enum Qt::CheckState sex;
77
        switch ( team_buf.members[ii].sex )
82
        switch ( team_buf.members[ii].sex )
78
        {
83
        {
79
            case male:   sex = Qt::Unchecked;        break;
84
            case male:   sex = Qt::Unchecked;        break;
80
            case female: sex = Qt::Checked;          break;
85
            case female: sex = Qt::Checked;          break;
81
            default:     sex = Qt::PartiallyChecked; break;
86
            default:     sex = Qt::PartiallyChecked; break;
82
        }
87
        }
-
 
88
        //qDebug("RSex:%d, %d, %d, %d", team, ii, sex, team_buf.members[ii].sex);
83
        item->setCheckState(sex );
89
        item->setCheckState(sex );
84
        ui->members->setItem(ii, 1, item );
90
        ui->members->setItem(ii, 1, item );
85
 
91
 
86
        item = new QTableWidgetItem();
92
        item = new QTableWidgetItem();
87
        item->setData(Qt::EditRole,team_buf.members[ii].age);
93
        item->setData(Qt::EditRole,team_buf.members[ii].age);
88
        ui->members->setItem(ii, 2, item );
94
        ui->members->setItem(ii, 2, item );
-
 
95
 
-
 
96
        /*
-
 
97
        **  Sum ages
-
 
98
        **  -1 indicates invalid age
-
 
99
        */
-
 
100
        if ( age_sum >= 0 )
-
 
101
        {
-
 
102
            ushort age = team_buf.members[ii].age;
-
 
103
            if ( age > 0 && age < 255 )
-
 
104
            {
-
 
105
                age_sum += age;
-
 
106
            }
-
 
107
            else
-
 
108
            {
-
 
109
                age_sum = -1;
-
 
110
            }
-
 
111
        }
89
    }
112
    }
-
 
113
 
-
 
114
    if ( age_sum <= 0 )
-
 
115
    {
-
 
116
        ui->totalAge->setText("--");
-
 
117
    }
-
 
118
    else
-
 
119
    {
-
 
120
        ui->totalAge->setText(QString::number(age_sum));
-
 
121
    }
-
 
122
 
90
    ui->members->resizeColumnsToContents();
123
    ui->members->resizeColumnsToContents();
91
 
124
 
92
    /*
125
    /*
93
    ** Leg Times
126
    ** Leg Times
94
    */
127
    */
Line 121... Line 154...
121
    strncpy(team_buf.name , qPrintable(ui->name->text()), sizeof(team_buf.name));
154
    strncpy(team_buf.name , qPrintable(ui->name->text()), sizeof(team_buf.name));
122
    team_buf.teamclass = ui->category->currentIndex() + 1;
155
    team_buf.teamclass = ui->category->currentIndex() + 1;
123
 
156
 
124
    team_buf.flags.disqualified =  ( ui->disqualified->checkState () == Qt::Checked);
157
    team_buf.flags.disqualified =  ( ui->disqualified->checkState () == Qt::Checked);
125
    team_buf.flags.non_equestrian =  ( ui->nonEquestrian->checkState () == Qt::Checked);
158
    team_buf.flags.non_equestrian =  ( ui->nonEquestrian->checkState () == Qt::Checked);
-
 
159
    team_buf.flags.valid =  ( ui->disabled->checkState () != Qt::Checked);
126
 
160
 
127
    /*
161
    /*
128
    ** Extract Team Member Data
162
    ** Extract Team Member Data
129
    */
163
    */
130
    for ( int ii = 0; ii < config.num_legs; ii ++)
164
    for ( int ii = 0; ii < config.num_legs; ii ++)
Line 133... Line 167...
133
        item = ui->members->item ( ii, 0 );
167
        item = ui->members->item ( ii, 0 );
134
        strncpy(team_buf.members[ii].name , qPrintable(item->text()), sizeof(team_buf.members[ii].name));
168
        strncpy(team_buf.members[ii].name , qPrintable(item->text()), sizeof(team_buf.members[ii].name));
135
 
169
 
136
        //TODO: Make Sex edit work
170
        //TODO: Make Sex edit work
137
        item = ui->members->item ( ii, 1 );
171
        item = ui->members->item ( ii, 1 );
138
        switch (item->data(Qt::EditRole).toInt())
172
        enum Qt::CheckState sex = item->checkState();
-
 
173
        switch (sex)
139
        {
174
        {
140
            case Qt::Unchecked: team_buf.members[ii].sex = male;  break;
175
            case Qt::Unchecked: team_buf.members[ii].sex = male;  break;
141
            case Qt::Checked: team_buf.members[ii].sex = female; break;
176
            case Qt::Checked: team_buf.members[ii].sex = female; break;
142
            default: team_buf.members[ii].sex = unknown; break;
177
            default: team_buf.members[ii].sex = unknown; break;
143
        }
178
        }
-
 
179
        //qDebug("WSex:%d, %d, %d, %d", team, ii, sex, team_buf.members[ii].sex);
144
 
180
 
145
        item = ui->members->item ( ii, 2 );
181
        item = ui->members->item ( ii, 2 );
146
        team_buf.members[ii].age = item->data(Qt::EditRole).toInt();
182
        team_buf.members[ii].age = item->data(Qt::EditRole).toInt();
147
 
183
 
148
    }
184
    }
Line 150... Line 186...
150
 
186
 
151
    /*
187
    /*
152
    ** Save the record back to disk
188
    ** Save the record back to disk
153
    */
189
    */
154
    put_team_record( team, &team_buf );
190
    put_team_record( team, &team_buf );
-
 
191
    populate(team);
155
}
192
}
156
 
193
 
157
void qmTeamDisplay::cancel(void)
194
void qmTeamDisplay::cancel(void)
158
{
195
{
159
    populate(team);
196
    populate(team);