Rev 174 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "qmconfwinners.h"#include "qmconfig.h"#include "ui_qmconfwinners.h"#include "consts.h"#include "structs.h"#include "proto.h"#include "QTableWidgetItem"QmConfWinners::QmConfWinners(QWidget *parent) :QWidget(parent),ui(new Ui::QmConfWinners){ui->setupUi(this);connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(save()) );connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(cancel()) );ui->tableWidget->setRowCount(MAX_FAME);populate();}QmConfWinners::~QmConfWinners(){delete ui;}void QmConfWinners::populate(void){for ( int ii = 0; ii < MAX_FAME; ii++){ui->tableWidget->setItem(ii, 0, new QTableWidgetItem(config.hall_fame[ii] ));}}void QmConfWinners::save(void){int error = 0;/*** Copy original data*/QmConfig newcfg(config);/*** Extract the data from the Widgets*/for ( int ii = 0; ii < MAX_FAME; ii++){QTableWidgetItem *item = ui->tableWidget->item ( ii, 0 );if ( item ){strncpy(newcfg.hall_fame[ii], qPrintable(item->text()), sizeof(newcfg.hall_fame[ii])-1);}}newcfg.num_fame = 0;for( int i = 0; i < MAX_FAME; i++ )if( newcfg.hall_fame[i][0] )newcfg.num_fame++;for( int i = newcfg.num_fame; i < MAX_FAME; i++ )if( newcfg.hall_fame[i][0] ){printf( "Configuration error: Missing Fame name. Gaps not allowed\n" );error++;break;}if ( error == 0 ){config = newcfg;config.write_config();}}void QmConfWinners::cancel(void){populate();}void QmConfWinners::changeEvent(QEvent *e){QWidget::changeEvent(e);switch (e->type()) {case QEvent::LanguageChange:ui->retranslateUi(this);break;default:break;}}