mirror of
https://github.com/wh201906/Proxmark3GUI.git
synced 2025-04-20 19:46:19 +08:00
Fix a bug in RawCommand Tab
If a widget is set to NoFocus, then it will not respond to the key Event
This commit is contained in:
parent
aa6b93984c
commit
705c8de54c
@ -33,7 +33,7 @@ MainWindow::MainWindow(QWidget *parent):
|
|||||||
util = new Util(this);
|
util = new Util(this);
|
||||||
mifare = new Mifare(ui, util, this);
|
mifare = new Mifare(ui, util, this);
|
||||||
|
|
||||||
keyEventFilter = new MyEventFilter(QEvent::KeyRelease);
|
keyEventFilter = new MyEventFilter(QEvent::KeyPress);
|
||||||
resizeEventFilter = new MyEventFilter(QEvent::Resize);
|
resizeEventFilter = new MyEventFilter(QEvent::Resize);
|
||||||
|
|
||||||
// hide unused tabs
|
// hide unused tabs
|
||||||
@ -155,7 +155,7 @@ void MainWindow::on_PM3_disconnectButton_clicked()
|
|||||||
void MainWindow::refreshOutput(const QString& output)
|
void MainWindow::refreshOutput(const QString& output)
|
||||||
{
|
{
|
||||||
// qDebug() << "MainWindow::refresh:" << output;
|
// qDebug() << "MainWindow::refresh:" << output;
|
||||||
ui->Raw_outputEdit->insertPlainText(output);
|
ui->Raw_outputEdit->appendPlainText(output);
|
||||||
ui->Raw_outputEdit->moveCursor(QTextCursor::End);
|
ui->Raw_outputEdit->moveCursor(QTextCursor::End);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,33 +240,40 @@ void MainWindow::refreshCMD(const QString& cmd)
|
|||||||
ui->Raw_CMDEdit->blockSignals(false);
|
ui->Raw_CMDEdit->blockSignals(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_Raw_CMDEdit_keyPressed(QObject* obj_addr, QEvent& event)
|
void MainWindow::on_Raw_keyPressed(QObject* obj_addr, QEvent& event)
|
||||||
{
|
{
|
||||||
if(obj_addr == ui->Raw_CMDEdit && event.type() == QEvent::KeyRelease)
|
if(event.type() == QEvent::KeyPress)
|
||||||
{
|
{
|
||||||
QKeyEvent& keyEvent = static_cast<QKeyEvent&>(event);
|
QKeyEvent& keyEvent = static_cast<QKeyEvent&>(event);
|
||||||
if(keyEvent.key() == Qt::Key_Up)
|
if(obj_addr == ui->Raw_CMDEdit)
|
||||||
{
|
{
|
||||||
if(stashedIndex > 0)
|
if(keyEvent.key() == Qt::Key_Up)
|
||||||
stashedIndex--;
|
{
|
||||||
else if(stashedIndex == -1)
|
if(stashedIndex > 0)
|
||||||
stashedIndex = ui->Raw_CMDHistoryWidget->count() - 1;
|
stashedIndex--;
|
||||||
|
else if(stashedIndex == -1)
|
||||||
|
stashedIndex = ui->Raw_CMDHistoryWidget->count() - 1;
|
||||||
|
}
|
||||||
|
else if(keyEvent.key() == Qt::Key_Down)
|
||||||
|
{
|
||||||
|
if(stashedIndex < ui->Raw_CMDHistoryWidget->count() - 1 && stashedIndex != -1)
|
||||||
|
stashedIndex++;
|
||||||
|
else if(stashedIndex == ui->Raw_CMDHistoryWidget->count() - 1)
|
||||||
|
stashedIndex = -1;
|
||||||
|
}
|
||||||
|
if(keyEvent.key() == Qt::Key_Up || keyEvent.key() == Qt::Key_Down)
|
||||||
|
{
|
||||||
|
ui->Raw_CMDEdit->blockSignals(true);
|
||||||
|
if(stashedIndex == -1)
|
||||||
|
ui->Raw_CMDEdit->setText(stashedCMDEditText);
|
||||||
|
else
|
||||||
|
ui->Raw_CMDEdit->setText(ui->Raw_CMDHistoryWidget->item(stashedIndex)->text());
|
||||||
|
ui->Raw_CMDEdit->blockSignals(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(keyEvent.key() == Qt::Key_Down)
|
else if(obj_addr == ui->Raw_outputEdit)
|
||||||
{
|
{
|
||||||
if(stashedIndex < ui->Raw_CMDHistoryWidget->count() - 1 && stashedIndex != -1)
|
ui->Raw_CMDEdit->setFocus();
|
||||||
stashedIndex++;
|
|
||||||
else if(stashedIndex == ui->Raw_CMDHistoryWidget->count() - 1)
|
|
||||||
stashedIndex = -1;
|
|
||||||
}
|
|
||||||
if(keyEvent.key() == Qt::Key_Up || keyEvent.key() == Qt::Key_Down)
|
|
||||||
{
|
|
||||||
ui->Raw_CMDEdit->blockSignals(true);
|
|
||||||
if(stashedIndex == -1)
|
|
||||||
ui->Raw_CMDEdit->setText(stashedCMDEditText);
|
|
||||||
else
|
|
||||||
ui->Raw_CMDEdit->setText(ui->Raw_CMDHistoryWidget->item(stashedIndex)->text());
|
|
||||||
ui->Raw_CMDEdit->blockSignals(false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -907,11 +914,12 @@ void MainWindow::MF_widgetReset()
|
|||||||
|
|
||||||
void MainWindow::uiInit()
|
void MainWindow::uiInit()
|
||||||
{
|
{
|
||||||
connect(ui->Raw_CMDEdit, &QLineEdit::editingFinished, this, &MainWindow::sendMSG);
|
connect(ui->Raw_CMDEdit, &QLineEdit::returnPressed, this, &MainWindow::sendMSG);
|
||||||
ui->Raw_CMDEdit->installEventFilter(keyEventFilter);
|
ui->Raw_CMDEdit->installEventFilter(keyEventFilter);
|
||||||
connect(keyEventFilter, &MyEventFilter::eventHappened, this, &MainWindow::on_Raw_CMDEdit_keyPressed);
|
connect(keyEventFilter, &MyEventFilter::eventHappened, this, &MainWindow::on_Raw_keyPressed);
|
||||||
ui->MF_keyWidget->installEventFilter(resizeEventFilter);
|
ui->MF_keyWidget->installEventFilter(resizeEventFilter);
|
||||||
connect(resizeEventFilter, &MyEventFilter::eventHappened, this, &MainWindow::on_MF_keyWidget_resized);
|
connect(resizeEventFilter, &MyEventFilter::eventHappened, this, &MainWindow::on_MF_keyWidget_resized);
|
||||||
|
ui->Raw_outputEdit->installEventFilter(keyEventFilter);
|
||||||
|
|
||||||
connectStatusBar = new QLabel(this);
|
connectStatusBar = new QLabel(this);
|
||||||
programStatusBar = new QLabel(this);
|
programStatusBar = new QLabel(this);
|
||||||
@ -994,6 +1002,7 @@ void MainWindow::uiInit()
|
|||||||
ui->MF_RW_keyTypeBox->addItem("B", Mifare::KEY_B);
|
ui->MF_RW_keyTypeBox->addItem("B", Mifare::KEY_B);
|
||||||
|
|
||||||
on_Raw_CMDHistoryBox_stateChanged(Qt::Unchecked);
|
on_Raw_CMDHistoryBox_stateChanged(Qt::Unchecked);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::signalInit()
|
void MainWindow::signalInit()
|
||||||
|
@ -53,7 +53,7 @@ public slots:
|
|||||||
void setStatusBar(QLabel* target, const QString& text);
|
void setStatusBar(QLabel* target, const QString& text);
|
||||||
void onPM3StateChanged(bool st, const QString& info);
|
void onPM3StateChanged(bool st, const QString& info);
|
||||||
void MF_onMFCardTypeChanged(int id, bool st);
|
void MF_onMFCardTypeChanged(int id, bool st);
|
||||||
void on_Raw_CMDEdit_keyPressed(QObject *obj_addr, QEvent &event);
|
void on_Raw_keyPressed(QObject *obj_addr, QEvent &event);
|
||||||
void on_MF_keyWidget_resized(QObject *obj_addr, QEvent &event);
|
void on_MF_keyWidget_resized(QObject *obj_addr, QEvent &event);
|
||||||
private slots:
|
private slots:
|
||||||
|
|
||||||
@ -208,7 +208,6 @@ private:
|
|||||||
|
|
||||||
MF_trailerDecoderDialog* decDialog;
|
MF_trailerDecoderDialog* decDialog;
|
||||||
|
|
||||||
|
|
||||||
void signalInit();
|
void signalInit();
|
||||||
void MF_widgetReset();
|
void MF_widgetReset();
|
||||||
void setTableItem(QTableWidget *widget, int row, int column, const QString& text);
|
void setTableItem(QTableWidget *widget, int row, int column, const QString& text);
|
||||||
|
@ -1446,9 +1446,6 @@
|
|||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="focusPolicy">
|
|
||||||
<enum>Qt::NoFocus</enum>
|
|
||||||
</property>
|
|
||||||
<property name="verticalScrollBarPolicy">
|
<property name="verticalScrollBarPolicy">
|
||||||
<enum>Qt::ScrollBarAlwaysOn</enum>
|
<enum>Qt::ScrollBarAlwaysOn</enum>
|
||||||
</property>
|
</property>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user