From 6ce9646ac602884b097c8d91e8b47a26dfb1e01b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Sun, 4 Feb 2018 16:14:33 +0100 Subject: [PATCH] Triage: If there are more than 100 results then pick 100 random warnings --- tools/triage/triage/mainwindow.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/triage/triage/mainwindow.cpp b/tools/triage/triage/mainwindow.cpp index 003972c2c..8651b797f 100644 --- a/tools/triage/triage/mainwindow.cpp +++ b/tools/triage/triage/mainwindow.cpp @@ -7,6 +7,7 @@ #include #include #include +#include const QString WORK_FOLDER(QDir::homePath() + "/triage"); @@ -15,6 +16,7 @@ MainWindow::MainWindow(QWidget *parent) : ui(new Ui::MainWindow) { ui->setupUi(this); + qsrand(std::time(0)); } MainWindow::~MainWindow() @@ -33,13 +35,14 @@ void MainWindow::loadFile() QTextStream textStream(&file); QString url; QString errorMessage; + QStringList allErrors; while (true) { const QString line = textStream.readLine(); if (line.isNull()) break; if (line.startsWith("ftp://")) { if (!url.isEmpty() && !errorMessage.isEmpty()) - ui->results->addItem(url + "\n" + errorMessage); + allErrors << (url + "\n" + errorMessage); url = line; errorMessage.clear(); } else if (!url.isEmpty() && QRegExp(".*: (error|warning|note):.*").exactMatch(line)) { @@ -49,7 +52,13 @@ void MainWindow::loadFile() } } if (!url.isEmpty() && !errorMessage.isEmpty()) - ui->results->addItem(url + "\n" + errorMessage); + allErrors << (url + "\n" + errorMessage); + if (allErrors.size() > 100) { + std::random_shuffle(allErrors.begin(), allErrors.end()); + ui->results->addItems(allErrors.mid(0,100)); + } else { + ui->results->addItems(allErrors); + } } void MainWindow::showResult(QListWidgetItem *item)