summaryrefslogtreecommitdiff
path: root/examples/terminal
diff options
context:
space:
mode:
Diffstat (limited to 'examples/terminal')
-rw-r--r--examples/terminal/console.cpp13
-rw-r--r--examples/terminal/console.h5
-rw-r--r--examples/terminal/mainwindow.cpp1
-rw-r--r--examples/terminal/settingsdialog.cpp3
-rw-r--r--examples/terminal/settingsdialog.h1
-rw-r--r--examples/terminal/settingsdialog.ui119
6 files changed, 89 insertions, 53 deletions
diff --git a/examples/terminal/console.cpp b/examples/terminal/console.cpp
index c9d5836..7f3f891 100644
--- a/examples/terminal/console.cpp
+++ b/examples/terminal/console.cpp
@@ -46,8 +46,9 @@
#include <QtCore/QDebug>
-Console::Console(QWidget *parent) :
- QPlainTextEdit(parent)
+Console::Console(QWidget *parent)
+ : QPlainTextEdit(parent)
+ , localEchoEnabled(false)
{
document()->setMaximumBlockCount(100);
QPalette p = palette();
@@ -65,6 +66,11 @@ void Console::putData(const QByteArray &data)
bar->setValue(bar->maximum());
}
+void Console::setLocalEchoEnabled(bool set)
+{
+ localEchoEnabled = set;
+}
+
void Console::keyPressEvent(QKeyEvent *e)
{
switch (e->key()) {
@@ -76,7 +82,8 @@ void Console::keyPressEvent(QKeyEvent *e)
// skip processing
break;
default:
- QPlainTextEdit::keyPressEvent(e);
+ if (localEchoEnabled)
+ QPlainTextEdit::keyPressEvent(e);
emit getData(e->text().toLocal8Bit());
}
}
diff --git a/examples/terminal/console.h b/examples/terminal/console.h
index 2862bf6..9b5ba1f 100644
--- a/examples/terminal/console.h
+++ b/examples/terminal/console.h
@@ -57,12 +57,17 @@ public:
void putData(const QByteArray &data);
+ void setLocalEchoEnabled(bool set);
+
protected:
virtual void keyPressEvent(QKeyEvent *e);
virtual void mousePressEvent(QMouseEvent *e);
virtual void mouseDoubleClickEvent(QMouseEvent *e);
virtual void contextMenuEvent(QContextMenuEvent *e);
+private:
+ bool localEchoEnabled;
+
};
#endif // CONSOLE_H
diff --git a/examples/terminal/mainwindow.cpp b/examples/terminal/mainwindow.cpp
index f560f9a..47864a2 100644
--- a/examples/terminal/mainwindow.cpp
+++ b/examples/terminal/mainwindow.cpp
@@ -100,6 +100,7 @@ void MainWindow::openSerialPort()
&& serial->setFlowControl(p.flowControl)) {
console->setEnabled(true);
+ console->setLocalEchoEnabled(p.localEchoEnabled);
ui->actionConnect->setEnabled(false);
ui->actionDisconnect->setEnabled(true);
ui->actionConfigure->setEnabled(false);
diff --git a/examples/terminal/settingsdialog.cpp b/examples/terminal/settingsdialog.cpp
index 57370d2..4533da9 100644
--- a/examples/terminal/settingsdialog.cpp
+++ b/examples/terminal/settingsdialog.cpp
@@ -198,4 +198,7 @@ void SettingsDialog::updateSettings()
currentSettings.flowControl = static_cast<QSerialPort::FlowControl>(
ui->flowControlBox->itemData(ui->flowControlBox->currentIndex()).toInt());
currentSettings.stringFlowControl = ui->flowControlBox->currentText();
+
+ // Additional options
+ currentSettings.localEchoEnabled = ui->localEchoCheckBox->isChecked();
}
diff --git a/examples/terminal/settingsdialog.h b/examples/terminal/settingsdialog.h
index d9f99f7..ff8f8b6 100644
--- a/examples/terminal/settingsdialog.h
+++ b/examples/terminal/settingsdialog.h
@@ -75,6 +75,7 @@ public:
QString stringStopBits;
QSerialPort::FlowControl flowControl;
QString stringFlowControl;
+ bool localEchoEnabled;
};
explicit SettingsDialog(QWidget *parent = 0);
diff --git a/examples/terminal/settingsdialog.ui b/examples/terminal/settingsdialog.ui
index 7c0f33a..28c1211 100644
--- a/examples/terminal/settingsdialog.ui
+++ b/examples/terminal/settingsdialog.ui
@@ -6,61 +6,14 @@
<rect>
<x>0</x>
<y>0</y>
- <width>280</width>
- <height>206</height>
+ <width>281</width>
+ <height>262</height>
</rect>
</property>
<property name="windowTitle">
<string>Settings</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
- <item row="0" column="0">
- <widget class="QGroupBox" name="selectBox">
- <property name="title">
- <string>Select Serial Port</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QComboBox" name="serialPortInfoListBox"/>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="descriptionLabel">
- <property name="text">
- <string>Description:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="manufacturerLabel">
- <property name="text">
- <string>Manufacturer:</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="locationLabel">
- <property name="text">
- <string>Location:</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="vidLabel">
- <property name="text">
- <string>Vendor ID:</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="pidLabel">
- <property name="text">
- <string>Product ID:</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
<item row="0" column="1">
<widget class="QGroupBox" name="parametersBox">
<property name="title">
@@ -120,7 +73,54 @@
</layout>
</widget>
</item>
- <item row="1" column="0" colspan="2">
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="selectBox">
+ <property name="title">
+ <string>Select Serial Port</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QComboBox" name="serialPortInfoListBox"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="descriptionLabel">
+ <property name="text">
+ <string>Description:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="manufacturerLabel">
+ <property name="text">
+ <string>Manufacturer:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="locationLabel">
+ <property name="text">
+ <string>Location:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="vidLabel">
+ <property name="text">
+ <string>Vendor ID:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="pidLabel">
+ <property name="text">
+ <string>Product ID:</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
@@ -144,6 +144,25 @@
</item>
</layout>
</item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QGroupBox" name="additionalOptionsGroupBox">
+ <property name="title">
+ <string>Additional options</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QCheckBox" name="localEchoCheckBox">
+ <property name="text">
+ <string>Local echo</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
</layout>
</widget>
<resources/>