summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/terminal/mainwindow.cpp14
-rw-r--r--examples/terminal/mainwindow.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/examples/terminal/mainwindow.cpp b/examples/terminal/mainwindow.cpp
index cde83e14..b394b7da 100644
--- a/examples/terminal/mainwindow.cpp
+++ b/examples/terminal/mainwindow.cpp
@@ -69,6 +69,10 @@ MainWindow::MainWindow(QWidget *parent) :
ui->actionConfigure->setEnabled(true);
initActionsConnections();
+
+ connect(serial, SIGNAL(error(QSerialPort::SerialPortError)), this,
+ SLOT(handleError(QSerialPort::SerialPortError)));
+
//! [2]
connect(serial, SIGNAL(readyRead()), this, SLOT(readData()));
//! [2]
@@ -158,6 +162,16 @@ void MainWindow::readData()
}
//! [7]
+//! [8]
+void MainWindow::handleError(QSerialPort::SerialPortError error)
+{
+ if (error == QSerialPort::ResourceError) {
+ QMessageBox::critical(this, tr("Critical Error"), serial->errorString());
+ closeSerialPort();
+ }
+}
+//! [8]
+
void MainWindow::initActionsConnections()
{
connect(ui->actionConnect, SIGNAL(triggered()), this, SLOT(openSerialPort()));
diff --git a/examples/terminal/mainwindow.h b/examples/terminal/mainwindow.h
index 357b0b52..1be7f893 100644
--- a/examples/terminal/mainwindow.h
+++ b/examples/terminal/mainwindow.h
@@ -75,6 +75,8 @@ private slots:
void writeData(const QByteArray &data);
void readData();
+ void handleError(QSerialPort::SerialPortError error);
+
private:
void initActionsConnections();