Subversion Repositories svn1-original

Rev

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

Rev 248 Rev 249
Line 26... Line 26...
26
    connect(ui->deltaTime, SIGNAL(valueChanged(int)), this, SLOT(updateDeltaDisplay()));
26
    connect(ui->deltaTime, SIGNAL(valueChanged(int)), this, SLOT(updateDeltaDisplay()));
27
    connect(ui->hideOk, SIGNAL(clicked()), this, SLOT(updateDeltaDisplay()));
27
    connect(ui->hideOk, SIGNAL(clicked()), this, SLOT(updateDeltaDisplay()));
28
 
28
 
29
 
29
 
30
    // Set up the table
30
    // Set up the table
-
 
31
    // First column is not a 'time' column
31
     ui->tableWidget->setColumnCount(7);
32
    ui->tableWidget->setColumnCount(1);
-
 
33
    ui->tableWidget->setHorizontalHeaderItem ( 0, new QTableWidgetItem ("Team"));
-
 
34
    addColumn("Delta");
-
 
35
    addColumn("Used");
-
 
36
    addColumn("Time");
32
 
37
 
33
     QStringList labels;
38
    // Wire up the table
34
     labels << "Team" << "Delta" << "Use" << "Time" << "Time" << "Time" << "Time";
-
 
35
     ui->tableWidget->setHorizontalHeaderLabels(labels);
-
 
36
 
-
 
37
     ui->tableWidget->setItemDelegateForColumn(1, new timeDelegate());
-
 
38
     ui->tableWidget->setItemDelegateForColumn(2, new timeDelegate());
-
 
39
     ui->tableWidget->setItemDelegateForColumn(3, new timeDelegate());
-
 
40
     ui->tableWidget->setItemDelegateForColumn(4, new timeDelegate());
-
 
41
     ui->tableWidget->setItemDelegateForColumn(5, new timeDelegate());
-
 
42
     ui->tableWidget->setItemDelegateForColumn(6, new timeDelegate());
-
 
43
     connect(ui->tableWidget,SIGNAL(itemDoubleClicked (QTableWidgetItem*)), this,SLOT(itemActivated(QTableWidgetItem*)));
39
    connect(ui->tableWidget,SIGNAL(itemDoubleClicked (QTableWidgetItem*)), this,SLOT(itemActivated(QTableWidgetItem*)));
44
 
40
 
-
 
41
    // Init status
45
     ui->status->setText("Load Leg File");
42
    ui->status->setText("Load Leg File");
46
}
43
}
47
 
44
 
48
QmDialogUploadLegTimes::~QmDialogUploadLegTimes()
45
QmDialogUploadLegTimes::~QmDialogUploadLegTimes()
49
{
46
{
50
    delete ui;
47
    delete ui;
51
}
48
}
52
 
49
 
-
 
50
void QmDialogUploadLegTimes::addColumn(QString hdr)
-
 
51
{
-
 
52
    int col = ui->tableWidget->columnCount();
-
 
53
    ui->tableWidget->insertColumn(col);
-
 
54
 
-
 
55
    // Insert header
-
 
56
    ui->tableWidget->setHorizontalHeaderItem ( col, new QTableWidgetItem (hdr));
-
 
57
 
-
 
58
    // Insert Time Delegate
-
 
59
    ui->tableWidget->setItemDelegateForColumn(col, new timeDelegate());
-
 
60
}
-
 
61
 
53
void QmDialogUploadLegTimes::load(void)
62
void QmDialogUploadLegTimes::load(void)
54
{
63
{
55
    QString fileName = QFileDialog::getOpenFileName(this, tr("Load File"),
64
    QString fileName = QFileDialog::getOpenFileName(this, tr("Load File"),
56
                                                 filepath,
65
                                                 filepath,
57
                                                 tr("Legs (*leg*);;Data (*.leg);;All (*.*)"),
66
                                                 tr("Legs (*leg*);;Data (*.leg);;All (*.*)"),
Line 132... Line 141...
132
            continue;
141
            continue;
133
        }
142
        }
134
        //qDebug("Tead: %d, Secs: %d", team, lsecs );
143
        //qDebug("Tead: %d, Secs: %d", team, lsecs );
135
        unsigned int min_time = lsecs;
144
        unsigned int min_time = lsecs;
136
        unsigned int max_time = lsecs;
145
        unsigned int max_time = lsecs;
-
 
146
        bool empty_cell_found = false;
137
 
147
 
138
        for (ii=3 ; ii < ui->tableWidget->columnCount() - 1; ii++)
148
        for (ii=3 ; ii < ui->tableWidget->columnCount() - 1; ii++)
139
        {
149
        {
140
            titem = ui->tableWidget->item(team-1,ii);
150
            titem = ui->tableWidget->item(team-1,ii);
141
            if (! titem)
151
            if (! titem)
142
            {
152
            {
-
 
153
                // Empty cell found
-
 
154
                empty_cell_found = true;
143
                break;
155
                break;
144
            }
156
            }
145
 
157
 
146
            QTime entry = titem->data(Qt::EditRole).toTime();
158
            QTime entry = titem->data(Qt::EditRole).toTime();
147
            unsigned int secs = QTime(0,0,0).secsTo(entry);
159
            unsigned int secs = QTime(0,0,0).secsTo(entry);
148
            if ( secs < min_time )
160
            if ( secs < min_time )
149
                min_time = secs;
161
                min_time = secs;
150
            if (secs > max_time)
162
            if (secs > max_time)
151
                max_time = secs;
163
                max_time = secs;
152
        }
164
        }
-
 
165
 
-
 
166
        // No space found for the data - add a new column
-
 
167
        if ( ! empty_cell_found )
-
 
168
        {
-
 
169
            addColumn("Time");
-
 
170
            ii = ui->tableWidget->columnCount() - 1;
-
 
171
        }
-
 
172
 
-
 
173
        // Insert data into cell
153
        titem = new QTableWidgetItem();
174
        titem = new QTableWidgetItem();
154
        titem->setData(Qt::EditRole, ltime);
175
        titem->setData(Qt::EditRole, ltime);
155
        titem->setFlags(titem->flags() & ~(Qt::ItemIsEditable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled));
176
        titem->setFlags(titem->flags() & ~(Qt::ItemIsEditable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled));
156
        ui->tableWidget->setItem(team-1,ii,titem);
177
        ui->tableWidget->setItem(team-1,ii,titem);
157
        //qDebug("Team: %d, %d of %d", team-1, ii, ui->tableWidget->columnCount() );
178
        //qDebug("Team: %d, %d of %d", team-1, ii, ui->tableWidget->columnCount() );