summaryrefslogtreecommitdiffstats
path: root/examples/serialbus/can/connectdialog.cpp
diff options
context:
space:
mode:
authorEvgeny Shtanov <shtanov_evgenii@mail.ru>2021-03-10 22:33:56 +0300
committerEvgeny Shtanov <shtanov_evgenii@mail.ru>2021-03-19 00:48:34 +0300
commita72f9e33dc8fe60ef80eee0ecf97965fc8482fe9 (patch)
tree6af3cd4cbdfdef1a137bb690f076bb15608eb414 /examples/serialbus/can/connectdialog.cpp
parent55f97fd0178485bafed1e97eaf0d4ebf91a312b5 (diff)
CAN example: Replace received frames edit with proper table and model
Add a class based on QAbstractTableModel to show the received frames. Also add a configurable queue to buffer the frames before displaying them. This should avoid frames loss in flood traffic mode. Task-number: QTBUG-85611 Change-Id: Iac4671096c1cbfdc8297acf3c99be960b7eaf010 Reviewed-by: André Hartmann <aha_1980@gmx.de>
Diffstat (limited to 'examples/serialbus/can/connectdialog.cpp')
-rw-r--r--examples/serialbus/can/connectdialog.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/examples/serialbus/can/connectdialog.cpp b/examples/serialbus/can/connectdialog.cpp
index a0430b4..802c25a 100644
--- a/examples/serialbus/can/connectdialog.cpp
+++ b/examples/serialbus/can/connectdialog.cpp
@@ -82,6 +82,10 @@ ConnectDialog::ConnectDialog(QWidget *parent) :
this, &ConnectDialog::pluginChanged);
connect(m_ui->interfaceListBox, &QComboBox::currentTextChanged,
this, &ConnectDialog::interfaceChanged);
+ connect(m_ui->ringBufferBox, &QCheckBox::stateChanged, [this](int state){
+ m_ui->ringBufferLimitBox->setEnabled(state == Qt::CheckState::Checked);
+ });
+
m_ui->rawFilterEdit->hide();
m_ui->rawFilterLabel->hide();
@@ -195,6 +199,10 @@ void ConnectDialog::updateSettings()
m_currentSettings.deviceInterfaceName = m_ui->interfaceListBox->currentText();
m_currentSettings.useConfigurationEnabled = m_ui->useConfigurationBox->isChecked();
+ m_currentSettings.useModelRingBuffer = m_ui->ringBufferBox->isChecked();
+ m_currentSettings.modelRingBufferSize = m_ui->ringBufferLimitBox->value();
+ m_currentSettings.useAutoscroll = m_ui->autoscrollBox->isChecked();
+
if (m_currentSettings.useConfigurationEnabled) {
m_currentSettings.configurations.clear();
// process LoopBack