MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_areaMode( Default ), m_extractor(new VideoExtractor() ), m_isHandleActived(true), m_isPlay(false), m_subImage(nullptr), m_subImageSource1(nullptr), m_subImageSource2(nullptr), m_subResults(nullptr), ui(new Ui::MainWindow) { ui->setupUi(this); ui->mdiArea->setMainWindow(this); connect(ui->actionQuitter, SIGNAL(triggered()), qApp, SLOT( quit() ) ); connect(ui->buttonPrevious, SIGNAL(clicked()), m_extractor, SLOT(previous())); connect(ui->buttonNext, SIGNAL(clicked()), m_extractor, SLOT(next())); ui->mdiAreaMode->addItem("Default", Default); ui->mdiAreaMode->addItem("Tabulation", Tabulation); ui->mdiAreaMode->addItem("Libre", Free); int max = 1<<(sizeof(int)*8-2) ; m_extractor->changeHandleParameters( new ComboBox("Traitement", VirtualHandle::getAllHandleName(), MainHandle), ui->parametersArea ); m_extractor->changePeriodeParameters( new Slider("Time", 200000000, 0, max) , ui->parametersArea ); /* obligatoire, à n'appeler qu'une unique fois et dans une fonction /!\ */ qRegisterMetaType<ImageDataPtr>("ImageDataPtr"); connect( m_extractor, SIGNAL(imageHandled(ImageDataPtr,ImageDataPtr,ImageDataPtr) ), this, SLOT(setImage(ImageDataPtr,ImageDataPtr,ImageDataPtr) ) ); connect( m_extractor, SIGNAL(streamFinished()), this, SLOT(playPause())); VideoReader * cam1 = new VideoReader(); cam1->useCamera(); //or FolderReader * cam1 = new FolderReader("img/"); m_extractor->useSource(cam1, 0); m_extractor->showParameters( ui->parametersArea ); ui->mdiAreaMode->setCurrentIndex( ui->mdiAreaMode->findData(m_areaMode) ); VirtualHandle::setView(ui->mdiArea); ui->sliderCurseur->setTracking(true); m_extractor->start(); updateSeek(); }
void LogLoader::init(qint64 &logSize) { readSettings(); logSize = getLogFileSize(); if(logSize >= 0) { emit pDebug("Log found."); emit pLog(tr("Log: Log found.")); if(logSize == 0) { emit pDebug("Log is empty."); emit pLog(tr("Log: Log is empty.")); } this->logSize = logSize; firstRun = true; updateTime = 1000; logWorker = new LogWorker(this, logPath); connect(logWorker, SIGNAL(newLogLineRead(QString, qint64)), this, SLOT(emitNewLogLineRead(QString, qint64))); connect(logWorker, SIGNAL(seekChanged(qint64)), this, SLOT(updateSeek(qint64))); connect(logWorker, SIGNAL(pLog(QString)), this, SIGNAL(pLog(QString))); connect(logWorker, SIGNAL(pDebug(QString,DebugLevel,QString)), this, SIGNAL(pDebug(QString,DebugLevel,QString))); QTimer::singleShot(1000, this, SLOT(sendLogWorker())); //Retraso para dejar que la aplicacion se pinte. } else { QSettings settings("Arena Tracker", "Arena Tracker"); settings.setValue("logPath", ""); emit pDebug("Log not found."); emit pLog(tr("Log: Log not found. Restart Arena Tracker and set the path again.")); QMessageBox::information((QMainWindow*)this->parent(), tr("Log not found"), tr("Log not found. Restart Arena Tracker and set the path again.")); } }
void LogLoader::init(qint64 &logSize) { readSettings(); logSize = getLogFileSize(); if(logSize >= 0) { emit pDebug("Log found."); emit pLog(tr("Log: Log found.")); if(logSize == 0) { emit pDebug("Log is empty."); emit pLog(tr("Log: Log is empty.")); } this->logSize = logSize; firstRun = true; updateTime = 1000; logWorker = new LogWorker(this, logPath); connect(logWorker, SIGNAL(newLogLineRead(QString, qint64)), this, SLOT(emitNewLogLineRead(QString, qint64))); connect(logWorker, SIGNAL(seekChanged(qint64)), this, SLOT(updateSeek(qint64))); connect(logWorker, SIGNAL(pLog(QString)), this, SIGNAL(pLog(QString))); connect(logWorker, SIGNAL(pDebug(QString,DebugLevel,QString)), this, SIGNAL(pDebug(QString,DebugLevel,QString))); QTimer::singleShot(updateTime, this, SLOT(sendLogWorker())); } else { QSettings settings("Arena Tracker", "Arena Tracker"); settings.setValue("logPath", ""); emit pDebug("Log not found."); emit pLog(tr("Log: Log not found. Restart Arena Tracker and set the path again.")); } }