Files
RRJClient/Widgets/commonbuttongroupwidget.cpp
2026-03-11 15:53:08 +03:00

139 lines
3.1 KiB
C++

#include "commonbuttongroupwidget.h"
#include "ui_commonbuttongroupwidget.h"
CommonButtonGroupWidget::CommonButtonGroupWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::CommonButtonGroupWidget)
{
ui->setupUi(this);
}
void CommonButtonGroupWidget::initialize()
{
ui->loadingProgressBar->setValue(0);
ui->loadingProgressBar->hide();
ui->updateButton->hide();
ui->startButton->hide();
ui->startButton->setEnabled(false);
ui->offlineStartButton->hide();
show();
down = ui->downlayout;
}
void CommonButtonGroupWidget::updateProgressBar(float value)
{
ui->loadingProgressBar->setValue(value);
}
QHBoxLayout *CommonButtonGroupWidget::getDown() const
{
return down;
}
void CommonButtonGroupWidget::loadCompleteState()
{
show();
ui->updateButton->hide();
ui->startButton->setEnabled(true);
ui->startButton->show();
ui->offlineStartButton->show();
ui->loadingProgressBar->setValue(100);
ui->loadingProgressBar->hide();
}
void CommonButtonGroupWidget::lastVerInstalledState()
{
show();
ui->updateButton->hide();
ui->loadingProgressBar->hide();
ui->startButton->setEnabled(true);
hideSpacer(true);
ui->startButton->show();
ui->offlineStartButton->show();
}
void CommonButtonGroupWidget::disconnectState()
{
ui->startButton->hide();
ui->loadingProgressBar->hide();
ui->updateButton->hide();
ui->updateButton->setEnabled(false);
ui->offlineStartButton->hide();
hideSpacer(false);
}
void CommonButtonGroupWidget::startUpdateState()
{
ui->updateButton->hide();
ui->startButton->hide();
ui->offlineStartButton->hide();
ui->loadingProgressBar->setValue(0);
ui->loadingProgressBar->show();
}
void CommonButtonGroupWidget::loginState()
{
bool isAvailable = emit sigAppAvailable();
if (isAvailable)
{
ui->offlineStartButton->show();
}
else
{
ui->offlineStartButton->hide();
}
}
void CommonButtonGroupWidget::showProgressBar(bool flag)
{
if (flag) ui->loadingProgressBar->show();
else ui->loadingProgressBar->hide();
}
void CommonButtonGroupWidget::needUpdateState(bool flag)
{
show();
hideSpacer(true);
ui->loadingProgressBar->hide();
ui->startButton->hide();
ui->updateButton->setEnabled(flag);
ui->updateButton->show();
}
void CommonButtonGroupWidget::startButtonActive(bool flag)
{
if(flag) ui->offlineStartButton->show();
else ui->offlineStartButton->hide();
ui->startButton->setEnabled(flag);
}
void CommonButtonGroupWidget::on_updateButton_clicked()
{
emit sigSendPacket(PacketType::TYPE_UPDATE);
startUpdateState();
emit sigUpdateCommonWidget();
}
void CommonButtonGroupWidget::on_startButton_clicked()
{
emit sigStartUnityClient();
}
CommonButtonGroupWidget::~CommonButtonGroupWidget()
{
delete ui;
}
void CommonButtonGroupWidget::hideSpacer(bool flag)
{
if(flag) ui->horizontalSpacer->changeSize(0,0,QSizePolicy::Fixed,QSizePolicy::Fixed);
else ui->horizontalSpacer->changeSize(40,20,QSizePolicy::Expanding,QSizePolicy::Minimum);
}
void CommonButtonGroupWidget::on_offlineStartButton_clicked()
{
emit sigStartOfflineUnityClient();
}