Subversion Repositories svn1

Rev

Rev 144 | Rev 146 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
144 - 1
#include "qmdialogloadexternalteams.h"
2
#include "ui_qmdialogloadexternalteams.h"
145 - 3
#include "QFile"
4
#include "QTextStream"
5
#include "mainwindow.h"
6
#include <QRegExp>
144 - 7
 
145 - 8
#include    "consts.h"
9
#include    "structs.h"
10
#include    "proto.h"
11
 
12
QmDialogLoadExternalTeams::QmDialogLoadExternalTeams(const QString &efile,QWidget *parent) :
144 - 13
    QDialog(parent),
14
    ui(new Ui::QmDialogLoadExternalTeams)
15
{
16
    ui->setupUi(this);
145 - 17
    setWindowTitle("Load External Team Data");
18
    ui->fileName->setText(efile);
19
 
20
    // Open the users file
21
 
22
    QFile file(efile);
23
    if ( ! file.open(QIODevice::ReadOnly | QIODevice::Text) )
24
    {
25
        MainWindow::showMessage("Cannot open external data file");
26
        return;
27
    }
28
 
29
    ui->tableWidget->setColumnCount(3 + ( 2 * config.num_legs) );
30
 
31
 
32
    // Process Each line of the file
33
    QTextStream in(&file);
34
    int ii = 0;
35
    QRegExp csv_split("\"?,\"?");
36
    while (!in.atEnd())
37
    {
38
         QString line = in.readLine();
39
         line = line.trimmed();             // Remove leading and training White Space
40
         line.remove(0xA0);                 // M$ special uglyness
41
 
42
         QStringList parts = line.split(csv_split);
43
         QString first = parts.value(0);
44
         bool ok;
45
         if ( first.isEmpty() )
46
             continue;
47
         int team = first.toInt(&ok);
48
         if ( ! ok || team <= 0 )
49
             continue;
50
         ui->tableWidget->setRowCount(1+ii);
51
 
52
         // Insert Team number
53
         ui->tableWidget->setItem(ii, 0, new QTableWidgetItem(first));
54
         parts.removeFirst();
55
 
56
         // Extract Team Name
57
         ui->tableWidget->setItem(ii, 1, new QTableWidgetItem( parts.value(0) ) );
58
         parts.removeFirst();
59
 
60
         // Extract Team Cat
61
         ui->tableWidget->setItem(ii, 2, new QTableWidgetItem( parts.value(0)));
62
         parts.removeFirst();
63
 
64
         int yy = 0;
65
         while ( parts.count() > 0)
66
         {
67
             // Name of competitor
68
             ui->tableWidget->setItem(ii, 3+yy, new QTableWidgetItem( parts.value(0)));
69
             parts.removeFirst();
70
 
71
             // Posible age - if its a number
72
             int age = parts.value(0).toInt(&ok);
73
             if ( ok && age > 0 )
74
             {
75
                 ui->tableWidget->setItem(ii, 4+yy, new QTableWidgetItem( parts.value(0)));
76
                 parts.removeFirst();
77
             }
78
             yy += 2;
79
         }
80
         ii++;
81
 
82
 
83
         //process_line(line);
84
     }
144 - 85
}
86
 
87
QmDialogLoadExternalTeams::~QmDialogLoadExternalTeams()
88
{
89
    delete ui;
90
}