[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [atcore] testclient: Write log to file and allow user to save log.
From:       Chris Rizzitello <sithlord48 () gmail ! com>
Date:       2016-09-30 18:19:42
Message-ID: E1bq2PO-0003IZ-KZ () code ! kde ! org
[Download RAW message or body]

Git commit b66fd478ee8c19492989e3986f260eea4345af2c by Chris Rizzitello.
Committed on 30/09/2016 at 18:18.
Pushed by rizzitello into branch 'master'.

Write log to file and allow user to save log.

Signed-off-by: Chris Rizzitello <sithlord48@gmail.com>

M  +25   -3    testclient/mainwindow.cpp
M  +7    -1    testclient/mainwindow.h

http://commits.kde.org/atcore/b66fd478ee8c19492989e3986f260eea4345af2c

diff --git a/testclient/mainwindow.cpp b/testclient/mainwindow.cpp
index d2cd182..4b7484d 100644
--- a/testclient/mainwindow.cpp
+++ b/testclient/mainwindow.cpp
@@ -12,6 +12,7 @@ MainWindow::MainWindow(QWidget *parent) :
     QMainWindow(parent),
     core(new AtCore(this)),
     deviceNotifier(Solid::DeviceNotifier::instance()),
+    logFile(new QTemporaryFile(QDir::tempPath() + "/AtCore_")),
     ui(new Ui::MainWindow)
 {
     ui->setupUi(this);
@@ -23,6 +24,7 @@ MainWindow::MainWindow(QWidget *parent) :
     locateSerialPort();
 
     connect(ui->connectPB, &QPushButton::clicked, this, \
&MainWindow::connectPBClicked); +    connect(ui->saveLogPB, &QPushButton::clicked, \
                this, &MainWindow::saveLogPBClicked);
     connect(ui->sendPB, &QPushButton::clicked, this, &MainWindow::sendPBClicked);
     connect(ui->commandLE, &QLineEdit::returnPressed, this, \
                &MainWindow::sendPBClicked);
     connect(ui->homeAllPB, &QPushButton::clicked, this, \
&MainWindow::homeAllPBClicked); @@ -36,10 +38,12 @@ MainWindow::MainWindow(QWidget \
                *parent) :
     connect(ui->printPB, &QPushButton::clicked, this, &MainWindow::printPBClicked);
     connect(deviceNotifier, &Solid::DeviceNotifier::deviceAdded, this, \
                &MainWindow::locateSerialPort);
     connect(deviceNotifier, &Solid::DeviceNotifier::deviceRemoved, this, \
&MainWindow::locateSerialPort); +
 }
 
 MainWindow::~MainWindow()
 {
+    delete logFile;
     delete ui;
 }
 
@@ -65,17 +69,29 @@ QString MainWindow::sLogHeader()
 
 void MainWindow::addLog(QString msg)
 {
-    ui->logTE->appendPlainText(logHeader() + msg);
+    QString message(logHeader() + msg);
+    ui->logTE->appendPlainText(message);
+    logFile->open();
+    logFile->write(message.toLocal8Bit());
+    logFile->close();
 }
 
 void MainWindow::addRLog(QString msg)
 {
-    ui->logTE->appendPlainText(rLogHeader() + msg);
+    QString message(rLogHeader() + msg);
+    ui->logTE->appendPlainText(message);
+    logFile->open();
+    logFile->write(message.toLocal8Bit());
+    logFile->close();
 }
 
 void MainWindow::addSLog(QString msg)
 {
-    ui->logTE->appendPlainText(sLogHeader() + msg);
+    QString message(sLogHeader() + msg);
+    ui->logTE->appendPlainText(message);
+    logFile->open();
+    logFile->write(message.toLocal8Bit());
+    logFile->close();
 }
 
 void MainWindow::checkReceivedCommand()
@@ -238,3 +254,9 @@ void MainWindow::printPBClicked()
     }
 }
 
+void MainWindow::saveLogPBClicked()
+{
+    QString saveFileName = QFileDialog::getSaveFileName(this, tr("Save Log to \
file"), QDir::homePath() + "/Atcore-log.txt"); +    QFile::copy(logFile->fileName(), \
saveFileName); +
+}
diff --git a/testclient/mainwindow.h b/testclient/mainwindow.h
index 25e18d4..5b80f13 100644
--- a/testclient/mainwindow.h
+++ b/testclient/mainwindow.h
@@ -5,6 +5,7 @@
 
 #include <QMainWindow>
 #include <QSerialPort>
+#include <QTemporaryFile>
 
 #include <KF5/Solid/Solid/DeviceNotifier>
 
@@ -89,11 +90,17 @@ private slots:
      */
     void printPBClicked();
 
+    /**
+     * @brief Save the log file.
+     */
+    void saveLogPBClicked();
+
 private:
     Ui::MainWindow *ui;
     AtCore *core;
     QStringList serialPortList;
     Solid::DeviceNotifier *deviceNotifier;
+    QTemporaryFile *logFile;
 
     /**
      * @brief Locate serial port
@@ -149,5 +156,4 @@ private:
      * @param  msg: Message
      */
     void addSLog(QString msg);
-
 };


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic