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

List:       kde-commits
Subject:    [atcore] testclient: logFile corrections
From:       Chris Rizzitello <sithlord48 () gmail ! com>
Date:       2016-09-30 18:19:42
Message-ID: E1bq2PO-0003IZ-MH () code ! kde ! org
[Download RAW message or body]

Git commit c604bad3cfff910369a77d5581732fbd813df003 by Chris Rizzitello, on behalf of \
Patrick José Pereira. Committed on 30/09/2016 at 18:18.
Pushed by rizzitello into branch 'master'.

logFile corrections

Append data in logFile
Change log name

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>

M  +21   -11   testclient/mainwindow.cpp
M  +7    -0    testclient/mainwindow.h

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

diff --git a/testclient/mainwindow.cpp b/testclient/mainwindow.cpp
index 4b7484d..6a76ec5 100644
--- a/testclient/mainwindow.cpp
+++ b/testclient/mainwindow.cpp
@@ -19,6 +19,7 @@ MainWindow::MainWindow(QWidget *parent) :
     QValidator *validator = new QIntValidator();
     ui->baudRateLE->setValidator(validator);
     ui->baudRateLE->setText("115200");
+    logFile->setAutoRemove(false);
     addLog(tr("Attempting to locate Serial Ports"));
 
     locateSerialPort();
@@ -67,31 +68,38 @@ QString MainWindow::sLogHeader()
     return QString("[%1]> ").arg(getTime());
 }
 
+void MainWindow::writeTempFile(QString text)
+{
+    /*
+    A QTemporaryFile will always be opened in QIODevice::ReadWrite mode,
+    this allows easy access to the data in the file. This function will
+    return true upon success and will set the fileName() to the unique
+    filename used.
+    */
+    logFile->open();
+    logFile->write(text.toLocal8Bit());
+    logFile->putChar('\n');
+}
+
 void MainWindow::addLog(QString msg)
 {
     QString message(logHeader() + msg);
     ui->logTE->appendPlainText(message);
-    logFile->open();
-    logFile->write(message.toLocal8Bit());
-    logFile->close();
+    writeTempFile(message);
 }
 
 void MainWindow::addRLog(QString msg)
 {
     QString message(rLogHeader() + msg);
     ui->logTE->appendPlainText(message);
-    logFile->open();
-    logFile->write(message.toLocal8Bit());
-    logFile->close();
+    writeTempFile(message);
 }
 
 void MainWindow::addSLog(QString msg)
 {
     QString message(sLogHeader() + msg);
     ui->logTE->appendPlainText(message);
-    logFile->open();
-    logFile->write(message.toLocal8Bit());
-    logFile->close();
+    writeTempFile(message);
 }
 
 void MainWindow::checkReceivedCommand()
@@ -256,7 +264,9 @@ void MainWindow::printPBClicked()
 
 void MainWindow::saveLogPBClicked()
 {
-    QString saveFileName = QFileDialog::getSaveFileName(this, tr("Save Log to \
file"), QDir::homePath() + "/Atcore-log.txt"); +    // Note that if a file with the \
name newName already exists, copy() returns false (i.e. QFile will not overwrite it). \
+    QString fileName = QDir::homePath() + "/" + \
QFileInfo(logFile->fileName()).fileName(); +    QString saveFileName = \
QFileDialog::getSaveFileName(this, tr("Save Log to file"), fileName);  \
                QFile::copy(logFile->fileName(), saveFileName);
-
+    logFile->close();
 }
diff --git a/testclient/mainwindow.h b/testclient/mainwindow.h
index 5b80f13..071ea73 100644
--- a/testclient/mainwindow.h
+++ b/testclient/mainwindow.h
@@ -116,6 +116,13 @@ private:
     QString getTime();
 
     /**
+     * @brief Append text in temporary file
+     *
+     * @param text
+     */
+    void writeTempFile(QString text);
+
+    /**
      * @brief Normal header
      *
      * @return QString


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

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