From 53f79673ee59fc08dda790d730d567bfa97905d7 Mon Sep 17 00:00:00 2001 From: Gurkengewuerz Date: Wed, 8 May 2019 22:16:51 +0200 Subject: [PATCH] refresh treeview on new upload --- src/logs/requestlogging.cpp | 6 ++++++ src/mainwindow.cpp | 24 ++++++++++++++---------- src/mainwindow.hpp | 1 + 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/logs/requestlogging.cpp b/src/logs/requestlogging.cpp index 8f5c742..27aa3ec 100644 --- a/src/logs/requestlogging.cpp +++ b/src/logs/requestlogging.cpp @@ -45,6 +45,12 @@ void requestlogging::addEntry(RequestContext context) { << timeNow.replace(" ", "_") << endl << flush; // $time requestFile.close(); + + MainWindow::inst()->addResponse( + context.reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), + context.filename, + context.reply->url().toString(), + timeNow); } using requestlogging::LoggedRequest; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a4fa896..eaf6191 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -132,16 +132,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi QList requests = requestlogging::getRequests(); for (LoggedRequest req : requests) { - QString httpStatus = ioutils::httpString(req.getResponseCode()); - QTreeWidgetItem* tw = new QTreeWidgetItem({ QString::number(req.getResponseCode()) + " " + httpStatus, req.getFilename(), req.getUrl(), req.getTime() + " UTC" }); - - if(req.getResponseCode() >= 200 && req.getResponseCode() < 300) { - tw->setIcon(0, *(new QIcon(":/icons/checked.png"))); - } else { - tw->setIcon(0, *(new QIcon(":/icons/error.png"))); - } - - ui->treeWidget->addTopLevelItem(tw); + addResponse(req.getResponseCode(), req.getFilename(), req.getUrl(), req.getTime()); } } @@ -262,3 +253,16 @@ void MainWindow::openScreenshotFolder() { void MainWindow::setTrayIcon(QIcon icon) { tray->setIcon(icon); } + +void MainWindow::addResponse(int httpCode, QString filename, QString url, QString time) { + QString httpStatus = ioutils::httpString(httpCode); + QTreeWidgetItem* tw = new QTreeWidgetItem({ QString::number(httpCode) + " " + httpStatus, filename, url, time + " UTC" }); + + if(httpCode >= 200 && httpCode < 300) { + tw->setIcon(0, *(new QIcon(":/icons/checked.png"))); + } else { + tw->setIcon(0, *(new QIcon(":/icons/error.png"))); + } + + ui->treeWidget->addTopLevelItem(tw); +} \ No newline at end of file diff --git a/src/mainwindow.hpp b/src/mainwindow.hpp index 8b4c7e8..b18d86b 100644 --- a/src/mainwindow.hpp +++ b/src/mainwindow.hpp @@ -39,6 +39,7 @@ public: ~MainWindow(); bool valid(); void setTrayIcon(QIcon icon); + void addResponse(int httpCode, QString filename, QString url, QString time); RecordingController *controller = new RecordingController; QSystemTrayIcon *tray;