File indexing completed on 2024-05-05 05:48:56

0001 /*
0002     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QDateTime>
0010 #include <QStringList>
0011 
0012 #include "globals.h"
0013 
0014 #include "logLevel.h"
0015 
0016 class LogViewWidget;
0017 class LogViewWidgetItem;
0018 
0019 class LogLine
0020 {
0021 public:
0022     LogLine(long internalId, const QDateTime &dateTime, const QStringList &logItems, const QString &originalFile, LogLevel *level, LogMode *logMode);
0023 
0024     virtual ~LogLine();
0025 
0026     bool isOlderThan(const LogLine &other) const;
0027     bool isNewerThan(const LogLine &other) const;
0028 
0029     bool equals(const LogLine &other) const;
0030 
0031     bool isSameTime(const LogLine &other) const;
0032 
0033     LogLevel *logLevel() const;
0034 
0035     long internalId() const;
0036     QDateTime time() const;
0037     QStringList logItems() const;
0038     QString sourceFileName() const;
0039 
0040     LogMode *logMode() const;
0041 
0042     void setLogItems(const QStringList &logItems);
0043     void setLogLevel(LogLevel *level);
0044     void setLogMode(LogMode *logMode);
0045 
0046     void setRecent(bool recent);
0047     void setItem(LogViewWidgetItem *item);
0048 
0049     QString formattedText();
0050 
0051     QString exportToText() const;
0052 
0053 protected:
0054     long mInternalId;
0055 
0056     QDateTime mTime;
0057 
0058     QStringList mLogItems;
0059 
0060     QString mOriginalFile;
0061 
0062     LogLevel *mLogLevel = nullptr;
0063 
0064     LogMode *mLogMode = nullptr;
0065 
0066     bool mRecent = false;
0067 
0068     LogViewWidgetItem *mItem = nullptr;
0069 
0070 private:
0071     void initializeItem();
0072 };