Subversion Repositories svn1-original

Rev

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