Rev 306 | Rev 308 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "qmdialogchangeteamnumber.h"#include "ui_qmdialogchangeteamnumber.h"#include "mainwindow.h"#include <QPushButton>>QmDialogChangeTeamNumber::QmDialogChangeTeamNumber(const QString &title, QWidget *parent) :QDialog(parent),ui(new Ui::QmDialogChangeTeamNumber){ui->setupUi(this);this->setWindowTitle(title);ui->sourceTeam->setMinimum(config.min_team);ui->sourceTeam->setMaximum(config.max_team);ui->sourceTeam->setValue(0);sourceTeam = 0;ui->targetTeam->setMinimum(config.min_team);ui->targetTeam->setMaximum(config.max_team);ui->targetTeam->setValue(0);targetTeam = 0;checkValidOpr();// Connect up the signalsconnect(ui->sourceTeam, SIGNAL(valueChanged(int)), this, SLOT(updateSourceName(int)) );connect(ui->targetTeam, SIGNAL(valueChanged(int)), this, SLOT(updateTargetName(int)) );}QmDialogChangeTeamNumber::~QmDialogChangeTeamNumber(){delete ui;}bool QmDialogChangeTeamNumber::checkValidOpr(void){bool valid = true;// Ensure that the user has entered something//if ( sourceTeam == 0 || targetTeam == 0 ){valid = false;}// Can't move or copy to myself//if ( ui->sourceTeam->value() == ui->targetTeam->value() ){valid = false;}ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(valid);return (valid);}void QmDialogChangeTeamNumber::updateSourceName(int team){sourceTeam = team;g_record( team, &team_buf_source );ui->sourceName->setText( team_buf_source.name );checkValidOpr();}void QmDialogChangeTeamNumber::updateTargetName(int team){targetTeam = team;g_record( team, &team_buf_target );ui->targetName->setText( team_buf_target.name );checkValidOpr();}void QmDialogChangeTeamNumber::accept (){//qDebug("QmDialogChangeTeamNumber::accept");//// Should not get here, but just in case//if (!checkValidOpr()){return;}//// Get team records//g_record( ui->sourceTeam->value(), &team_buf_source );// Swap Recordsif (ui->swapMode->isChecked()){g_record( ui->targetTeam->value(), &team_buf_target );put_team_record(ui->targetTeam->value(), &team_buf_source );put_team_record(ui->sourceTeam->value(), &team_buf_target );//qDebug("QmDialogChangeTeamNumber:: Swap Team:%d <-> %d", ui->sourceTeam->value(), ui->targetTeam->value());MainWindow::showMessage(QString("Swap teams %1 <-> %2").arg(ui->sourceTeam->value()).arg(ui->targetTeam->value()));}else{put_team_record(ui->targetTeam->value(), &team_buf_source );//qDebug("QmDialogChangeTeamNumber:: Copy Team:%d -> %d", ui->sourceTeam->value(), ui->targetTeam->value());if (ui->eraseSource->isChecked()){clr_team( ui->sourceTeam->value(), &team_buf_target );put_team_record(ui->sourceTeam->value(), &team_buf_target );//qDebug("QmDialogChangeTeamNumber:: Erase Team:%d", ui->sourceTeam->value());MainWindow::showMessage(QString("Move team %1 -> %2").arg(ui->sourceTeam->value()).arg(ui->targetTeam->value()));}else{MainWindow::showMessage(QString("Duplicate team %1 -> %2").arg(ui->sourceTeam->value()).arg(ui->targetTeam->value()));}}// All the work has been done// Back to the user - calling the parents function will close the dialog//QDialog::accept();}