#include "tracefiletab.h" #include "ui_tracefiletab.h" #include "queryeditor.h" #include "QFileInfo" #include "qmessagebox.h" #include #include TraceFileTab::TraceFileTab(QWidget *parent,const QString& path) : QWidget(parent), ui(new Ui::TraceFileTab) { ui->setupUi(this); this->path = path; initNavigatorAndItsDependentWidgets(path); setUpFileWatcher(path); ui->fileDescriptionEdit->setPlainText(navigator->GeneralTraceInfo().description); tracefileChanged(); } TraceFileTab::~TraceFileTab() { navigator->commitChangesToDB(); delete ui; } void TraceFileTab::initNavigatorAndItsDependentWidgets(QString path) { navigator = new TraceNavigator(path,this); ui->traceplot->init(navigator); ui->pornoTraceScroller->init(navigator, ui->traceplot); connect(this,SIGNAL(colorGroupingChanged(ColorGrouping)),ui->pornoTraceScroller,SLOT(colorGroupingChanged(ColorGrouping))); ui->selectedTransactionTree->init(navigator); //ui->debugMessages->init(navigator,ui->traceplot); ui->commentTree->init(navigator); } void TraceFileTab::setUpFileWatcher(QString path) { fileWatcher = new QFileSystemWatcher(QStringList(path),this); QObject::connect(fileWatcher,SIGNAL(fileChanged(QString)),this,SLOT(tracefileChanged())); } void TraceFileTab::tracefileChanged() { Q_EMIT statusChanged(QString("Last Database Refresh")); navigator->refreshData(); }