+
+void LogDock::handleNewLogEntry(QColor color, QString timestamp, QString level, QString message) {
+ int rowcount = rowCount();
+ insertRow(rowcount);
+ setItem(rowcount, 0, new QTableWidgetItem(timestamp));
+ setItem(rowcount, 1, new QTableWidgetItem(level));
+ setItem(rowcount, 2, new QTableWidgetItem(message));
+ item(rowcount, 0)->setBackground(color);
+ item(rowcount, 1)->setBackground(color);
+ item(rowcount, 2)->setBackground(color);
+ resizeColumnsToContents();
+
+ QTimer *timer = new QTimer(this);
+ timer->setSingleShot(true);
+
+ QObject::connect(timer, &QTimer::timeout, [=]() {
+ scrollToItem(item(rowcount, 2), QAbstractItemView::PositionAtTop);
+ });
+ timer->start(2);
+}