You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ventoy/LinuxGUI/Ventoy2Disk/QT/partcfgdialog.cpp

102 lines
2.1 KiB
C++

#include "partcfgdialog.h"
#include "ui_partcfgdialog.h"
#include <QDebug>
#include <QMessageBox>
PartCfgDialog::PartCfgDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::PartCfgDialog)
{
reserve = false;
unit = 1;
align = true;
valuestr = "";
resvalue = 0;
ui->setupUi(this);
ui->lineEdit->setEnabled(false);
ui->comboBox->setEnabled(false);
}
PartCfgDialog::~PartCfgDialog()
{
delete ui;
}
void PartCfgDialog::update_ui_status()
{
ui->checkBox->setChecked(reserve);
ui->lineEdit->setEnabled(reserve);
ui->comboBox->setEnabled(reserve);
ui->checkBox_2->setChecked(align);
}
void PartCfgDialog::update_language_ui(QJsonObject &obj)
{
ui->checkBox->setText(_LANG_STR("STR_PRESERVE_SPACE"));
ui->checkBox_2->setText(_LANG_STR("STR_PART_ALIGN_4KB"));
ui->pushButtonOK->setText(_LANG_STR("STR_BTN_OK"));
ui->pushButtonCancel->setText(_LANG_STR("STR_BTN_CANCEL"));
invalid_value = _LANG_STR("STR_SPACE_VAL_INVALID");
err_title = _LANG_STR("STR_ERROR");
}
void PartCfgDialog::on_pushButtonOK_clicked()
{
if (ui->checkBox->isChecked())
{
QString str = ui->lineEdit->text();
if (str.isEmpty())
{
QMessageBox::critical(NULL, err_title, invalid_value);
return;
}
for (int i = 0; i < str.size(); i++)
{
if (str[i] < '0' || str[i] > '9')
{
QMessageBox::critical(NULL, err_title, invalid_value);
return;
}
}
valuestr = str;
resvalue = str.toLongLong();
reserve = true;
}
else
{
reserve = false;
}
align = ui->checkBox_2->isChecked();
unit = ui->comboBox->currentIndex();
accept();
}
void PartCfgDialog::on_pushButtonCancel_clicked()
{
reject();
}
void PartCfgDialog::on_checkBox_stateChanged(int arg1)
{
(void)arg1;
if (ui->checkBox->isChecked())
{
ui->lineEdit->setEnabled(true);
ui->comboBox->setEnabled(true);
}
else
{
ui->lineEdit->setEnabled(false);
ui->comboBox->setEnabled(false);
}
}