87 lines
2.3 KiB
C++
87 lines
2.3 KiB
C++
#include "ExceptionRangeDialog.h"
|
|
#include "ui_ExceptionRangeDialog.h"
|
|
|
|
ExceptionRangeDialog::ExceptionRangeDialog(QWidget* parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::ExceptionRangeDialog)
|
|
{
|
|
ui->setupUi(this);
|
|
//set window flags
|
|
setModal(true);
|
|
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::MSWindowsFixedSizeDialogHint);
|
|
ui->editStart->setCursorPosition(0);
|
|
ui->editEnd->setCursorPosition(0);
|
|
ui->btnOk->setEnabled(false);
|
|
rangeStart = 0;
|
|
rangeEnd = 0;
|
|
}
|
|
|
|
ExceptionRangeDialog::~ExceptionRangeDialog()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void ExceptionRangeDialog::on_editStart_textChanged(const QString & arg1)
|
|
{
|
|
Q_UNUSED(arg1)
|
|
if(!ui->editStart->text().size()) //nothing entered
|
|
{
|
|
ui->btnOk->setEnabled(false);
|
|
return;
|
|
}
|
|
if(ui->editStart->text() == "-1")
|
|
ui->editStart->setText("FFFFFFFF");
|
|
bool converted = false;
|
|
unsigned long start = ui->editStart->text().toUInt(&converted, 16);
|
|
if(!converted)
|
|
{
|
|
ui->btnOk->setEnabled(false);
|
|
return;
|
|
}
|
|
unsigned long end = ui->editEnd->text().toUInt(&converted, 16);
|
|
if(converted && end < start)
|
|
ui->btnOk->setEnabled(false);
|
|
else
|
|
ui->btnOk->setEnabled(true);
|
|
}
|
|
|
|
|
|
void ExceptionRangeDialog::on_editEnd_textChanged(const QString & arg1)
|
|
{
|
|
Q_UNUSED(arg1)
|
|
if(!ui->editEnd->text().size() || !ui->editStart->text().size())
|
|
{
|
|
ui->btnOk->setEnabled(false);
|
|
return;
|
|
}
|
|
if(ui->editEnd->text() == "-1")
|
|
ui->editEnd->setText("FFFFFFFF");
|
|
bool converted = false;
|
|
unsigned long start = ui->editStart->text().toUInt(&converted, 16);
|
|
if(!converted)
|
|
{
|
|
ui->btnOk->setEnabled(false);
|
|
return;
|
|
}
|
|
unsigned long end = ui->editEnd->text().toUInt(&converted, 16);
|
|
if(!converted)
|
|
{
|
|
ui->btnOk->setEnabled(false);
|
|
return;
|
|
}
|
|
if(end < start)
|
|
ui->btnOk->setEnabled(false);
|
|
else
|
|
ui->btnOk->setEnabled(true);
|
|
}
|
|
|
|
void ExceptionRangeDialog::on_btnOk_clicked()
|
|
{
|
|
rangeStart = ui->editStart->text().toUInt(0, 16);
|
|
bool converted = false;
|
|
rangeEnd = ui->editEnd->text().toUInt(&converted, 16);
|
|
if(!converted)
|
|
rangeEnd = rangeStart;
|
|
accept();
|
|
}
|