mirror of
https://github.com/rizinorg/cutter.git
synced 2025-01-06 03:55:27 +00:00
61 lines
1.5 KiB
C++
61 lines
1.5 KiB
C++
#include "EditStringDialog.h"
|
|
#include "ui_EditStringDialog.h"
|
|
|
|
EditStringDialog::EditStringDialog(QWidget *parent)
|
|
: QDialog(parent), ui(new Ui::EditStringDialog {})
|
|
{
|
|
ui->setupUi(this);
|
|
ui->spinBox_size->setMinimum(0);
|
|
ui->lineEdit_address->setMinimumWidth(150);
|
|
ui->spinBox_size->setFocus();
|
|
ui->comboBox_type->addItems({ "Auto", "ASCII/Latin1", "UTF-8" });
|
|
connect(ui->checkBox_autoSize, &QCheckBox::toggled, ui->spinBox_size, &QSpinBox::setDisabled);
|
|
}
|
|
|
|
EditStringDialog::~EditStringDialog() {}
|
|
|
|
void EditStringDialog::setStringStartAddress(uint64_t address)
|
|
{
|
|
ui->lineEdit_address->setText(QString::number(address, 16));
|
|
}
|
|
|
|
bool EditStringDialog::getStringStartAddress(uint64_t &returnValue) const
|
|
{
|
|
bool status = false;
|
|
returnValue = ui->lineEdit_address->text().toLongLong(&status, 16);
|
|
return status;
|
|
}
|
|
|
|
void EditStringDialog::setStringSizeValue(uint32_t size)
|
|
{
|
|
ui->spinBox_size->setValue(size);
|
|
}
|
|
|
|
int EditStringDialog::getStringSizeValue() const
|
|
{
|
|
if (ui->checkBox_autoSize->isChecked()) {
|
|
return -1;
|
|
}
|
|
|
|
return ui->spinBox_size->value();
|
|
}
|
|
|
|
EditStringDialog::StringType EditStringDialog::getStringType() const
|
|
{
|
|
const int indexVal = ui->comboBox_type->currentIndex();
|
|
|
|
switch (indexVal) {
|
|
case 0: {
|
|
return EditStringDialog::StringType::Auto;
|
|
}
|
|
case 1: {
|
|
return EditStringDialog::StringType::ASCII_LATIN1;
|
|
}
|
|
case 2: {
|
|
return EditStringDialog::StringType::UTF8;
|
|
}
|
|
default:
|
|
return EditStringDialog::StringType::Auto;
|
|
}
|
|
}
|