From 4028909ae29f365a94ae6d5a5fc66928a58c9bf6 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Sun, 16 Oct 2022 23:24:34 +0800 Subject: [PATCH] cabana: use monospace font for hex string (#26102) specify monospace font for hex string old-commit-hash: e3268d88c5226afaf5a300a775b8989bcff18b20 --- tools/cabana/detailwidget.cc | 3 ++- tools/cabana/historylog.cc | 7 ++++++- tools/cabana/messageswidget.cc | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/cabana/detailwidget.cc b/tools/cabana/detailwidget.cc index 021e1b73cf..a9899ec650 100644 --- a/tools/cabana/detailwidget.cc +++ b/tools/cabana/detailwidget.cc @@ -1,6 +1,7 @@ #include "tools/cabana/detailwidget.h" #include +#include #include #include #include @@ -179,7 +180,7 @@ void BinaryView::setMessage(const QString &message_id) { item->setFlags(item->flags() ^ Qt::ItemIsEditable); item->setTextAlignment(Qt::AlignCenter); if (j == 8) { - QFont font; + QFont font = QFontDatabase::systemFont(QFontDatabase::FixedFont); font.setBold(true); item->setFont(font); item->setFlags(item->flags() ^ Qt::ItemIsSelectable); diff --git a/tools/cabana/historylog.cc b/tools/cabana/historylog.cc index 5a77b5aa9e..cbb3b6e882 100644 --- a/tools/cabana/historylog.cc +++ b/tools/cabana/historylog.cc @@ -1,20 +1,25 @@ #include "tools/cabana/historylog.h" +#include #include #include QVariant HistoryLogModel::data(const QModelIndex &index, int role) const { + auto msg = dbc()->msg(msg_id); if (role == Qt::DisplayRole) { const auto &can_msgs = can->messages(msg_id); if (index.row() < can_msgs.size()) { const auto &can_data = can_msgs[index.row()]; - auto msg = dbc()->msg(msg_id); if (msg && index.column() < msg->sigs.size()) { return get_raw_value((uint8_t *)can_data.dat.begin(), can_data.dat.size(), msg->sigs[index.column()]); } else { return toHex(can_data.dat); } } + } else if (role == Qt::FontRole) { + if (index.column() == 0 && !(msg && msg->sigs.size() > 0)) { + return QFontDatabase::systemFont(QFontDatabase::FixedFont); + } } return {}; } diff --git a/tools/cabana/messageswidget.cc b/tools/cabana/messageswidget.cc index f10cbf44b4..3c9af67ea6 100644 --- a/tools/cabana/messageswidget.cc +++ b/tools/cabana/messageswidget.cc @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -107,6 +108,10 @@ QVariant MessageListModel::data(const QModelIndex &index, int role) const { } } else if (role == Qt::UserRole) { return std::next(can->can_msgs.begin(), index.row()).key(); + } else if (role == Qt::FontRole) { + if (index.column() == 3) { + return QFontDatabase::systemFont(QFontDatabase::FixedFont); + } } return {}; }