Skip to content
This repository has been archived by the owner. It is now read-only.

Commit

Permalink
add log export
Browse files Browse the repository at this point in the history
  • Loading branch information
MPIBR-tushevg committed Jan 7, 2019
1 parent 0b72578 commit c434ef9
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 1 deletion.
30 changes: 29 additions & 1 deletion BrainATUMtome/eventlog.cpp
Original file line number Diff line number Diff line change
@@ -1,18 +1,43 @@
#include "eventlog.h"

EventLog::EventLog(QWidget *parent) : QPlainTextEdit (parent),
m_useTimestamp(true)
m_useTimestamp(true),
m_logFile(nullptr),
m_logStream(nullptr)
{

}

EventLog::~EventLog()
{
if (m_logFile != nullptr)
m_logFile->close();
}


void EventLog::setTimestamp(bool state)
{
m_useTimestamp = state;
}


void EventLog::open(const QString &pathExport)
{
QString fileName = "EventLog_" + QDateTime::currentDateTime().toString("yyyyMMdd_hhmmss") + "_BrainATUMtome.txt";
QString pathWrite = QDir(pathExport).filePath("logs");

// check path
QDir path(pathWrite);
if (!path.exists())
path.mkdir(pathWrite);

// open file for writing
m_logFile = new QFile(QDir(pathWrite).filePath(fileName));
m_logFile->open(QIODevice::WriteOnly | QIODevice::Text);
m_logStream = new QTextStream(m_logFile);
}


void EventLog::addMessageToBoard(const QString &message, QBrush brush)
{
QTextCharFormat textFormat = this->currentCharFormat();
Expand All @@ -36,4 +61,7 @@ void EventLog::on_log(const Qt::GlobalColor &color, const QString &message)
}

addMessageToBoard(logMessage, brush);

// write to fle
*m_logStream << logMessage << "\n";
}
9 changes: 9 additions & 0 deletions BrainATUMtome/eventlog.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
#include <QScrollBar>
#include <QDateTime>

#include <QDir>
#include <QFile>
#include <QTextStream>

#include <QDebug>

class EventLog : public QPlainTextEdit
Expand All @@ -15,10 +19,15 @@ class EventLog : public QPlainTextEdit

public:
explicit EventLog(QWidget *parent = nullptr);
~EventLog();

void setTimestamp(bool state);
void open(const QString &fileName);

private:
bool m_useTimestamp;
QFile *m_logFile;
QTextStream *m_logStream;
void addMessageToBoard(const QString &message, QBrush brush);

public slots:
Expand Down
16 changes: 16 additions & 0 deletions BrainATUMtome/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ MainWindow::MainWindow(QWidget *parent) :
ui->widget_board->on_log(Qt::red, "MainWindow :: provided INI file " + fileIni + " is not valid.");
m_settings = new QSettings(fileIni, QSettings::IniFormat);

configure_logs();
configure_epos();
configure_microtome();
configure_syringe();
Expand All @@ -38,6 +39,21 @@ MainWindow::~MainWindow()
}


void MainWindow::configure_logs()
{
QString pathExport;
if (m_settings->value("export/path").isNull()) {
ui->widget_board->on_log(Qt::red, "Logs :: export is falling back to default location");
pathExport = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
}
else {
pathExport = m_settings->value("export/path").toString();
}

ui->widget_board->open(pathExport);
}


void MainWindow::configure_epos()
{
if (m_settings->value("epos/deviceName").isNull()) {
Expand Down
2 changes: 2 additions & 0 deletions BrainATUMtome/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include <QMainWindow>
#include <QTimer>
#include <QFileInfo>
#include <QStandardPaths>
#include <QSettings>
#include <QDebug>

Expand Down Expand Up @@ -40,6 +41,7 @@ class MainWindow : public QMainWindow
int m_microtome_advanceRemaining;

void drive_epos_motor(int motorid, int velocity);
void configure_logs();
void configure_epos();
void configure_microtome();
void configure_syringe();
Expand Down
3 changes: 3 additions & 0 deletions config/settings.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[export]
path=/Users/tushevg/Desktop/export

[microtome]
#deviceName=LeicaEMUC7
#port=COM2
Expand Down

0 comments on commit c434ef9

Please sign in to comment.