Subversion Repositories svn1

Rev

Rev 303 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include "qmdialogchangeteamnumber.h"
#include "ui_qmdialogchangeteamnumber.h"

#include    "consts.h"
#include    "structs.h"
#include    "proto.h"


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);

    ui->targetTeam->setMinimum(config.min_team);
    ui->targetTeam->setMaximum(config.max_team);
    ui->targetTeam->setValue(0);

}

QmDialogChangeTeamNumber::~QmDialogChangeTeamNumber()
{
    delete ui;
}

void QmDialogChangeTeamNumber::accept ()
{
    team_type team_buf_source;
    team_type team_buf_target;

    qDebug("QmDialogChangeTeamNumber::accept");

    //
    //  Can't move or copy to myself
    //  Just stay in dialog
    //
    if ( ui->sourceTeam->value() == ui->targetTeam->value() )
    {
        return;
    }

    //
    //  Get team records
    //
    g_record( ui->sourceTeam->value(), &team_buf_source );

    //  Swap Records
    if (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());
    }
    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());
        }
    }


    //  All the work has been done
    //  Back to the user - calling the parents function
    //  will close the dialog
    QDialog::accept();
}