summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2021-01-21 01:41:39 -0500
committerGlenn Smith <glenn@vector35.com>2023-05-10 22:08:19 -0400
commit1056993893066010014527953015588121223332 (patch)
tree75dc5f9186aec35889aa238a48565565166589b3
parent0819449391714365703940844657418578461507 (diff)
Store log tokens in entries (for perf)
-rw-r--r--ui/logview.h11
1 files changed, 11 insertions, 0 deletions
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<std::pair<int, int>> 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;