diff --git a/M3KTE_TERM/multiplesettings.cpp b/M3KTE_TERM/multiplesettings.cpp index ffcfeb0..cfe1773 100644 --- a/M3KTE_TERM/multiplesettings.cpp +++ b/M3KTE_TERM/multiplesettings.cpp @@ -8,6 +8,7 @@ MultipleSettings::MultipleSettings(QWidget *parent) : ui->setupUi(this); ui->buttonBox->button(QDialogButtonBox::Ok)->setText("Записать"); ui->buttonBox->button(QDialogButtonBox::SaveAll)->setText("Записать и установить"); + selectedBoard = 0; } MultipleSettings::~MultipleSettings() @@ -36,14 +37,22 @@ void MultipleSettings::on_buttonBox_clicked(QAbstractButton *button) void MultipleSettings::on_regTypeBox_currentIndexChanged(int index) { + short maxRange = 0; + switch (ui->boardBox->currentIndex()) { + case 3: + maxRange = 64; + break; + default: + maxRange = 84; + } switch (index) { case 0: case 1: - ui->adrBox->setRange(0, 84); + ui->adrBox->setRange(0, maxRange); ui->adrBox->setValue(0); break; case 2: - ui->adrBox->setRange(85, 170); + ui->adrBox->setRange(85, 85+maxRange); ui->adrBox->setValue(85); break; } @@ -51,13 +60,8 @@ void MultipleSettings::on_regTypeBox_currentIndexChanged(int index) void MultipleSettings::on_boardBox_currentIndexChanged(int index) { - switch (index) { - case 3: - ui->countBox->setRange(1, 65-ui->adrBox->value()+85*ui->regTypeBox->currentIndex()/2); - break; - default: - ui->countBox->setRange(1, 85-ui->adrBox->value()+85*ui->regTypeBox->currentIndex()/2); - } + selectedBoard = index; + on_regTypeBox_currentIndexChanged(ui->regTypeBox->currentIndex()); } void MultipleSettings::on_adrBox_valueChanged(int arg1) diff --git a/M3KTE_TERM/multiplesettings.h b/M3KTE_TERM/multiplesettings.h index e20076a..a04ba97 100644 --- a/M3KTE_TERM/multiplesettings.h +++ b/M3KTE_TERM/multiplesettings.h @@ -40,6 +40,7 @@ private: unsigned countReg; short typeReg; short boardId; + short selectedBoard; }; #endif // MULTIPLESETTINGS_H