From 1056993893066010014527953015588121223332 Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Thu, 21 Jan 2021 01:41:39 -0500 Subject: Store log tokens in entries (for perf) --- ui/logview.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ui/logview.h b/ui/logview.h index 62926c3c..28cde73c 100644 --- a/ui/logview.h +++ b/ui/logview.h @@ -37,11 +37,18 @@ class ViewFrame; \ingroup logview */ +struct BINARYNINJAUIAPI LogTokenList +{ + std::vector> tokens; +}; + + struct BINARYNINJAUIAPI LogListItem { size_t sessionId; BNLogLevel level; std::string text; + LogTokenList tokens; bool selected; std::string logger; size_t threadId{0}; @@ -113,6 +120,7 @@ class BINARYNINJAUIAPI LogListModel : public QAbstractItemModel, BinaryNinja::Lo static constexpr int Message = Qt::UserRole + 4; static constexpr int Session = Qt::UserRole + 5; static constexpr int FormattedMessage = Qt::UserRole + 6; + static constexpr int Tokens = Qt::UserRole + 7; LogListModel(QWidget* parent); ~LogListModel(); @@ -125,6 +133,9 @@ class BINARYNINJAUIAPI LogListModel : public QAbstractItemModel, BinaryNinja::Lo virtual void LogMessage(size_t sessionId, BNLogLevel level, const std::string& msg, const std::string& loggerName = "", size_t tid = 0) override; virtual BNLogLevel GetLogLevel() override; + QString getFormattedMessage(const LogListItem& item) const; + void updateTokens(); + virtual QModelIndex index(int row, int col, const QModelIndex& parent) const override; virtual QModelIndex parent(const QModelIndex& i) const override; virtual bool hasChildren(const QModelIndex& parent) const override; -- cgit v1.3.1