]> sigrok.org Git - pulseview.git/blobdiff - pv/views/decoder_output/QHexView.cpp
clang-tidy and clazy proposals
[pulseview.git] / pv / views / decoder_output / QHexView.cpp
index d963ae0aa03af632d963233f6bca7fb33f0dcfe2..951c818a5f7e26ec062b716387c821264385869d 100644 (file)
@@ -154,7 +154,7 @@ size_t QHexView::create_hex_line(size_t start, size_t end, QString* dest,
        // Determine start address for the row
        uint64_t row = start / BYTES_PER_LINE;
        uint64_t offset = row * BYTES_PER_LINE;
-       end = std::min(end, offset + BYTES_PER_LINE);
+       end = std::min((uint64_t)end, offset + BYTES_PER_LINE);
 
        if (with_offset)
                dest->append(QString("%1 ").arg(row * BYTES_PER_LINE, 10, 16, QChar('0')).toUpper());
@@ -177,6 +177,9 @@ size_t QHexView::create_hex_line(size_t start, size_t end, QString* dest,
                for (size_t i = offset; i < end; i++) {
                        uint8_t value = get_next_byte();
 
+                       if ((value < 0x20) || (value > 0x7E))
+                               value = '.';
+
                        if (i < start)
                                dest->append(' ');
                        else
@@ -363,6 +366,9 @@ void QHexView::paintEvent(QPaintEvent *event)
                        val = QString::number((byte_value & 0xF), 16).toUpper();
                        painter.drawText(x + charWidth_, y, val);
 
+                       if ((pos >= selectBegin_) && (pos < selectEnd_ - 1) && (i < BYTES_PER_LINE - 1))
+                               painter.drawText(x + 2 * charWidth_, y, QString(' '));
+
                        x += 3 * charWidth_;
                }