1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2012 Denis Shienkov <denis.shienkov@gmail.com> 4 ** Copyright (C) 2012 Laszlo Papp <lpapp@kde.org> 5 ** Contact: http://www.qt.io/licensing/ 6 ** 7 ** This file is part of the QtSerialPort module of the Qt Toolkit. 8 ** 9 ** $QT_BEGIN_LICENSE:LGPL21$ 10 ** Commercial License Usage 11 ** Licensees holding valid commercial Qt licenses may use this file in 12 ** accordance with the commercial license agreement provided with the 13 ** Software or, alternatively, in accordance with the terms contained in 14 ** a written agreement between you and The Qt Company. For licensing terms 15 ** and conditions see http://www.qt.io/terms-conditions. For further 16 ** information use the contact form at http://www.qt.io/contact-us. 17 ** 18 ** GNU Lesser General Public License Usage 19 ** Alternatively, this file may be used under the terms of the GNU Lesser 20 ** General Public License version 2.1 or version 3 as published by the Free 21 ** Software Foundation and appearing in the file LICENSE.LGPLv21 and 22 ** LICENSE.LGPLv3 included in the packaging of this file. Please review the 23 ** following information to ensure the GNU Lesser General Public License 24 ** requirements will be met: https://www.gnu.org/licenses/lgpl.html and 25 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 26 ** 27 ** As a special exception, The Qt Company gives you certain additional 28 ** rights. These rights are described in The Qt Company LGPL Exception 29 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 30 ** 31 ** $QT_END_LICENSE$ 32 ** 33 ****************************************************************************/ 34 35 #include "console.h" 36 37 #include <QScrollBar> 38 39 #include <QtCore/QDebug> 40 Console(QWidget * parent)41Console::Console(QWidget *parent) 42 : QPlainTextEdit(parent) 43 , localEchoEnabled(false) 44 { 45 document()->setMaximumBlockCount(100); 46 QPalette p = palette(); 47 p.setColor(QPalette::Base, Qt::black); 48 p.setColor(QPalette::Text, Qt::green); 49 setPalette(p); 50 51 } 52 putData(const QByteArray & data)53void Console::putData(const QByteArray &data) 54 { 55 insertPlainText(QString(data)); 56 57 QScrollBar *bar = verticalScrollBar(); 58 bar->setValue(bar->maximum()); 59 } 60 setLocalEchoEnabled(bool set)61void Console::setLocalEchoEnabled(bool set) 62 { 63 localEchoEnabled = set; 64 } 65 keyPressEvent(QKeyEvent * e)66void Console::keyPressEvent(QKeyEvent *e) 67 { 68 switch (e->key()) { 69 case Qt::Key_Backspace: 70 case Qt::Key_Left: 71 case Qt::Key_Right: 72 case Qt::Key_Up: 73 case Qt::Key_Down: 74 break; 75 default: 76 if (localEchoEnabled) 77 QPlainTextEdit::keyPressEvent(e); 78 emit getData(e->text().toLocal8Bit()); 79 } 80 } 81 mousePressEvent(QMouseEvent * e)82void Console::mousePressEvent(QMouseEvent *e) 83 { 84 Q_UNUSED(e) 85 setFocus(); 86 } 87 mouseDoubleClickEvent(QMouseEvent * e)88void Console::mouseDoubleClickEvent(QMouseEvent *e) 89 { 90 Q_UNUSED(e) 91 } 92 contextMenuEvent(QContextMenuEvent * e)93void Console::contextMenuEvent(QContextMenuEvent *e) 94 { 95 Q_UNUSED(e) 96 } 97