]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - LinuxGUI/Ventoy2Disk/QT/partcfgdialog.cpp
1.1.06 release
[Ventoy.git] / LinuxGUI / Ventoy2Disk / QT / partcfgdialog.cpp
1 #include "partcfgdialog.h"
2 #include "ui_partcfgdialog.h"
3 #include <QDebug>
4 #include <QMessageBox>
5
6 PartCfgDialog::PartCfgDialog(QWidget *parent) :
7 QDialog(parent),
8 ui(new Ui::PartCfgDialog)
9 {
10 reserve = false;
11 unit = 1;
12 align = true;
13 valuestr = "";
14 resvalue = 0;
15
16 ui->setupUi(this);
17
18 ui->lineEdit->setEnabled(false);
19 ui->comboBox->setEnabled(false);
20 }
21
22 PartCfgDialog::~PartCfgDialog()
23 {
24 delete ui;
25 }
26
27 void PartCfgDialog::update_ui_status()
28 {
29 ui->checkBox->setChecked(reserve);
30 ui->lineEdit->setEnabled(reserve);
31 ui->comboBox->setEnabled(reserve);
32 ui->checkBox_2->setChecked(align);
33 }
34
35 void PartCfgDialog::update_language_ui(QJsonObject &obj)
36 {
37 ui->checkBox->setText(_LANG_STR("STR_PRESERVE_SPACE"));
38 ui->checkBox_2->setText(_LANG_STR("STR_PART_ALIGN_4KB"));
39 ui->pushButtonOK->setText(_LANG_STR("STR_BTN_OK"));
40 ui->pushButtonCancel->setText(_LANG_STR("STR_BTN_CANCEL"));
41
42 invalid_value = _LANG_STR("STR_SPACE_VAL_INVALID");
43 err_title = _LANG_STR("STR_ERROR");
44 }
45
46 void PartCfgDialog::on_pushButtonOK_clicked()
47 {
48 if (ui->checkBox->isChecked())
49 {
50 QString str = ui->lineEdit->text();
51
52 if (str.isEmpty())
53 {
54 QMessageBox::critical(NULL, err_title, invalid_value);
55 return;
56 }
57
58 for (int i = 0; i < str.size(); i++)
59 {
60 if (str[i] < '0' || str[i] > '9')
61 {
62 QMessageBox::critical(NULL, err_title, invalid_value);
63 return;
64 }
65 }
66
67 valuestr = str;
68 resvalue = str.toLongLong();
69 reserve = true;
70 }
71 else
72 {
73 reserve = false;
74 }
75
76 align = ui->checkBox_2->isChecked();
77 unit = ui->comboBox->currentIndex();
78
79 accept();
80 }
81
82 void PartCfgDialog::on_pushButtonCancel_clicked()
83 {
84 reject();
85 }
86
87 void PartCfgDialog::on_checkBox_stateChanged(int arg1)
88 {
89 (void)arg1;
90
91 if (ui->checkBox->isChecked())
92 {
93 ui->lineEdit->setEnabled(true);
94 ui->comboBox->setEnabled(true);
95 }
96 else
97 {
98 ui->lineEdit->setEnabled(false);
99 ui->comboBox->setEnabled(false);
100 }
101 }