Skip to content

Commit

Permalink
switching to QPlainTextEdit and simply text formatting
Browse files Browse the repository at this point in the history
    - we prefer QPlainTextEdit over QTextEdit because it is optimized for handling plain text
       (http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html)
    - simplify text formatting
  • Loading branch information
Meinhard Ritscher committed Feb 13, 2016
1 parent ed4b80f commit a6f7799
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 18 deletions.
28 changes: 12 additions & 16 deletions datadisplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include <QDebug>

DataDisplay::DataDisplay(QWidget *parent)
: QTextEdit(parent)
: QPlainTextEdit(parent)
, m_hexBytes(0)
, m_displayHex(false)
, m_displayTime(false)
Expand All @@ -42,7 +42,7 @@ DataDisplay::DataDisplay(QWidget *parent)
void DataDisplay::clear()
{
m_hexBytes = 0;
QTextEdit::clear();
QPlainTextEdit::clear();
}

/**
Expand Down Expand Up @@ -117,24 +117,20 @@ void DataDisplay::displayData(const QByteArray &data)

if (m_displayHex) {
moveCursor(QTextCursor::End);
mergeCurrentCharFormat(*m_format_prefix);
insertPlainText(line.prefix);
textCursor().insertText(line.prefix, *m_format_prefix);

moveCursor(QTextCursor::End);
mergeCurrentCharFormat(*m_format_hex);
insertPlainText(line.data);
textCursor().insertText(line.data, *m_format_hex);

moveCursor(QTextCursor::End);
mergeCurrentCharFormat(*m_format_ascii);
insertPlainText(line.trailer);
textCursor().insertText(line.trailer, *m_format_ascii);
} else {
if (line.prefix.size() > 0) {
moveCursor(QTextCursor::End);
mergeCurrentCharFormat(*m_format_prefix);
insertPlainText(line.prefix);
textCursor().insertText(line.prefix, *m_format_prefix);
}
moveCursor(QTextCursor::End);
mergeCurrentCharFormat(*m_format_data);
insertPlainText(line.data);
textCursor().insertText(line.data, *m_format_data);
}
}
m_data.clear();
Expand Down Expand Up @@ -301,14 +297,14 @@ void DataDisplay::setDisplayTime(bool displayTime)
void DataDisplay::setDisplayHex(bool displayHex)
{
if (displayHex) {
setLineWrapMode(QTextEdit::NoWrap);
setLineWrapMode(QPlainTextEdit::NoWrap);
if (!m_previous_ended_with_nl) {
displayData(QByteArray(1, '\n'));
}
m_hexBytes = 0;
m_displayHex = displayHex;
} else {
setLineWrapMode(QTextEdit::WidgetWidth);
setLineWrapMode(QPlainTextEdit::WidgetWidth);
m_displayHex = displayHex;
if (!m_previous_ended_with_nl) {
displayData(QByteArray(1, '\n'));
Expand Down Expand Up @@ -349,12 +345,12 @@ void DataDisplay::setupTextFormats()
font.setPointSize(10);
format.setFont(font);
m_format_data = new QTextCharFormat(format);
qDebug() << m_format_data->foreground();
// qDebug() << m_format_data->foreground();

col = QColor(120, 180, 200);
format.setForeground(col);
m_format_prefix = new QTextCharFormat(format);
qDebug() << m_format_prefix->foreground();
// qDebug() << m_format_prefix->foreground();

col = QColor(Qt::black);
format.setForeground(col);
Expand Down
4 changes: 2 additions & 2 deletions datadisplay.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
#ifndef DATADISPLAY_H
#define DATADISPLAY_H

#include <QTextEdit>
#include <QPlainTextEdit>

class DataDisplay : public QTextEdit
class DataDisplay : public QPlainTextEdit
{
Q_OBJECT

Expand Down

0 comments on commit a6f7799

Please sign in to comment.