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