65 lines
1.7 KiB
C++
Executable File
65 lines
1.7 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Restock Charges - UI Element for a single charge.
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Iuliana Ojog - 2022-03-17
|
|
*/
|
|
|
|
#include "participant_gear_restock_charge.h"
|
|
#include "ui_participant_gear_restock_charge.h"
|
|
|
|
ParticipantGearRestockCharge::ParticipantGearRestockCharge(QWidget *parent, bool showAllOptions)
|
|
: QWidget(parent)
|
|
, m_ui(new Ui::ParticipantGearRestockCharge)
|
|
{
|
|
m_ui->setupUi(this);
|
|
|
|
m_ui->rbValue->setVisible(showAllOptions);
|
|
m_ui->rbDefault->setVisible(showAllOptions);
|
|
m_ui->rbNoChange->setVisible(showAllOptions);
|
|
m_ui->rbUnlimited->setVisible(showAllOptions);
|
|
}
|
|
|
|
ParticipantGearRestockCharge::~ParticipantGearRestockCharge()
|
|
{
|
|
delete m_ui;
|
|
}
|
|
|
|
bool ParticipantGearRestockCharge::init(int chargeTypeId, const QString &chargeName, int initialValue, int maxThisCharge)
|
|
{
|
|
m_chargeTypeId = chargeTypeId;
|
|
m_maxThisCharge = maxThisCharge;
|
|
m_ui->lblChargeName->setText(chargeName);
|
|
m_ui->sbValue->setRange(0,9999);
|
|
m_ui->sbValue->setValue(initialValue);
|
|
m_ui->sbValue->setFixedWidth(50);
|
|
|
|
setObjectName(QStringLiteral("pgrc-")+QString::number(m_chargeTypeId));
|
|
|
|
connect(m_ui->sbValue, QOverload<int>::of(&QSpinBox::valueChanged), this, &ParticipantGearRestockCharge::valueChanged);
|
|
|
|
return true;
|
|
}
|
|
|
|
void ParticipantGearRestockCharge::setMaxValue(int maxVal)
|
|
{
|
|
if (m_maxThisCharge > 0)
|
|
m_ui->sbValue->setMaximum(qMin(maxVal, m_maxThisCharge));
|
|
else
|
|
m_ui->sbValue->setMaximum(maxVal);
|
|
}
|
|
|
|
int ParticipantGearRestockCharge::value() const
|
|
{
|
|
if (m_ui->rbDefault->isChecked())
|
|
return 0xffff;
|
|
if (m_ui->rbNoChange->isChecked())
|
|
return 0xfffe;
|
|
if (m_ui->rbUnlimited->isChecked())
|
|
return 0xfffd;
|
|
|
|
return m_ui->sbValue->value();
|
|
}
|