]> git.siccegge.de Git - frida/frida.git/blobdiff - src/gui/widgets/LogDockAppender.cxx
Make LogDock and LogDockAppender communicate by signals
[frida/frida.git] / src / gui / widgets / LogDockAppender.cxx
index 321860afb3313126060f68399d8b41987eb1bf5f..a0db7a4140f8fe9319706e681c4bd32ebef26ef7 100644 (file)
@@ -42,28 +42,9 @@ void LogDockAppender::append(const spi::LoggingEventPtr& event, Pool& p) {
        } else if (log4cxx::Level::getTrace() == event->getLevel()) {
                rowcolor.setRgb(0xee, 0xff, 0xee);
        }
-
-       int rowcount = target->rowCount();
-       target->insertRow(rowcount);
-       target->setItem(rowcount, 0, new QTableWidgetItem(timestampencode.c_str()));
-       target->setItem(rowcount, 1, new QTableWidgetItem(event->getLevel()->toString().c_str()));
-       target->setItem(rowcount, 2, new QTableWidgetItem(messageencode.c_str()));
-       target->item(rowcount, 0)->setBackground(rowcolor);
-       target->item(rowcount, 1)->setBackground(rowcolor);
-       target->item(rowcount, 2)->setBackground(rowcolor);
-       target->resizeColumnsToContents();
-
-       QTimer *timer = new QTimer(target);
-       timer->setSingleShot(true);
-
-       QObject::connect(timer, &QTimer::timeout, [=]() {
-                       target->scrollToItem(target->item(rowcount, 2), QAbstractItemView::PositionAtTop);
-               });
-       timer->start(10);
-}
-
-void LogDockAppender::setTarget(LogDock *target) {
-       this->target = target;
+       emit newLogEntry(rowcolor, timestampencode.c_str(),
+                        event->getLevel()->toString().c_str(),
+                        messageencode.c_str());
 }
 
 void LogDockAppender::close() {