chore: update interfaces

This commit is contained in:
Qsaker 2024-01-09 12:03:52 +08:00
parent 2b1ffba835
commit cf70f7f7e6
2 changed files with 39 additions and 55 deletions

View File

@ -18,10 +18,10 @@ SAKAsciiAssistant::SAKAsciiAssistant(QWidget* parent)
ui->setupUi(this);
initDescirption();
connect(ui->lineEdit, &QLineEdit::textChanged, this, &SAKAsciiAssistant::onFilterTextChanged);
connect(ui->lineEdit, &QLineEdit::textChanged, this, &SAKAsciiAssistant::setupFilter);
connect(ui->checkBox, &QCheckBox::clicked, this, [=]() {
if (!ui->lineEdit->text().isEmpty()) {
this->onFilterTextChanged(ui->lineEdit->text());
this->setupFilter(ui->lineEdit->text());
}
});
@ -61,66 +61,50 @@ SAKAsciiAssistant::~SAKAsciiAssistant()
void SAKAsciiAssistant::initDescirption()
{
static bool initialized = false;
if (!initialized) {
initialized = true;
m_descirption.insert(0, tr("NUL (NULL))"));
m_descirption.insert(1, tr("SOH (Start Of Headling)"));
m_descirption.insert(2, tr("STX (Start Of Text)"));
m_descirption.insert(3, tr("ETX (End Of Text)"));
m_descirption.insert(4, tr("EOT (End Of Transmission)"));
m_descirption.insert(5, tr("ENQ (Enquiry)"));
m_descirption.insert(6, tr("ACK (Acknowledge)"));
m_descirption.insert(7, tr("BEL (Bell)"));
m_descirption.insert(8, tr("BS (Backspace)"));
m_descirption.insert(9, tr("HT (Horizontal Tab)"));
m_descirption.insert(10, tr("LF/NL(Line Feed/New Line)"));
m_descirption.insert(11, tr("VT (Vertical Tab)"));
m_descirption.insert(12, tr("FF/NP (Form Feed/New Page)"));
m_descirption.insert(13, tr("CR (Carriage Return)"));
m_descirption.insert(14, tr("SO (Shift Out)"));
m_descirption.insert(15, tr("SI (Shift In)"));
m_descirption.insert(16, tr("DLE (Data Link Escape)"));
m_descirption.insert(17, tr("DC1/XON(Device Control 1/Transmission On)"));
m_descirption.insert(18, tr("DC2 (Device Control 2)"));
m_descirption.insert(19, tr("DC3/XOFF(Device Control 3/Transmission Off)"));
m_descirption.insert(20, tr("DC4 (Device Control 4)"));
m_descirption.insert(21, tr("NAK (Negative Acknowledge)"));
m_descirption.insert(22, tr("SYN (Synchronous Idle)"));
m_descirption.insert(23, tr("ETB (End of Transmission Block)"));
m_descirption.insert(24, tr("CAN (Cancel)"));
m_descirption.insert(25, tr("EM (End of Medium)"));
m_descirption.insert(26, tr("SUB (Substitute)"));
m_descirption.insert(27, tr("ESC (Escape)"));
m_descirption.insert(28, tr("FS (File Separator)"));
m_descirption.insert(29, tr("GS (Group Separator)"));
m_descirption.insert(30, tr("RS (Record Separator)"));
m_descirption.insert(31, tr("US (Unit Separator)"));
m_descirption.insert(32, tr("(Space)"));
m_descirption.insert(127, tr("DEL (Delete)"));
}
m_descirption.clear();
m_descirption.insert(0, tr("NUL (NULL))"));
m_descirption.insert(1, tr("SOH (Start Of Headling)"));
m_descirption.insert(2, tr("STX (Start Of Text)"));
m_descirption.insert(3, tr("ETX (End Of Text)"));
m_descirption.insert(4, tr("EOT (End Of Transmission)"));
m_descirption.insert(5, tr("ENQ (Enquiry)"));
m_descirption.insert(6, tr("ACK (Acknowledge)"));
m_descirption.insert(7, tr("BEL (Bell)"));
m_descirption.insert(8, tr("BS (Backspace)"));
m_descirption.insert(9, tr("HT (Horizontal Tab)"));
m_descirption.insert(10, tr("LF/NL(Line Feed/New Line)"));
m_descirption.insert(11, tr("VT (Vertical Tab)"));
m_descirption.insert(12, tr("FF/NP (Form Feed/New Page)"));
m_descirption.insert(13, tr("CR (Carriage Return)"));
m_descirption.insert(14, tr("SO (Shift Out)"));
m_descirption.insert(15, tr("SI (Shift In)"));
m_descirption.insert(16, tr("DLE (Data Link Escape)"));
m_descirption.insert(17, tr("DC1/XON(Device Control 1/Transmission On)"));
m_descirption.insert(18, tr("DC2 (Device Control 2)"));
m_descirption.insert(19, tr("DC3/XOFF(Device Control 3/Transmission Off)"));
m_descirption.insert(20, tr("DC4 (Device Control 4)"));
m_descirption.insert(21, tr("NAK (Negative Acknowledge)"));
m_descirption.insert(22, tr("SYN (Synchronous Idle)"));
m_descirption.insert(23, tr("ETB (End of Transmission Block)"));
m_descirption.insert(24, tr("CAN (Cancel)"));
m_descirption.insert(25, tr("EM (End of Medium)"));
m_descirption.insert(26, tr("SUB (Substitute)"));
m_descirption.insert(27, tr("ESC (Escape)"));
m_descirption.insert(28, tr("FS (File Separator)"));
m_descirption.insert(29, tr("GS (Group Separator)"));
m_descirption.insert(30, tr("RS (Record Separator)"));
m_descirption.insert(31, tr("US (Unit Separator)"));
m_descirption.insert(32, tr("(Space)"));
m_descirption.insert(127, tr("DEL (Delete)"));
}
void SAKAsciiAssistant::onFilterTextChanged(const QString& text)
void SAKAsciiAssistant::setupFilter(const QString& text)
{
if (text.isEmpty()) {
for (int i = 0; i < ui->tableWidget->rowCount(); i++) {
ui->tableWidget->showRow(i);
}
return;
}
bool preserveCase = ui->checkBox->isChecked();
for (int row = 0; row < ui->tableWidget->rowCount(); row++) {
bool hasText = false;
for (int column = 0; column < ui->tableWidget->columnCount(); column++) {
auto item = ui->tableWidget->item(row, column);
if (!item) {
qWarning() << "Item is null, row:" << row << ", column:" << column << ".";
continue;
}
Qt::CaseSensitivity flag = preserveCase ? Qt::CaseSensitive : Qt::CaseInsensitive;
if (item && item->text().contains(text, flag)) {
hasText = true;

View File

@ -29,7 +29,7 @@ private:
private:
void initDescirption();
void onFilterTextChanged(const QString& text);
void setupFilter(const QString& text);
};
#endif // SAKASCIIASSISTANT_H