Subversion Repositories svn1

Rev

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

Rev 144 Rev 145
Line 1... Line 1...
1
#include "qmdialogloadexternalteams.h"
1
#include "qmdialogloadexternalteams.h"
2
#include "ui_qmdialogloadexternalteams.h"
2
#include "ui_qmdialogloadexternalteams.h"
-
 
3
#include "QFile"
-
 
4
#include "QTextStream"
-
 
5
#include "mainwindow.h"
-
 
6
#include <QRegExp>
3
 
7
 
-
 
8
#include    "consts.h"
-
 
9
#include    "structs.h"
-
 
10
#include    "proto.h"
-
 
11
 
4
QmDialogLoadExternalTeams::QmDialogLoadExternalTeams(const QString &title,QWidget *parent) :
12
QmDialogLoadExternalTeams::QmDialogLoadExternalTeams(const QString &efile,QWidget *parent) :
5
    QDialog(parent),
13
    QDialog(parent),
6
    ui(new Ui::QmDialogLoadExternalTeams)
14
    ui(new Ui::QmDialogLoadExternalTeams)
7
{
15
{
8
    ui->setupUi(this);
16
    ui->setupUi(this);
-
 
17
    setWindowTitle("Load External Team Data");
-
 
18
    ui->fileName->setText(efile);
-
 
19
 
-
 
20
    // Open the users file
-
 
21
 
9
    setWindowTitle(title);
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
     }
10
}
85
}
11
 
86
 
12
QmDialogLoadExternalTeams::~QmDialogLoadExternalTeams()
87
QmDialogLoadExternalTeams::~QmDialogLoadExternalTeams()
13
{
88
{
14
    delete ui;
89
    delete ui;