File indexing completed on 2024-05-12 05:48:38

0001 /*
0002     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
0003     SPDX-FileCopyrightText: 2015 Vyacheslav Matyushin
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "journaldAnalyzer.h"
0009 #include "logViewModel.h"
0010 
0011 #include <KLocalizedString>
0012 
0013 JournaldAnalyzer::JournaldAnalyzer(LogMode *mode)
0014     : Analyzer(mode)
0015 {
0016 }
0017 
0018 LogViewColumns JournaldAnalyzer::initColumns()
0019 {
0020     LogViewColumns columns;
0021     columns.addColumn(LogViewColumn(i18n("Date"), true, true));
0022     columns.addColumn(LogViewColumn(i18n("Unit"), true, true));
0023     columns.addColumn(LogViewColumn(i18n("Message"), true, true));
0024     return columns;
0025 }
0026 
0027 void JournaldAnalyzer::setLogFiles(const QVector<LogFile> &logFiles)
0028 {
0029     Q_UNUSED(logFiles)
0030     // Do nothing.
0031 }
0032 
0033 int JournaldAnalyzer::updateModel(QList<JournalEntry> &entries, ReadingMode readingMode)
0034 {
0035     const int entriesNum = entries.size();
0036     for (int i = 0; i < entriesNum; i++) {
0037         const JournalEntry &entry = entries.at(i);
0038         const QStringList itemComponents{entry.unit, entry.message};
0039         auto *line =
0040             new LogLine(mLogLineInternalIdGenerator++, entry.date, itemComponents, QString(), Globals::instance().logLevelByPriority(entry.priority), mLogMode);
0041         line->setRecent(readingMode == UpdatingRead);
0042         mLogViewModel->insertNewLogLine(line);
0043 
0044         if (readingMode == FullRead) {
0045             informOpeningProgress(i, entriesNum);
0046         }
0047     }
0048     return entriesNum;
0049 }
0050 
0051 #include "moc_journaldAnalyzer.cpp"