Subversion Repositories svn1-original

Rev

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

Rev Author Line No. Line
107 - 1
#include "qmconfwinners.h"
2
#include "ui_qmconfwinners.h"
3
 
108 - 4
#include    "consts.h"
5
#include    "structs.h"
6
#include    "proto.h"
7
 
8
#include "QTableWidgetItem"
9
 
107 - 10
QmConfWinners::QmConfWinners(QWidget *parent) :
11
    QWidget(parent),
12
    ui(new Ui::QmConfWinners)
13
{
14
    ui->setupUi(this);
108 - 15
    connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(save()) );
16
    connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(cancel()) );
17
 
18
    ui->tableWidget->setRowCount(MAX_FAME);
19
    populate();
107 - 20
}
21
 
22
QmConfWinners::~QmConfWinners()
23
{
24
    delete ui;
25
}
26
 
108 - 27
void QmConfWinners::populate(void)
28
{
29
    for ( int ii = 0; ii < MAX_FAME; ii++)
30
    {
31
        ui->tableWidget->setItem(ii, 0, new QTableWidgetItem(config.hall_fame[ii] ));
32
    }
33
}
34
 
35
void QmConfWinners::save(void)
36
{
37
    int error = 0;
38
 
39
    /*
40
    **    Copy original data
41
    */
42
    MARA_CFG    newcfg = config;
43
 
44
    /*
45
    **  Extract the data from the Widgets
46
    */
47
    for ( int ii = 0; ii < MAX_FAME; ii++)
48
    {
49
        QTableWidgetItem *item = ui->tableWidget->item ( ii, 0 );
50
        if ( item )
51
        {
52
            strncpy(newcfg.hall_fame[ii], qPrintable(item->text()), sizeof(newcfg.hall_fame[ii])-1);
53
        }
54
    }
55
 
56
    newcfg.num_fame = 0;
57
    for( int i = 0; i < MAX_FAME; i++ )
58
        if( newcfg.hall_fame[i][0] )
59
            newcfg.num_fame++;
60
 
61
    for( int i = newcfg.num_fame; i < MAX_FAME; i++ )
62
        if( newcfg.hall_fame[i][0] )
63
        {
64
            printf( "Configuration error: Missing Fame name. Gaps not allowed\n" );
65
            error++;
66
            break;
67
        }
68
 
69
    if ( error == 0 )
70
    {
71
        config = newcfg;
72
        wt_config();
73
    }
74
}
75
 
76
void QmConfWinners::cancel(void)
77
{
78
    populate();
79
}
107 - 80
void QmConfWinners::changeEvent(QEvent *e)
81
{
82
    QWidget::changeEvent(e);
83
    switch (e->type()) {
84
    case QEvent::LanguageChange:
85
        ui->retranslateUi(this);
86
        break;
87
    default:
88
        break;
89
    }
90
}