Subversion Repositories svn1

Rev

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

Rev 386 Rev 387
Line 3... Line 3...
3
#include "QTableWidgetItem"
3
#include "QTableWidgetItem"
4
#include "QFile"
4
#include "QFile"
5
#include "QString"
5
#include "QString"
6
#include "QFileDialog"
6
#include "QFileDialog"
7
#include "QClipboard"
7
#include "QClipboard"
8
#include "QRegExp"
8
#include "QRegularExpression"
9
#include "mainwindow.h"
9
#include "mainwindow.h"
10
#include "QTextStream"
10
#include "QTextStream"
11
#include "timedelegate.h"
11
#include "timedelegate.h"
12
#include "qmconfig.h"
12
#include "qmconfig.h"
13
 
13
 
Line 114... Line 114...
114
void QmDialogUploadLegTimes::fromClip(void)
114
void QmDialogUploadLegTimes::fromClip(void)
115
{
115
{
116
    QClipboard *clipboard = QApplication::clipboard();
116
    QClipboard *clipboard = QApplication::clipboard();
117
    QString text = clipboard->text();
117
    QString text = clipboard->text();
118
    if (text.length() > 0) {
118
    if (text.length() > 0) {
119
        QStringList list = text.split(QRegExp("[\\r\\n]"));
119
        QStringList list = text.split(QRegularExpression("[\\r\\n]"),Qt::SkipEmptyParts	);
120
 
120
 
121
        ui->status->setText("Loading Data");
121
        ui->status->setText("Loading Data");
122
        for (int i = 0; i < list.size(); ++i)
122
        for (int i = 0; i < list.size(); ++i)
123
        {
123
        {
124
            processOneLine(list.at(i));
124
            processOneLine(list.at(i));
Line 134... Line 134...
134
    QStringList parts;
134
    QStringList parts;
135
    line = line.trimmed();             // Remove leading and training White Space
135
    line = line.trimmed();             // Remove leading and training White Space
136
    if (line.size() <= 0)
136
    if (line.size() <= 0)
137
        return;
137
        return;
138
 
138
 
139
    //  An array of possible imput parsers
139
    //  An array of possible input parsers
140
    //
140
    //
141
    QRegExp lineFormats[] = {
141
    QRegularExpression lineFormats[] = {
142
        QRegExp ("^(\\d+)\\s+(\\d+:\\d+:\\d+)$"),                           // 022 12:13:14
142
        QRegularExpression ("^(\\d+)\\s+(\\d+:\\d+:\\d+)$"),                           // 022 12:13:14
143
        QRegExp ("^(\\d+)\\s*,\\s*(\\d+:\\d+:\\d+)$"),                      // 022,12:13:14
143
        QRegularExpression ("^(\\d+)\\s*,\\s*(\\d+:\\d+:\\d+)$"),                      // 022,12:13:14
144
        QRegExp ("^(\\d+)\\s+\\d+-\\d+-\\d+\\s+(\\d+:\\d+:\\d+)\\.\\d+$"),  // 022 2019-08-01 12:13:14.123
144
        QRegularExpression ("^(\\d+)\\s+\\d+-\\d+-\\d+\\s+(\\d+:\\d+:\\d+)\\.\\d+$"),  // 022 2019-08-01 12:13:14.123
145
        QRegExp ("^\\d+,(\\d+),(\\d+:\\d+:\\d+)$"),                         // 001,022,12:13:14
145
        QRegularExpression ("^\\d+,(\\d+),(\\d+:\\d+:\\d+)$"),                         // 001,022,12:13:14
146
        QRegExp ("^\\d+,(\\d+),\\d+,\"(\\d+:\\d+:\\d+)\\.\\d+\"$"),         // 2,22,0,"09:40:09.612"
146
        QRegularExpression ("^\\d+,(\\d+),\\d+,\"(\\d+:\\d+:\\d+)\\.\\d+\"$"),         // 2,22,0,"09:40:09.612"
147
    };
147
    };
148
 
148
 
149
    for( unsigned int idx = 0 ; idx <(sizeof(lineFormats)/sizeof(*lineFormats)); idx++ )
149
    for( unsigned int idx = 0 ; idx <(sizeof(lineFormats)/sizeof(*lineFormats)); idx++ )
150
    {
150
    {
151
        if(lineFormats[idx].indexIn(line) == 0)
151
        QRegularExpressionMatch match = lineFormats[idx].match(line);
-
 
152
        if(match.hasMatch())
152
        {
153
        {
153
            parts = lineFormats[idx].capturedTexts();
154
            parts = match.capturedTexts();
154
        }
155
        }
155
    }
156
    }
156
 
157
 
157
    if ( parts.empty())
158
    if ( parts.empty())
158
    {
159
    {
Line 256... Line 257...
256
    titem->setData(Qt::EditRole, ltime);
257
    titem->setData(Qt::EditRole, ltime);
257
    titem->setFlags(titem->flags() & ~(Qt::ItemIsEditable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled));
258
    titem->setFlags(titem->flags() & ~(Qt::ItemIsEditable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled));
258
    ui->tableWidget->setItem(team-1,ii,titem);
259
    ui->tableWidget->setItem(team-1,ii,titem);
259
 
260
 
260
    //  Color if needed
261
    //  Color if needed
261
    if (isYellow)
262
    if (isYellow) {
262
        titem->setBackgroundColor(QColor(255,255,0,30));
263
        titem->setBackground( QBrush(QColor(255,255,0,30)));
-
 
264
    }
263
 
265
 
264
    //qDebug("Team: %d, %d of %d", team-1, ii, ui->tableWidget->columnCount() );
266
    //qDebug("Team: %d, %d of %d", team-1, ii, ui->tableWidget->columnCount() );
265
 
267
 
266
    if (ii == 3)
268
    if (ii == 3)
267
    {
269
    {
268
        titem = new QTableWidgetItem();
270
        titem = new QTableWidgetItem();
269
        titem->setData(Qt::EditRole, ltime);
271
        titem->setData(Qt::EditRole, ltime);
270
        ui->tableWidget->setItem(team-1,2,titem);
272
        ui->tableWidget->setItem(team-1,2,titem);
271
        titem->setBackgroundColor(QColor(0,255,0,30));
273
        titem->setBackground(QBrush(QColor(0,255,0,30)));
272
    }
274
    }
273
 
275
 
274
    int delta = max_time - min_time;
276
    int delta = max_time - min_time;
275
    if ( delta )
277
    if ( delta )
276
    {
278
    {
Line 341... Line 343...
341
            {
343
            {
342
                maxDelta = time;
344
                maxDelta = time;
343
            }
345
            }
344
            if ( time > delta )
346
            if ( time > delta )
345
            {
347
            {
346
                item->setBackgroundColor(QColor(255,0,0,50));
348
                item->setBackground(QBrush(QColor(255,0,0,50)));
347
                isFlagged = true;
349
                isFlagged = true;
348
            }
350
            }
349
            else
351
            else
350
            {
352
            {
351
                item->setBackgroundColor(QColor(255,255,255));
353
                item->setBackground(QBrush(QColor(255,255,255)));
352
                if ( ui->hideOk->isChecked())
354
                if ( ui->hideOk->isChecked())
353
                {
355
                {
354
                    show = false;
356
                    show = false;
355
                }
357
                }
356
            }
358
            }
Line 427... Line 429...
427
    if ( uitem->column() >= 3 )
429
    if ( uitem->column() >= 3 )
428
    {
430
    {
429
        QTableWidgetItem *titem = new QTableWidgetItem(*uitem);
431
        QTableWidgetItem *titem = new QTableWidgetItem(*uitem);
430
        titem->setFlags(titem->flags()| Qt::ItemIsEditable);
432
        titem->setFlags(titem->flags()| Qt::ItemIsEditable);
431
        ui->tableWidget->setItem(uitem->row(),2,titem);
433
        ui->tableWidget->setItem(uitem->row(),2,titem);
432
        titem->setBackgroundColor(QColor(0,0,255,30));
434
        titem->setBackground(QBrush(QColor(0,0,255,30)));
433
    }
435
    }
434
}
436
}
435
 
437
 
436
void QmDialogUploadLegTimes::legNumberChanged(int leg)
438
void QmDialogUploadLegTimes::legNumberChanged(int leg)
437
{
439
{