diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2016-04-28 09:02:51 +0200 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2016-05-03 10:25:21 +0000 |
commit | 9e3af4a3a828a0c632ef07969005f46fd30bee63 (patch) | |
tree | d4882451dc676f6a3cb50f611fce53b1e6a5ba83 /examples/serialbus/can/mainwindow.cpp | |
parent | f183c72e5bd0bd253073783992d9bf860e0087ad (diff) |
CAN-Example: Change SettingsDialog to ConnectDialog
This simplifies the handling and makes it more like
how other CAN monitors behave.
* After startup, the connect dialog is shown
* If the dialog is accepted, the selected device
is connected instantly
* To interrupt a connection, the disconnect action
can be used
* To connect again, the action connect can be used
Change-Id: I47db596658e90cc0393981fba135cd6d89191f1a
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'examples/serialbus/can/mainwindow.cpp')
-rw-r--r-- | examples/serialbus/can/mainwindow.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/examples/serialbus/can/mainwindow.cpp b/examples/serialbus/can/mainwindow.cpp index 07ef95b..4ac7ca7 100644 --- a/examples/serialbus/can/mainwindow.cpp +++ b/examples/serialbus/can/mainwindow.cpp @@ -40,10 +40,11 @@ #include "mainwindow.h" #include "ui_mainwindow.h" -#include "settingsdialog.h" +#include "connectdialog.h" #include <QCanBusFrame> #include <QCanBus> +#include <QTimer> #include <QtCore/qbytearray.h> #include <QtCore/qvariant.h> @@ -56,7 +57,7 @@ MainWindow::MainWindow(QWidget *parent) : { m_ui->setupUi(this); - m_settings = new SettingsDialog; + m_connectDialog = new ConnectDialog; m_status = new QLabel; m_ui->statusBar->addWidget(m_status); @@ -64,6 +65,7 @@ MainWindow::MainWindow(QWidget *parent) : m_ui->sendMessagesBox->setEnabled(false); initActionsConnections(); + QTimer::singleShot(50, m_connectDialog, &ConnectDialog::show); connect(m_ui->sendButton, &QPushButton::clicked, this, &MainWindow::sendMessage); } @@ -72,7 +74,7 @@ MainWindow::~MainWindow() { delete m_canDevice; - delete m_settings; + delete m_connectDialog; delete m_ui; } @@ -86,12 +88,11 @@ void MainWindow::initActionsConnections() m_ui->actionConnect->setEnabled(true); m_ui->actionDisconnect->setEnabled(false); m_ui->actionQuit->setEnabled(true); - m_ui->actionConfigure->setEnabled(true); - connect(m_ui->actionConnect, &QAction::triggered, this, &MainWindow::connectDevice); + connect(m_ui->actionConnect, &QAction::triggered, m_connectDialog, &ConnectDialog::show); + connect(m_connectDialog, &QDialog::accepted, this, &MainWindow::connectDevice); connect(m_ui->actionDisconnect, &QAction::triggered, this, &MainWindow::disconnectDevice); connect(m_ui->actionQuit, &QAction::triggered, this, &QWidget::close); - connect(m_ui->actionConfigure, &QAction::triggered, m_settings, &SettingsDialog::show); connect(m_ui->actionAboutQt, &QAction::triggered, qApp, &QApplication::aboutQt); } @@ -111,7 +112,7 @@ void MainWindow::receiveError(QCanBusDevice::CanBusError error) const void MainWindow::connectDevice() { - const SettingsDialog::Settings p = m_settings->settings(); + const ConnectDialog::Settings p = m_connectDialog->settings(); m_canDevice = QCanBus::instance()->createDevice(p.backendName.toLocal8Bit(), p.deviceInterfaceName); if (!m_canDevice) { @@ -127,7 +128,7 @@ void MainWindow::connectDevice() this, &MainWindow::framesWritten); if (p.useConfigurationEnabled) { - foreach (const SettingsDialog::ConfigurationItem &item, p.configurations) + foreach (const ConnectDialog::ConfigurationItem &item, p.configurations) m_canDevice->setConfigurationParameter(item.first, item.second); } @@ -139,7 +140,6 @@ void MainWindow::connectDevice() } else { m_ui->actionConnect->setEnabled(false); m_ui->actionDisconnect->setEnabled(true); - m_ui->actionConfigure->setEnabled(false); m_ui->sendMessagesBox->setEnabled(true); @@ -159,7 +159,6 @@ void MainWindow::disconnectDevice() m_ui->actionConnect->setEnabled(true); m_ui->actionDisconnect->setEnabled(false); - m_ui->actionConfigure->setEnabled(true); m_ui->sendMessagesBox->setEnabled(false); |