1 /*
2     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
3     SPDX-FileCopyrightText: 2015 Vyacheslav Matyushin
4 
5     SPDX-License-Identifier: GPL-2.0-or-later
6 */
7 
8 #include "journaldAnalyzer.h"
9 #include "logViewModel.h"
10 
11 #include <KLocalizedString>
12 
JournaldAnalyzer(LogMode * mode)13 JournaldAnalyzer::JournaldAnalyzer(LogMode *mode)
14     : Analyzer(mode)
15 {
16 }
17 
initColumns()18 LogViewColumns JournaldAnalyzer::initColumns()
19 {
20     LogViewColumns columns;
21     columns.addColumn(LogViewColumn(i18n("Date"), true, true));
22     columns.addColumn(LogViewColumn(i18n("Unit"), true, true));
23     columns.addColumn(LogViewColumn(i18n("Message"), true, true));
24     return columns;
25 }
26 
setLogFiles(const QVector<LogFile> & logFiles)27 void JournaldAnalyzer::setLogFiles(const QVector<LogFile> &logFiles)
28 {
29     Q_UNUSED(logFiles)
30     // Do nothing.
31 }
32 
updateModel(QList<JournalEntry> & entries,ReadingMode readingMode)33 int JournaldAnalyzer::updateModel(QList<JournalEntry> &entries, ReadingMode readingMode)
34 {
35     const int entriesNum = entries.size();
36     for (int i = 0; i < entriesNum; i++) {
37         const JournalEntry &entry = entries.at(i);
38         const QStringList itemComponents{entry.unit, entry.message};
39         auto *line =
40             new LogLine(mLogLineInternalIdGenerator++, entry.date, itemComponents, QString(), Globals::instance().logLevelByPriority(entry.priority), mLogMode);
41         line->setRecent(readingMode == UpdatingRead);
42         mLogViewModel->insertNewLogLine(line);
43 
44         if (readingMode == FullRead) {
45             informOpeningProgress(i, entriesNum);
46         }
47     }
48     return entriesNum;
49 }
50